RUS  ENG
Полная версия
ЖУРНАЛЫ // Труды института системного программирования РАН // Архив

Труды ИСП РАН, 2015, том 27, выпуск 5, страницы 143–156 (Mi tisp176)

Эта публикация цитируется в 1 статье

Использование языка программирования Python для описания ограничений на архитектурные модели

Е. В. Корныхинa, А. В. Хорошиловbacd

a Московский государственный университет имени М.В. Ломоносова
b Институт системного программирования РАН
c Национальный исследовательский университет "Высшая школа экономики"
d Московский физико-технический институт (государственный университет)

Аннотация: В данной статье предлагается подход к описанию и верификации структурных ограничений на архитектурные модели, в основе которого лежит переиспользование возможностей языка программирования Python, инструментов, библиотек, документации и методических материалов для языка Python. Использование в качестве основы широко известного языка должно уменьшить порог вхождения в предлагаемый подход. Ограничения становятся частью архитектурной модели, в идеале они разрабатываются вместе с моделью. Ограничения записываются на языке программирования Python в виде функций с одним аргументом (он обозначает проверяемый компонент модели) и возвращаемым значением логического типа, снабженных специальным декоратором (исполнимой аннотацией). Чтобы проверить выполнение ограничений для модели, генерируется и выполняется программа на языке Python. В этой программе создается архитектурная модель и затем выполняются нужные функции-ограничения. Подход был реализован в среде MASIW Framework – это среда моделирования программно-аппаратных систем на языке AADL, выполненная на базе широко известной среды разработки Eclipse. В среду MASIW Framework были интегрированы инструменты разработки на языке программирования Python – это инструмент PyDev, хорошо известный разработчикам на Python в среде Eclipse. Этот инструмент упрощает выполнение программ на Python, содержит в себе мощный редактор программ на Python с раскраской кода и автодополнением. Такие возможности удалось задействовать из-за особенностей генерируемых исходных кодов на Python: классы строятся из компонентов модели, поля классов – из подкомпонентов, соединений и т.п., методы – из ограничений, иерархия классов и пакетов – из иерархии компонентов и пакетов исходной архитектурной модели.

Ключевые слова: архитектурное моделирование, верификация моделей, язык программирования Python, язык моделирования AADL.

DOI: 10.15514/ISPRAS-2015-27(5)-8



Реферативные базы данных:


© МИАН, 2024