Раз уж зашел разговор (см предыдущий пост) о трудоемкости создания моделей с помощью построения визуальных диаграмм, нельзя не упомянуть про проект XText. Сторонники этого проекта всегда упоминают про эту проблему и говорят о том, что создавать формальные модели гораздо проще с использованием текстовых описаний. А уж анализировать и визуализировать модели можно с помощью визуальных диаграмм. Именно такой подход был продемонстрирован в в предыдущем посте про автоматическое построение диаграмм.
Технология XText позволяет создавать и интегрировать в инструменты моделирования текстовые редакторы формальных моделей с подстветкой синтаксиса, валидации на соответствие схеме языка моделирования (мета-модели), контекстными подсказдками.
XText позволяет определять для любого языка моделирования предметной области (далее DSL) текстовую грамматику и сгенерировать для данного DSL Eclipse редактор с подсветкой синтаксисам и подсказками.
Технология XText позволяет создавать и интегрировать в инструменты моделирования текстовые редакторы формальных моделей с подстветкой синтаксиса, валидации на соответствие схеме языка моделирования (мета-модели), контекстными подсказдками.
XText позволяет определять для любого языка моделирования предметной области (далее DSL) текстовую грамматику и сгенерировать для данного DSL Eclipse редактор с подсветкой синтаксисам и подсказками.
При создании\редактировании модели в редакторе, сгенерированном XText,
"за кадром" строится EMF модель. С этой моделью можно оперировать через API
из Java (генерируется на основе описания грамматики DSL), просматривать и
редактировать модель с помощью графических редакторов (в том числе Sirius),
просматривать/редактировать в иерархическом редакторе.
Пример редактора DSL, сгенерированного XText
Ссылки по теме
XTEXT - Language Engineering for Everyone
5 minutes tutorial (Hello World)
https://eclipse.org/Xtext/
15 minutes tutorial
Свой DSL можно интегрировать со стандартными языками моделирования. Например, в DSL делать references на элементы UML модели. Немного о скрещивании DSL с UML я писал в ранее.

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