понедельник, 21 ноября 2016 г.

ESON - универсальный текстовый DSL для создания любых моделей

Создание моделей с использованием диаграмм или иерархических редакторов модели не всегда удобно и производительно. Для быстрого создания моделей может быть разработан текстовый DSL с использованием технологии XText. Но это требует некоторых усилий. Оказывается для создания любых моделей с помощью текстового DSL можно использовать универсальный DSL под названием ESON.

ESON - текстовый DSL на базе Xtext, который позволяет создавать модели для любых мета-моделей, будь-то UML2, Capella или собственная мета-модель.

Как всегда, использованием универсальной текстовой нотации менее наглядно и выразительно, чем при использовании специализированной текстовой нотации. Но в каких-то случаях и универсальная нотация сгодится.

ESON  от EMF Single Object Notation (по аналогии с JSON)
Ниже пример создания модели на языке Capella с использование текстового языка ESON.
Как обычно для текстовых редакторов DSL на базе XText справа отображается outline модели (может тоже использоваться и для создания элементов). Снизу - свойства выбранного элемента
Да, кстати, ссылки (подсвечиваются синим цветом) на элементы в тексте позволяют навигироваться. Достаточно на ссылке нажать F3 и курсор устанавливатеся на определение элемента. Например для перехода на определение компонента устанавливаем курсор на SE.LogicalArchitecture.LogicalSystem.Cmp1 , нажимаем F3

Курсор оказывается на определении


А вот пример создания UML модели с использованием текстового языка ESON.
Нельзя сказать, что ESON очень удобен для создания UML моделей, привожу только для примера.
Модели, созданные с помощью ESON также могут быть отображены на представлениях (диаграммах/таблицах/деревьях) Sirius.

На рисунке ниже отображено представление файла eson в виде дерева модели в ProjectExplorer. В DataPkg я создал Capella Class Diagram Blank и перетащил на диаграмму Class4 , который был определен в текстовом DSL ESON.


С помощью диаграммы можно создавать и новые элементы. При этом они добавляются в виде текстовых элементов в файл ESON. Class 1 я создал на диаграмме. В ESON файле добавился соответствующий элемент.



Чтобы создать модель с ипользованием языка ESON в Eclipse:
- устанавливается плагин ESON (используя updatesite)
- создается файл c расширением eson
- в начале файла указывается используемые мета-модели


- создается содержимое модели с использованием текстового языка

Комментариев нет:

Отправить комментарий