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

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

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

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

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

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

Особенно это важно в случае больших языков или семейств языков сосложной метамоделью, таких как UML, и поэтому первый пример, которыйнеобходимо рассмотреть в этом разделе — языковая инфраструктура языка UML,пожалуй, самого известного на данный момент визуального языка программирования.Стандарт UML версии 2.4.1 разбит на две части: UML Infrastructure [92] иUML Superstructure [93]. Язык задаётся посредством метамодели, метамодельорганизована в соответствии с принципами модульности, расширяемости и переиспользуемости. За счёт этого на базе метамодели UML оказалось возможнымопределить ещё несколько стандартов, например, язык проектирования крупныхсистем SysML [61] (не только программных или аппаратных), язык моделирования метаданных для различных видов хранилищ данных CWM [58].

Метаязык,на котором описывается метамодель UML, описан в терминах самого метаязыкаи является частью стандарта UML (авторам стандарта пришлось приложитьнекоторые усилия, чтобы избежать циклических ссылок). Используется четырёхуровневая иерархия метаописаний, где на нулевом уровне находятся данныевремени выполнения, на первом уровне — модель, созданная пользователем,на втором уровне — метамодель UML, на третьем уровне — метаметамодельметаязыка, на котором задан UML (MOF [59]). Пример уровней метаописанийприведён на рисунке 2.1, взятом из [92].Интересно то, что некоторые сущности языка UML существуют одновременнона нескольких уровнях метаописаний, например, классификаторы (абстракцияспособа классификации экземпляров) являются, с одной стороны, базой дляопределения понятия «класс» диаграммы классов (на уровне метамодели UML),с другой стороны, они же служат базой для определения классов и отношенийв самом метаязыке (в пакете Core::Constructs).

Кроме того, в стандарте UMLопределена только та часть метаязыка MOF, которая нужна для описания метамодели UML, сам MOF определяется отдельным стандартом, так что формальноневерно то, что UML определён с помощью MOF. Всё это делает метамодель UMLвесьма запутанной, сложной для изучения и для переиспользования при созданиипредметно-ориентированных языков.53Рис.

2.1: Иерархия метаописаний UML, из [92].Поэтому язык UML включает в свой стандарт механизм легковесного расширения, называемый профилями. Профили позволяют расширить существующиеметаклассы из метамодели UML, чтобы адаптировать язык под нужды конкретнойпредметной области. Достигается это путём определения стереотипов — «ограниченных» метаклассов, которые могут быть применены к уже существующимметаклассам для того, чтобы дополнить их новыми свойствами или поменять ихизображение. Например, метакласс «класс» может быть расширен стереотипом«часы», имеющим свойства «количество кнопок», «тип прошивки» и специальную иконку для отображения.

Генераторы, умеющие работать с определённымпрофилем, могут, во-первых, различать метаклассы с разными стереотипами, вовторых, использовать их дополнительные атрибуты. Благодаря этому можно довольно простым и стандартным образом описывать предметно-ориентированныеязыки на базе UML. Однако же, профили позволяют только расширить язык UML,и сложность языка при использовании профилей всё равно сохранится. Вместе стем, профили не позволяют определять новые сущности в метамодели. Профили,тем не менее, активно используются для генерации полного исходного кода, в томчисле, в рамках подхода MDA [66].В работе Аткинсона и Кюне [4] приводится критика подхода, применённогов разработке UML, основанная на том, что четырёхуровневая архитектура ме-54тауровней не делает разницы между отношениями «является лингвистическимэкземпляром» и «является онтологическим экземпляром».

Например, объектявляется экземпляром класса онтологически (то есть по смыслу), но формальнодиаграммы объектов и диаграммы классов не связаны. UML использует однои то же отношение instanceOf как для обозначения того, что некоторая модельявляется экземпляром метамодели (лингвистическая связь), так и сугубо науровне модели, для обозначения того, что объект является экземпляром класса.Авторы предлагают явно разделить эти два варианта отношения instanceOf,и ввести кроме лингвистической понятие онтологической метамодели.

Такимобразом, фактически, получится обобщение механизма профилей, позволяющееболее адекватно выражать отношения предметной области. В качестве примераавторы приводят зоологическую классификацию животного мира: класс «Колли»является наследником класса «Собака», при этом онтологическим экземпляромкласса «Порода». Класс «Собака» является онтологическим экземпляром класса«Вид». И «Порода», и «Вид» — онтологические экземпляры класса «Биологический ранг».Идеи Кюне и Аткинсона были реализованы в системе MetaDepth [103, 104].Платформа позволяет описывать только текстовые предметно-ориентированныеязыки, что не позволяет нам рассматривать её в обзоре вместе с другими DSMплатформами, но упоминания здесь она всё же заслуживает.

