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