Помощь в написании студенческих работ
Антистрессовый сервис

Обзор методов и средств разработки предметно-ориентированных языков

РефератПомощь в написанииУзнать стоимостьмоей работы

В общем случае DSL языки могут быть как текстовыми, так и визуальными. Первые позволяют описывать модель в текстовом виде, а вторые — в графическом. Однако наиболее распространенными являются визуальные DSL, по причине того, что диаграммы обладают большей наглядностью и понятностью не только для программистов, но и для экспертов в предметной области и другим пользователям системы. Такой подход… Читать ещё >

Обзор методов и средств разработки предметно-ориентированных языков (реферат, курсовая, диплом, контрольная)

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

При создании предметно-ориентированного языка целесообразно пользоваться подходящими языковыми инструментариями, или DSM-платформами, предназначенными для их проектирования, редактирования и анализа. Другими слова, DSM-платформа — инструментальное программное обеспечение, служащее для поддержки разработки и сопровождения языков предметной области.

Наиболее существенным достоинством DSM-платформы является то, что такие инструментальные средства облегчают процесс создания языков моделирования, а также существенно упрощают процедуру внесения изменений в уже имеющиеся DSL. Пользователю не придется разбираться в коде языка, он сможет просто изменить описание DSL в DSM-платформе. Кроме того, существует возможность интеграции в одной системе сразу нескольких DSL, так как при задании ограничений на объекты предметной области и описании бизнес-процессов используются совершенно разные языки.

На сегодняшний день известен ряд зарубежных и отечественных систем, предназначенных для разработки графических редакторов предметно-ориентированного языка с возможностью определения собственных графических нотаций. В основе этих систем находятся различные формализмы описания знаний, разнообразные модели понятий и отношений, а также разные методы обработки знаний.

Ниже представлен перечень наиболее развитых на данный момент и наиболее часто встречаемых DSM-платформ:

  • — MetaEdit+ является инструментальным средством CASE-системы, разработанной компанией MetaCase (Финляндия), предназначенным для создания языка моделирования и генераторов, а также с наличием среды разработки систем с поддержкой возможности использования собственных языков моделирования, генераторов кода и документации [32].
  • — Microsoft Tools for Domain-Specific Languages (MS DSL Tools) позволяет создавать собственные визуальные языки моделирования, а также строить для них графические редакторы. DSL используется исключительно как составная часть Microsoft VS, вне которой ни DSL, ни редактор использовать нельзя [29].
  • — Eclipse Graphical Modeling Framework (GMF) предназначена для создания графических средств, то есть для визуальных DSL, интегрируемых непосредственно в среду Eclipse. Архитектура DSL строится на основе шаблона MVC (model — view — controller). Модели разрабатываются при помощи технологии EMF, а для создания уровней представления и контроллера используется технология GEF [29].
  • — State Machine Designer является исследовательской разработкой по созданию инструментов для описания DSL, созданный на основе DSM-платформы DSL Tools. Данное инструментальное средство было предложено Санкт-Петербургским государственным университетом информационных технологий механики и оптики на кафедре Компьютерных технологий.
  • — Технология REAL-IT предназначена для быстрой разработки (моделирования и автоматической генерации) приложений, бизнес-логика которых целиком обуславливается схемой данных. В этом случае все целевое приложение является только средством заполнения и редактирования данных.
  • — Qreal, разрабатываемая на кафедре системного программирования Санкт-Петербургского государственного университета, изначально должна была быть развитием REAL-IT, основывающимся на использовании новой версии языка UML 2.0 и удовлетворяющим требованиям многоплатформенности. Однако в систему были включены элементы метамоделирования, что позволило упростить процесс создания новых редакторов [33].
  • — UFO-toolkit — DSM-платформа, позволяющая проводить системно-объектный анализ с применением концептуальных классификационных моделей. К преимуществам данного инструментального средства можно отнести возможность взаимосвязанного представления структуры, состава элементов и функций моделируемых систем; имитирования функционирования системы на основе объектной модели; учета семантики предметной области и семантического взаимодействия с инструментарием.
  • — Meta Programming System разработка компанией JetBrains и используется совместно со средой разработки Java-приложений Intellij-IDEA. Отличительной особенность данной системы является тот факт, что технология Meta Programming System — мощный инструмент для текстового проектирования языка при помощи таких инструментальных средств как язык структуры, язык редактирования, базовый язык и язык шаблонов [29].