Система позиционируется как платформа для «глубокого метамоделирования» и предназначенапрежде всего для создания метамоделей предметно-ориентированных языков сиспользованием как лингвистического, так и онтологического инстанциирования.Описываемый язык может иметь произвольное количество метауровней (непросто «метаязык-метамодель-модель», как в UML, а серия моделей, каждая изкоторых может быть моделью, описанной на языке более высокого метауровня,и одновременно метамоделью для более низкого метауровня). Такой подходпозволяет естественно выражать отношения «тип-экземпляр», возникающие,например, между диаграммами классов и диаграммами объектов в UML. Метамодель задаётся в текстовой форме, имеются средства для описания конкретногосинтаксиса языков, ограничений и трансформаций моделей, все они учитываютто, что иерархия метамоделей «глубокая».

Авторы приводят примеры нескольких55предметно-ориентированных языков, построенных по такому принципу, имеетсяработающий прототип системы в свободном доступе.2.3. Создание визуальных языков в существующихDSM-платформахОбзор существующих аналогов построен по следующему принципу: длякаждой DSM-платформы приводится её краткое описание, затем описываются еёвозможности по созданию визуальных языков и инструментальных средств дляних в соответствии со следующими критериями:• Тип метаязыка (свой, сущность-связь, какой-либо из стандартных);• Наличие метаредактора, его тип (текстовый или визуальный);• Наличие и тип средств задания конкретного синтаксиса;• Наличие средств задания ограничений на модели;• Наличие средств задания правил генерации;• Наличие средств задания рефакторингов и трансформаций моделей;• Наличие средств задания семантики интерпретации визуального языка;• Наличие средств обеспечения совместной эволюции модели и метамодели.Также для каждой платформы приводится описание предполагаемой этойплатформой методики создания визуального языка.2.3.1.

Платформа MetaEdit+Наиболее зрелой и известной на данный момент DSM-платформой, на нашвзгляд, является среда MetaEdit+, разрабатываемая финской компанией MetaCase,на базе научного проекта University of Jyvaskyla. Среда MetaEdit, из которойразвилась среда MetaEdit+, создавалась с 1988 года, впоследствии была существенно переработана, и сейчас она (точнее, MetaEdit+) — успешный коммерческий проект, имеющий десятки внедрений и активно публикующийся по своим56результатам [36, 42, 89, 90].

Впрочем, исходный код системы закрыт, а лицензиядовольно дорогая, что делает затруднительным переиспользование результатовпроекта для дальнейших исследований другими научными группами.Система состоит из двух компонент: MetaEdit+ Workbench и MetaEdit+Modeler. Первая предназначена для создания предметно-ориентированных визуальных языков, вторая — для их использования. В качестве метаязыка системаиспользует собственный язык GOPPRR.

Его название образовано первыми буквами основных понятий, в нём используемых: граф (graph), объект (object), свойство(property), порт (port), отношение (relation), роль (role). Граф служит для представления модели (или диаграммы), в графе могут содержаться объекты, отношенияи роли. Объект — это сущность предметной области (вершина графа), отношениесвязывает два или несколько объектов, при этом отношения соединяются собъектами с помощью ролей. Например, отношение наследования может иметьроли «предок» и «потомок», роль «предок» рисуется в виде линии с треугольником на конце, роль «потомок» в виде простой линии, а само отношение (этоможет показаться неинтуитивным) не визуализируется.

Роли могут соединятьсяс самими объектами, а могут соединяться с портами — специальными областямивнутри объектов, которые различаются генераторами и нужны, если одна и та жероль может иметь разные значения в зависимости от того, к какой части объектаподключена. Так, например, удобно моделировать различные приборы: объект«Усилитель» может иметь аналоговый вход, цифровой вход и аналоговый выход.Свойства — это некоторые характеристики (вида «имя»-»значение»), которымимогут обладать все остальные понятия. Кроме этого, в метаязыке присутствуютпонятия Binding (связывает отношения, роли и объекты), Object set (множествообъектов, играющее одну роль, например, в Binding-е), Inheritance (отношениенаследования между метатипами), Decomposition (возможность задать раскрытиекакого-либо объекта в подграф, например, класс, раскрывающийся в диаграммуавтоматов) и Explosion (возможность связывать объекты, отношения или роли сдругими графами).Предлагаемая этой DSM-платформой методика создания языка такова: сначала определяются основные концепции языка (сущности и связи), затем задаютсяограничения, определяются графические символы для концепций, затем определяются правила генерации.

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