Диссертация (Методы и средства разработки графических предметно-ориентированных языков), страница 5

PDF-файл Диссертация (Методы и средства разработки графических предметно-ориентированных языков), страница 5 Технические науки (46565): Диссертация - Аспирантура и докторантураДиссертация (Методы и средства разработки графических предметно-ориентированных языков) - PDF, страница 5 (46565) - СтудИзба2019-06-29СтудИзба

Описание файла

Файл "Диссертация" внутри архива находится в папке "Методы и средства разработки графических предметно-ориентированных языков". PDF-файл из архива "Методы и средства разработки графических предметно-ориентированных языков", который расположен в категории "". Всё это находится в предмете "технические науки" из Аспирантура и докторантура, которые можно найти в файловом архиве СПбГУ. Не смотря на прямую связь этого архива с СПбГУ, его также можно найти и в других разделах. , а ещё этот архив представляет собой кандидатскую диссертацию, поэтому ещё представлен в разделе всех диссертаций на соискание учёной степени кандидата технических наук.

Просмотр PDF-файла онлайн

Текст 5 страницы из PDF

Обычно используется какой-либо текстовый языкна основе XML2 для записи свойств элементов модели. Существует стандартный язык XMI (Xml Metadata Intercharge, [62]3 ), стандартизованный группойOMG [60], который позволяет стандартным (и следовательно, переносимым)способом сериализовать визуальные модели на UML и подобных языках. Этотстандарт позволяет вместе с диаграммой на визуальном языке хранить и описаниеэтого языка, что даёт возможность обмениваться моделями между инструментами, поддерживающими XMI, даже если они не поддерживают тот язык, накотором нарисована диаграмма.

XMI не стандартизует аспекты, связанные сконкретным синтаксисом языка, таким образом, модель может передаватьсямежду инструментами, а диаграммы по этой модели в каждом инструменте,скорее всего, придётся строить заново.23Extensible Markup Language. Стандарт 1.0, URL: http://www.w3.org/TR/REC-xml/ (дата обращения 21.08.2014г.).также XMI стандартизован ISO как стандарт ISO/IEC 19503:200523Следует отметить, что такое разделение синтаксиса на виды применимо и ктекстовым языкам.