Для выбора системы построения предметно-ориентированного языка описания структуры и содержания электронных документов необходимо выполнить сравнительный анализ существующих. Критериями сравнений будут являться:

  • — динамическое изменение описания метамоделей;
  • — средства описания метамодели;
  • — возможность модификации метаязыка;
  • — создание визуальных DSL;
  • — создание текстовых DSL;
  • — средства «ручной» доработки DSL;
  • — изменение графического редактора для работы с DSL;
  • — генерация;
  • — трансформация моделей;
  • — интеграция нескольких DSL;
  • — отчуждаемость DSL от DSM-платформы.

Результаты анализа представлены в таблице 1.2, демонстрируя, что каждая из рассмотренных технологий обладает как своими сильными сторонами, так и слабыми по сравнению с другими системами:

Таблица 1.2. Сравнительный анализ технологий создания предметно-ориентированного языка.

MetaEdit+.

MS Tools,.

State Machine Designer.

Eclipse.

GMF.

MPS.

REAL-IT.

UFO-toolkit.

Динамическое изменение создаваемых метамоделей.

;

;

;

;

;

Средства описания метамодели.

GOPRR.

UML-диаграммы классов.

UML, MetaGME.

Языки: структуры, редактора, базовый.

Расширение.

UML-диаграмм классов.

Язык UFO-элементов.

Возможность модификации метаязыка.

;

;

;

;

;

Создание визуальных DSL.

;

Создание текстовых.

DSL.

;

;

;

;

;

Наличие средств «ручной» доработки DSL.

;

;

Возможность изменения графического редактора для работы с DSL.

;

;

;

Генерация.

Код, документ-ия.

Исходный код.

Исходный код.

Исходный код.

Исходный код.

Код, док-ия.

Возможность горизонтальной трансформации моделей.

;

;

;

;

;

;

Интеграция нескольких DSL.

;

;

Отчуждаемость DSL от DSM-платформы.

;

;

;

;

;

;

Эти же данные можно представить в более понятном виде, если применить оценочную шкалу (Приложение B). Для удобства было принято решение использовать двухбалльную шкалу: 0 — отсутствие, 1- присутствие критерия.

Очевидно, что каждая из представленных технологий имеет несомненные достоинства. Так, например, MetaEdit+, в отличие от других технологий, позволяет вносить изменения в описание DSL во время работы системы и модифицировать метаязык. Кроме того, данный инструментарий, как и DSL Tools, Eclipse GMF и Meta Programming System, позволяет интегрировать несколько языков в одной системе.

Технология DSL Tools помимо визуального редактора метамоделей предоставляет в распоряжение пользователя среду программирования MS Visual Studio. Благодаря интеграции с MS Visual Studio существует возможность «ручной» доработки кода на языках высокого уровня.

Однако, основываясь на результатах анализа данной таблица, ни одна из рассмотренных выше технологий не позволяет производить трансформацию созданных моделей. Отсутствие встроенных компонентов трансформации моделей ограничивает пользователей в выборе языка моделирования, а также не позволяет им разрабатывать ИС на нескольких DSM-платформах.

Более того, к недостаткам данных систем можно отнести то, что разработанные предметно-ориентированные языки не могут быть использованы в сторонних приложениях. Технологии DSL Tools, Eclipse GMF, MPS сильно связаны с платформами разработки — MS Visual Studio, Eclipse, IntelliJ-IDEA соответственно. В случае с системой MetaEdit+ для экспорта моделей используется свой собственный формат файлов MXM, который отличается от общепринятого стандарта XML, что значительно сказывается на открытости данной технологии и не позволяет использовать разработанные модели в других CASE_инструментариях.

Разнообразие систем создания предметно-ориентированного языка делает сложным их непосредственное сравнение, поэтому выбирать подходящую систему лучше ориентируясь на конкретную поставленную задачу.

Для разрабатываемого предметно-ориентированного языка описания структуры и содержания электронных документов было принято решение использовать систему MetaEdit+ по причине возможности вносить изменения в описание DSL во время работы системы благодаря использованию подхода, основанного на интерпретации метамоделей, а не на генерации. Система позволяет работать как с языками, так и с метаязыками единообразно, используя один и тот же инструментарий. Кроме того, в данном средстве для разработки графических редакторов возможно создание собственных визуальных DSL, а также изменения графического редактора и интеграции нескольких DSL. Несомненным достоинством также является возможность построения новых метамоделей на основе существующих, другими словами создание иерархий моделей.

Показать весь текст
Заполнить форму текущей работой