пятница, 9 января 2015 г.

Решения для разработки систем на основе моделей от Thales

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

Язык моделирования и инструмент от Thales называются Capella (ранее Melody). Метод применения моделирования для разработки систем имеет название Arcadia. Утверждается, что данное решение активно используется во многих бизнес-юнитах Thales в реальных проектах. Количество пользователей достигает несколько сотен. Инструмент можно скачать по ссылке https://www.polarsys.org/capella/. На этой же странице приведено краткое описание языка и метода.

Thales пишет, что потратил много времени на создание профилей языка UML/SysML в попытках создать свой язык предметной области. Но в результате пришел к необходимости создания своего собственного DSL и своего собственного инструмента, которые не базируются на UML/SysML. Я думаю, что это связано с определенными ограничениями SysML, с которыми столкнулся Thales, а также с формальными ограничениями при разработке универсального стандарта, которые не позволяют быстро вносить в него улучшения.

Прямо скажем, что далеко не все довольны языком SysML.  По-моему мнению одна из сложностей с SysML и инструментами моделирования на SysML связана с тем, что SysML не разрабатывается под конкретный метод моделирования, а разрабатывается как некий универсальный, независимый от метода язык. Для того чтобы его реально применить необходимо разработать метод, под него создать на базе UML/SysML язык моделирования для поддержки метода (методом их профилирования) и написать кучу скриптов для автоматизации операций метода в инструменте моделирования.

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

В планах на 2015 год по развитию SysML прозвучала идея необходимости использовать пользовательские сценарии (по сути кусочки метода) для определения требований к языку. Разработчики SysML видно осознали, что оторвались от потребностей. Пользовательские сценарии - являются одной из составных частей любого метода на базе SysML. То что разработчики SysML только сейчас заговорили о необходимости использования пользовательских сценариев в очередной раз показывает, что сапожник - без сапог.

Решение Thales - является решением для разработки систем на основе моделей для конечного пользователя. При создании языка моделирования Thales использовал все лучшее из UML/SysML. Многие диаграммы действительно очень похожи, но есть и новые типы диаграмм. При этом утверждается, что сохранена возможность обмена моделями с SysML.

Инструментарий Thales базируется на Eclipse Modeling Framework. В рамках Eclipse Thales были переданы два технологических проекта Sirius и Kitalpha, которые позволяют меньшими усилиями создавать свои собственные инструменты моделирования для поддержки собственных DSL, в том числе создавать графические редакторы для редактирования визуальных диаграмм моделей.

В последние дни я сделал первое погружение в Capella и Arcadia. Общее впечатление положительное, желания отложить и забыть про инструмент не возникло. Пока можно сказать, что изучение Capella и Arcadia будет для меня чрезвычайно полезно. Как всегда изучение более производительно на практике. В качестве объекта моделирования продолжаю использовать системы дома. Постепенно буду выкладывать результаты моделирования с использованием Capella и Arcadia.

Метод Arcadia встроен в инструмент в виде автоматического методического руководства, которое определяет назначение и позволяет создавать различные диаграммы на всех стадиях применения метода.  Из существенных недостатков - пока нет подробного описания языка и метода. О их возможностях приходится отгадывать из методологических визардов в инструменте. При этом диаграммы Capella просты и интуитивно понятны. Несмотря на сложности общая картина языка и метода постепенно складывается в голове.

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

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