Абстрактный синтаксис характеризует структуру программыи определяет абстрактное синтаксическое дерево, которое строит компилятор, безпривязки к конкретным лексемам. Конкретный синтаксис — это запись лексемязыка, например, лексема начала блока операторов в языке может выглядеть как«{», а может как «begin». Абстрактное синтаксическое дерево в том и в другомслучае выглядит одинаково, но вид программы будет разный. Особый служебныйсинтаксис текстовым языкам, как правило, не нужен, программы на них хранятсятак же, как и изображаются, обычным текстом.Семантика языка определяет значение его конструкций, то есть, в случаевизуальных языков программирования, то, как будет интерпретироваться визуальная модель или какой код будет по ней сгенерирован.

Способов задания семантики много, наиболее часто встречаются денотационная семантика (заданиесемантики языковых конструкций через отображение их в некоторые объектыс уже определённой семантикой) и операционная семантика (определение формальных преобразований над конструкциями языка, которые и определяют процесс вычислений). На практике используются разные способы задания семантикивизуальных языков, их рассмотрение выходит за рамки данной работы.Прагматика описывает взаимодействие языка и его пользователя.

Это понятие никак не формализуется, и обычно прагматика языка определяется простоисходя из здравого смысла его автора. Тем не менее, существуют и довольнообширные научные исследования в области удобства использования визуальныхязыков, например, [127].1.3.2. Уровни моделированияАбстрактный синтаксис языка — наиболее важный подвид синтаксиса с точкизрения различных инструментов, поэтому он должен быть описан максимальноформально. Для его описания обычно используется метамоделирование — техника, при которой синтаксис визуального языка описывается с помощью некоторогодругого, как правило, визуального языка, называемого метаязыком.

Модельна метаязыке, специфицирующая синтаксис языка, называется метамодельюэтого языка. Связь между моделями и метамоделями проиллюстрирована нарисунке 1.1.24Рис. 1.1: Метауровни визуальных языков.Предметная область — это то, что мы моделируем, те объекты или явленияреального мира, с которыми будет работать создаваемое программное обеспечение. Предметная область просто существует и сама по себе никак не описывается,любое её описание её упрощает, а значит, будет её моделью. В нашем примеремы хотим создать программу — каталог фильмов, предметная область для такойпрограммы будет включать в себя фильмы и всё, что с ними связано — актёров,режиссёра, кассовые сборы, где и когда фильм снимался и т.д. и т.п.

Большая частьэтой информации для наших целей не нужна.25Модель — это некое упрощение предметной области, нужное для выполнениятам некоторых полезных действий. Предметная область, как правило, обладаетбесконечным многообразием, и работать со всеми её свойствами невозможно.В нашем примере про каталог фильмов нас не интересуют, например, всекинотеатры, где показывали фильм, нам интересен только тот ограниченныйобъём информации, с которым будет работать создаваемая программа.

Длясоздания модели уже используется некий язык. Если это неформальное описаниепредметной области, в качестве языка может выступать естественный язык, еслиэто некая диаграмма, она будет рисоваться на некоем визуальном языке. Длянашего примера был использован некий сильно упрощённый вариант языкадиаграмм классов UML.Метамодель — это описание визуального языка, то есть множества всехсинтаксически корректных диаграмм на этом языке, с помощью некоего другоговизуального языка. Этот язык называется метаязыком и описывает множествовсех элементов моделируемого языка и возможные связи между ними. Каждыйэлемент диаграммы на визуальном языке является экземпляром некоторой сущности, описанной в метамодели на метаязыке.

В нашем примере для моделированияпредметной области был использован очень простой язык с сущностями «класс»и «атрибут», и одной связью, которая может только связывать два класса и большеникакой информации не содержит. Атрибут «Название» на диаграмме классовявляется экземпляром сущности «Атрибут» в метамодели.Метаметамодель — это метамодель метаязыка, то есть визуальная модель,которая задаёт множество допустимых метамоделей. Имея такую формализациюметаязыка, можно создавать инструменты, которые позволяют разрабатыватьметамодели для произвольных визуальных языков.

Интересно, что термин «метаметаязык» как язык, который используется для создания метаметамодели, нетребуется — метаязык сам по себе является визуальным языком и поэтому,если он достаточно выразителен, может быть использован для создания своейсобственной метамодели. Такой подход, в частности, применён в стандартеUML — сначала вводится метаязык в терминах самого себя (при этом авторамстандарта пришлось приложить некоторые усилия, чтобы избежать круговыхзависимостей в определении), затем с его помощью описывается метамодельUML. В нашем примере метаязык очень прост, состоит из сущностей, называемых26в метаметамодели «узлами», и связей. Связи здесь более сложные, чем в языке,потому что мы хотим использовать множественность для задания дополнительных ограничений на модели.

Например, у класса может быть сколько угодноатрибутов, но у атрибута может быть только один класс.Проводя аналогию с текстовыми языками, модель можно сопоставить программе на текстовом языке, метамодель — описанию грамматики языка (например, с помощью формы Бэкуса-Наура), метаметамодель — описанию синтаксиса формализма, используемого для описания грамматики (например, описаниесинтаксиса форм Бэкуса-Наура, которое тоже можно выполнить с помощьюформ Бэкуса-Наура).

Заметим, что метаязыков может быть много, ведь синтаксистекстовых языков может быть описан с помощью различных формальных систем, например, с помощью различных языков описания синтаксиса генераторовсинтаксических анализаторов, используемых для разработки компилятора этогоязыка. С визуальными языками ситуация аналогична.1.4. Предметно-ориентированное моделирование1.4.1. Понятие предметно-ориентированного моделированияФормализмы для задания синтаксиса визуальных языков позволяют эффективно создавать новые визуальные языки.

Это оказывается полезно не толькомеждународным группам, занимающимся стандартизацией широко распространённых языков визуального моделирования, но и небольшим группам разработчиков, создающим визуальные языки для своих проектов. Оказалось, чтоиногда создать специальный язык и решить на нём поставленную задачу можнопроще и эффективнее, чем решать задачу на языке общего назначения. Особенноэто верно в том случае, если имеется набор похожих задач, которые можнорешать с помощью одного и того же языка. Такой подход получил названиепредметно-ориентированное моделирование (Domain-Specific Modeling, DSM).Основной принцип данного подхода состоит в том, что выбирается достаточноузкая предметная область или даже одна задача, конкретно для неё создаётсясвой язык (предметно-ориентированный язык, или Domain-Specific Language,DSL), и дальше задачи решаются уже на нём. Поскольку предметная область узка,то средства инструментальной поддержки созданного языка могут использовать27знания о предметной области, что позволяет, в частности, добиться полнойкодогенерации.

Кроме того, разработчики, использующие язык, работают втерминах, максимально приближенных к предметной области, так что программыполучаются простыми и понятными даже людям, далёким от программирования.Требуются некоторые начальные инвестиции в анализ предметной области иразработку инструментальных средств, но в результате они могут окупитьсязначительным повышением эффективности труда разработчиков, реализующихс помощью этих инструментальных средств прикладные программы.Получаемые благодаря применению этого принципа преимущества по сравнению с использованием языков общего назначения таковы.• Программирование ведётся в терминах предметной области, вся рутиннаяработа выполняется инструментальными средствами, что значительно повышает эффективность труда разработчиков.• Узость выбранной предметной области позволяет обеспечить полную генерацию кода по описаниям на предметно-ориентированном языке.

Генераторобладает знаниями о предметной области и использует их, чтобы преодолеть семантический разрыв — сама программа остаётся простой, генератортоже может быть устроен довольно просто, но всё вместе позволяет сгенерировать любую нужную программу.• Наличие полной кодогенерации позволяет разработчикам вообще не работать с кодом. Основным артефактом, с которым ведётся работа, являются модели на предметно-ориентированном языке, разработчики могутдаже не догадываться о том, что их программы генерируются в код натекстовом языке.

Иногда предметно-ориентированное решение устроенотак, что генерация в текстовый язык и не требуется (например, моделиинтерпретируются). При этом отладка, рефакторинг версионный контрольи прочая подобная деятельность ведётся на уровне моделей.• Полная кодогенерация позволяет избежать ошибок кодирования, единственным источником синтаксических ошибок в сгенерированном коде могутбыть ошибки в генераторе. При этом исправления и улучшения генераторабудут автоматически применимы ко всем программам, его использующим28— это касается как синтаксических ошибок, так и некоторой части семантических ошибок, связанных с неверным пониманием предметной области разработчиками DSM-решения.

Ошибки в результирующий код могутпривнести пользователи DSM-решения, создавая некорректные модели, нопоскольку инструментальные средства «знают» про предметную область,возможно создание верификаторов, проверяющих и семантические ошибкив моделях прямо в процессе моделирования.Естественным образом получается разделение труда между специалистами,создающими инструментальные средства, и специалистами, их использующими.Первая группа должна состоять из весьма квалифицированных специалистов,но весьма небольшого их числа, поскольку создать инструментальные средстватребуется лишь единожды. Вторая группа может состоять из людей, дажевообще не владеющих программированием, и их обычно оказывается гораздобольше, чем разработчиков инструментальных средств. Поскольку предметноориентированный язык работает в терминах, близких к предметной области,программирование на нём могут осуществлять даже конечные пользователи.Всё это, по ряду оценок (см., например, [23, 35, 107]) увеличивает эффективность труда разработчиков от трёх до десяти раз, поэтому предметноориентированное моделирование — интересная область для исследований.Существуютширокораспространённыетекстовыепредметно-ориентированные языки, успех которых подтверждает сделанные в этом разделезаявления.

Свежие статьи
Популярно сейчас
А знаете ли Вы, что из года в год задания практически не меняются? Математика, преподаваемая в учебных заведениях, никак не менялась минимум 30 лет. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
5224
Авторов
на СтудИзбе
426
Средний доход
с одного платного файла
Обучение Подробнее