Использование текстовых DSL (Domain Specific Language - язык предметной области) для создания моделей может сделать инструменты моделирования ближе для программистов. Создаваемые модели могут анализироваться в графическом виде с использованием автоматического построения диаграмм.
Текстовый DSL - это по-сути, язык программирования, который может быть более абстрактным и поэтому более эффективен (в смысле масштаба решаемых задач). Текстовый DSL может быть и низкоуровневым, тогда он близко приближается к языку программирования.
Существует мнение, что одним из препятствий к созданию формальных моделей для программистов является использование для их создания графических диаграмм. Это требует от программистов дополнительной работы по форматированию диаграмм. Плюс программисты привыкли работать с текстовыми описаниями - программным кодом.
Использование текстовых DSL для создания высокоуровневых моделей - для программиста
выглядит как использование более высоко-уровневого языка программирования.
Если DSL делает программистов более эффективными, а разрабатываемое ПО
более качественным, то почему бы и нет?
Разговоры о использовании текстовых DSL для создания формальных моделей
не прекращаются. Технология Xtext для создания текстовых DSL прокладывает
себе дорогу в жизнь.
Вот и в проекте Eclipse Papyrus идет разговор о целесообразности включения текстового DSL для создания UML моделей. Вот пост об этом
https://papyrusuml.wordpress.com/2016/09/16/me-as-text/
В рамках Eclipse есть еще один проект для создания формальных моделей,
который изначально был основан на текстовом DSL
Это проект Eclipse eTrice - Real time modeling tool
http://www.eclipse.org/etrice/
В качестве языка моделирования в eTrice выступает ROOM
(Real-Time Object Oriented Modeling).
https://en.wikipedia.org/wiki/Real-Time_Object-Oriented_Modeling
Это язык моделирования до эры UML, из которого в UML
перекочевали многие концепции.
ROOM более прост, чем UML, что делает его интересным в новом свете попыток
упрощения UML для реального использования. Данный язык также интересен
для создания более высокоуровневых компонентных моделей, для сущностей которых не всегда есть прямое соответствие в языке программирования (например для портов).
См. краткое описание сущностей ROOM и элементов DSL для их создания по ссылке
http://www.eclipse.org/etrice/documentation/release/room-concepts.html
Например, вот так выглядит описание следующей структуры на DSL в eTrice
Диаграммы в eTrince автоматически строятся на базе полученных
моделей. Для построения диаграмм используется проект
KIELER, который недавно превратился в Eclipse Layout Kernel (см. пост об этой технологии по ссылке ) Диаграммы могут использоваться не только для анализа, но и для создания моделей.
eTrice Getting Started C++
http://www.eclipse.org/etrice/documentation/release/tutorials.html#getting-started-c-

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