Научная статья на тему 'МЕТОДИКА РАЗРАБОТКИ ИНТЕЛЛЕКТУАЛЬНЫХ СРЕДСТВ ПРОЕКТИРОВАНИЯ АВТОМАТИЗИРОВАННЫХ СИСТЕМ УПРАВЛЕНИЯ ТЕХНОЛОГИЧЕСКИМИ ПРОЦЕССАМИ'

МЕТОДИКА РАЗРАБОТКИ ИНТЕЛЛЕКТУАЛЬНЫХ СРЕДСТВ ПРОЕКТИРОВАНИЯ АВТОМАТИЗИРОВАННЫХ СИСТЕМ УПРАВЛЕНИЯ ТЕХНОЛОГИЧЕСКИМИ ПРОЦЕССАМИ Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
356
34
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
АВТОМАТИЗИРОВАННЫЕ СИСТЕМЫ УПРАВЛЕНИЯ / ВАЛИДАЦИЯ И ВЕРИФИКАЦИЯ / МЕТАМОДЕЛИРОВАНИЕ / ПРЕДМЕТНО-ОРИЕНТИРОВАННЫЕ ЯЗЫКИ / DSM-РЕШЕНИЕ / DSM-ПЛАТФОРМА / AUTOMATED CONTROL SYSTEMS / VALIDATION AND VERIFICATION / METAMODELING / DOMAIN-SPECIFIC LANGUAGES / DSM-SOLUTION / DSM-PLATFORM

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Самонов А. В.

Совершенствование технологий промышленной разработки автоматизированных систем управления организационно-технологическими процессами и техническими комплексами осуществляется в направлении создания и использования специализированных предметно-ориентированных языков и интеллектуальных средств поддержки процессов разработки систем определенного достаточно узкого класса и конкретной предметной области. Наиболее важными и сложными являются вопросы построения концептуальной модели предметной области и разработки адекватного и оптимального набора средств ее формального описания. В статье представлены методы и средства решения этих вопросов на основе задачно-ориентированной онтологии, архитектуры Захмана и средств проекта Eclipse Modeling Project. Применение разработанной методики и средств ее реализации позволит сократить сроки и повысить качество разрабатываемых систем.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

METHODOLOGY FOR DEVELOPING INTELLECTUAL DESIGN TOOLS FOR AUTOMATED PROCESS CONTROL SYSTEMS

Improving technologies for industrial development of automated systems for managing organizational and technological processes and technical complexes is carried out in the direction of creating and using domain-specific languages and intellectual means to support the development of systems of a certain rather narrow class and a specific subject area. The most important and complex issues are the construction of a conceptual model of the subject area and the development of an adequate and optimal set of tools for its formal description. The article presents methods and tools for solving these issues based on the task-oriented ontology, Zachman architecture, and tools of the Eclipse Modeling Project. Application of the developed methodology and means of its implementation will reduce the time and improve the quality of developed automated systems for special purposes.

Текст научной работы на тему «МЕТОДИКА РАЗРАБОТКИ ИНТЕЛЛЕКТУАЛЬНЫХ СРЕДСТВ ПРОЕКТИРОВАНИЯ АВТОМАТИЗИРОВАННЫХ СИСТЕМ УПРАВЛЕНИЯ ТЕХНОЛОГИЧЕСКИМИ ПРОЦЕССАМИ»

Методика разработки интеллектуальных средств проектирования автоматизированных систем управления технологическими процессами

к.т.н. А. В. Самонов

Военно-космическая академия имени А. Ф. Можайского Санкт-Петербург, Россия а [email protected]

Аннотация. Совершенствование технологий промышленной разработки автоматизированных систем управления организационно-технологическими процессами и техническими комплексами осуществляется в направлении создания и использования специализированных предметно-ориентированных языков и интеллектуальных средств поддержки процессов разработки систем определенного достаточно узкого класса и конкретной предметной области. Наиболее важными и сложными являются вопросы построения концептуальной модели предметной области и разработки адекватного и оптимального набора средств ее формального описания. В статье представлены методы и средства решения этих вопросов на основе задачно-ориентированной онтологии, архитектуры Захмана и средств проекта Eclipse Modeling Project. Применение разработанной методики и средств ее реализации позволит сократить сроки и повысить качество разрабатываемых систем.

Ключевые слова: автоматизированные системы управления, валидация и верификация, метамоделиро-вание, предметно-ориентированные языки, DSM-решение, DSM-платформа.

Введение

Одной из приоритетных задач долгосрочной программы развития ОАО «Российские железные дороги» до 2025 года является разработка и внедрение на сети железных дорог Единой Интеллектуальной Системы Управления и автоматизации производственных процессов на Железнодорожном Транспорте (ИСУЖТ) [1]. Создание и применение ИСУЖТ позволит реализовать сквозные цифровые технологии организации перевозочного процесса («Цифровая железная дорога») на основе единого информационного пространства для организации и логистики грузовых и пассажирских перевозок, что должно привести к повышению эффективности использования инфраструктуры и качества железнодорожных перевозок. Для разработки систем такого масштаба и уровня сложности необходимо использовать технологии, методы и средства системной инженерии, основанной на формальных моделях и методах моделирования (Model-based systems engineering, MBSE). Наиболее известными системами, построенными на основе этих технологий, которые активно и успешно используются в авиационной и космической отрасли, автомобилестроении, железнодорожном транспорте, энергетике, в военно-промышленном ком-

плексе, являются: IBM Rational Rhapsody Developer [2], Sparx Enterprise Arhitect [3], MASIW [4].

Применение этих технологий на практике сдерживается как субъективными, так и объективными факторами, обусловленными их универсальностью и высокой сложностью освоения. Одним из направлений снижения влияния этих негативных факторов является создание специализированных предметно-ориентированных языков и средств инструментальной поддержки процессов создания систем определенного достаточно узкого класса и конкретной предметной области. Предметно-ориентированные языки более выразительны, понятны и удобны для применения различными категориями пользователей, поскольку оперируют привычной для них терминологией. Обеспеченные адекватными и апробированными методиками и рекомендациями, корректно внедренные в существующий или усовершенствованный процесс разработки такие комплексы, получившие название DSM-решений (Domain Specific Modeling), существенно повышают эффективность и результативность работ по созданию сложных программно-технических систем. Примерами DSM-ре-шений являются: AUTOSAR [5], SIGNAL V4 [6].

В настоящей статье представлено описание методики разработки DSM-решения, предназначенного для разработки программного обеспечения автоматизированных систем управления производственными процессами на железнодорожном транспорте (ПО АСУ ППЖТ) на основе технологий и средств проекта Eclipse Modeling Project (EMP). Последующие разделы статьи построены следующим образом. В первом разделе представлены результаты анализа современных методов и средств разработки DSM-решений, определены наиболее предпочтительные инструменты и порядок их применения для разработки DSM-решения, предназначенного для создания ПО АСУ ППЖТ. Во втором разделе представлены основные этапы методики разработки DSM-решения на основе технологий и средств проекта EMP. В третьем разделе дано описание спецификации концептуальной модели предметной области АСУ ППЖТ. В четвертом разделе представлен порядок разработки модели и грамматики предметно-ориентированного языка и инструментальных средств DSM -решения. В заключении отмечены отличительные

особенности рассмотренного в статье подхода к созданию DSM-решения, представлены основные достоинства и положительные эффекты его применения для разработки ПО АСУ ППЖТ.

Анализ современных исследований и работ

В ОБЛАСТИ СОЗДАНИЯ И ПРИМЕНЕНИЯ СПЕЦИАЛИЗИРОВАННЫХ ЯЗЫКОВ И СРЕДСТВ ВИЗУАЛЬНОГО МОДЕЛИРОВАНИЯ В англоязычных источниках предметно-ориентированные языки и средства работы с ними получили названия Domain Specific Language (DSL) и DSL Tools соответственно, а в комплексе со средой моделирования Domain Specific Modeling — DSM -решение. В области создания DSM-решений для визуального моделирования и проектирования сложных программно-технических систем в настоящее время активно работают научно-исследовательские институты, коммерческие и некоммерческие организации, отдельные коллективы исследователей и программистов. Полученные в ходе этих работ результаты используются в таких областях, как управление космическими комплексами и аппаратами, автомобильная промышленность, железнодорожный транспорт, робототехника, приборостроение, микроэлектроника, обеспечение информационной безопасности, медицина, здравоохранение и др. Как показал проведенный анализ, основным способом разработки DSM-решений является их генерация на базе некоторой более универсальной системы, которая называется DSM -платформой. В настоящее время наиболее функциональными и активно используемыми являются

следующие DSM-платформы: MetaEdit + [7], MS DSL Tools [8], MPS (Meta Programming System) [9], Eclipse Modeling Project (EMP) [10]. DSM-платформа позволяет специфицировать модель и грамматику предметно-ориентированного языка, задать внешний вид его графических элементов, сгенерировать по этим спецификациям визуальный редактор, генератор кода, верификатор и другие инструменты.

Стандартом де-факто в области разработки DSM -решений являются технологии, методы и средства, созданные в рамках проекта EMP. Наиболее активно используются следующие библиотеки, инструменты и языки: EMF (Eclipse Modeling Framework), GMF (Graphical Modeling Framework), Xtext, QVT (Query-View-Transformation), UML (Unified Modeling Language), OCL (Object Constraint Language). Описание разработанных с помощью этих средств DSM-решений представлено в целом ряде научно-практических отчетов и статей [11-21]. Ниже представлен краткий обзор наиболее интересных из них.

В книге Ричарда Гронбэка (Richard C. Gronback) [11] дано описание состава и возможностей инструментов и средств EMP, необходимых для разработки DSM -решения. Предложен следующий порядок действий по созданию DSM-решения (рис. 1). На первом этапе разрабатывается концептуальная модель предметной области (ПрО), включающая описание основных сущностей модели (субъектов, объектов, операций, отношений между ними). Концептуальная модель разрабатывается в редакторе инструмента Xtext на EBNF-подобном языке.

Рис. 1. Процесс разработки DSM -решения на базе DSM-платформы EMP

Рис. 2. Артефакты процесса разработки метамодели и грамматики языка DSM-решения

На ее основе с помощью средств фреймворка EMF и парсера ANTL создаются метамодель в виде абстрактного синтаксического дерева (АСД), грамматика языка ПрО и редактор для разработки моделей на этом языке (рис. 2). Затем с помощью редактора и средств GMF определяются графические конструкции и символы для визуального описания моделей, определяется и генерируется набор инструментов для их использования и редактирования.

Процесс итеративен, все изменения, вносимые в метамодель, тут же применяются к модели. Если вносимое в метамодель изменение конфликтует с существующими моделями, выдается предупреждение. Процесс завершается созданием DSM-решения в составе текстового и графического редакторов, генератора кода и вали-датора разрабатываемых с их помощью моделей и программ. Много полезной информации о практических результатах применения модельно-ориентированного подхода и предметно-ориентированных языков для создания сложных программно-технических систем можно найти на сайте Маркуса Фольтера (Markus Voelter). Одним из них является отчет [12], в котором обоснована целесообразность включения в состав DSM-решения компоненты, реализующей различного вида вычисления: арифметических и логических выражений, табличных и математических функций, списков, перечислений и доменных структур данных. Для разработки такого компонента в данной работе предлагается использовать

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

В работе [13] изложены фундаментальные языковые парадигмы DSL и описан процесс проектирования DSL для таких предметных областей, как здравоохранение и медицина, системы страхования, логистика, информационная безопасность. Для описания алгоритмов решения целевых задач, включая требования к характеристикам качества их реализации, предложены методы и средства представления, хранения и обработки математических и логических формул, таблиц и деревьев решений. В качестве инструментов были использованы: Xtext, MPS, mbeddr, Spoofax, Yakindu State Chart Tools. Приведены примеры применения этих средств для разработки программного обеспечения встраиваемых систем, которые должны соответствовать строгим требованиям безопасности, изложенным в стандартах безопасности ISO-26262, DO-178B, IEC-61508.

В статье [14] представлен пример разработки DSM-ре-шения для создания программного обеспечения системы управления космическими аппаратами с помощью инструмента mbeddr. Данное DSM-решение обеспечивает интеграцию средств MPS (Meta Programming

System), на основе которого разработан mbeddr, с расширением языка программирования С, учитывающее специфику алгоритмов решения задач управления полетом и работой бортового оборудования космических аппаратов в соответствии со стандартами ECSS (англ. European Cooperation for Space Standardization—Европейская кооперация по стандартизации в области космической техники).

В статье [15] представлено описание того, как используются технологии и средства модельно-ориентированного подхода и предметно-ориентированных языков для реализации сложного и масштабного проекта по созданию Гигантского Магелланова телескопа (Giant Magellan Telescope, GMT) в обсерватории Лас-Кампанас в Чили, завершение строительства которого намечено на 2025 г. Данный проект включает работы по созданию целого комплекса систем: системы управления обсерваторией и ее инфраструктурой, системы управления телескопом, подсистемы управления многочисленными оптическими и электромеханическими устройствами. Для организации эффективного управления и обеспечения качественной реализации проекта GMT в соответствии с модельно-ориентированным подходом были разработаны эталонная архитектура всего проекта, набор предметно-ориентированных языков для описания входящих в него подсистем и устройств, фреймворк и набор базовых компонентов для разработки, интеграции и валидации программных комплексов и систем.

В статье [20] предлагается предметно-ориентированный подход к моделированию и валида-ции АСУ железнодорожным транспортом, сочетающий парадигму модельно-ориентированного подхода и формальный метод верификации моделей. Для разработки моделей используется предметно-ориентированный язык RailRoad DSL и инструмент Meeduse. Проверка корректности модели в отношении ее свойств безопасности и соответствия требованиям стандарта CENELEC EN 50128 осуществляется посредством формальной верификации методом В и валидацией с помощью симуляции.

Документ [21] содержит UML профиль для описания специфичных для систем управления железнодорожным транспортом управления (RCSD) объектов, процессов и состояний, включая средства представления маршрутов, датчиков, сигналов и примитивы для моделирования времени.

Большое количество публикаций об успешной реализации проектов по созданию сложных программно-технических комплексов и систем с помощью модель-но-ориентированных технологий и DSM-решений убедительно свидетельствует о целесообразности применения данного подхода при разработке ПО АСУ ППЖТ. При разработке DSM-решения необходимо учитывать следующие рекомендации и факты:

- DSM -решение должно состоять из линейки продуктов, адекватно и корректно обеспечивающих поддержку всех этапов жизненного цикла систем: определение требований, проектирование, реализацию, испытания и сопровождение;

- для разработки DSM-решения целесообразно использовать технологии и средства, разрабатываемые в рамках проекта EMP;

- наиболее важными и сложными являются вопросы, связанные с определением и концептуализацией предметной области DSM-решения и выбором адекватного и оптимального набора средств и конструкций предметно-ориентированного языка.

В следующих разделах статьи представлено описание методики и средств разработки DSM-решения для проектирования ПО АСУ ППЖТ на основе технологий и средств проекта EMP.

Основные этапы методики разработки DSM-решения, предназначенного ДЛЯ СОЗДАНИЯ ПО АСУ ППЖТ

DSM -решение, предназначенное для создания ПО АСУ ППЖТ, должно включать в свой состав базовую концептуальную модель предметной области, максимально полно и точно описывающую типовые процессы и сущности автоматизируемой управленческой деятельности, и комплекс информационных и программных средств, обеспечивающих программно-управляемый процесс разработки на ее основе автоматизированных систем управления конкретными объектами и средствами. Основными этапами процесса разработки DSM-решения, предназначенного для создания ПО АСУ ППЖТ являются (рис. 3):

- определение и разработка концептуальной модели предметной области АСУ ППЖТ;

- разработка на языке Eclipse Xtext грамматики предметно-ориентированного языка для описания процессов, событий и сущностей предметной области АСУ ППЖТ;

- построение модели языка DSM-решения в форме абстрактного семантического дерева (АСД);

- генерация модели языка с помощью EMF, Xtext и Xbase;

- разработка инструментальных средств DSM-реше-ния: редактора, генератора кода, валидатора, среды исполнения и моделирования;

- разработка и адаптация графических компонентов и средств DSM-решения с помощью GMF.

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

Кроме стандартных текстовых и графических форм представления данных DSM-решение для создания ПО АСУ ППЖТ должно иметь в своем составе средства для описания, хранения, обработки и вычисления арифметических и логических выражений, табличных и математических функций и других специфических для предметной области структур и типов данных. Описание порядка и способов решения задач на основных этапах реализации данной методики представлено в следующих разделах статьи.

Рис. 3. Этапы методики разработки DSM -решения

Разработка концептуальной модели

ПРЕДМЕТНОЙ ОБЛАСТИ ДЛЯ АСУ ППЖТ АСУ ППЖТ функционирует в соответствии с определенным циклом управления, который является непрерывным и реализуется в соответствии с установленным порядком и правилами. Типовой цикл управления состоит из следующих функций: мониторинг и сбор информации о состоянии объекта управления (ОбУ), анализ состояния ОбУ, разработка решения о необходимости и способе воздействия на ОбУ, реализация управляющего воздействия в соответствии с принятым решением. Целью управления является поддержание управляемого объекта (ОбУ) в работоспособном состоянии, выполнение им определенных функций, достижение определенных результатов. В описания цели и функций управления должны быть включены требования к качеству решения целевых задач: оперативности, надежности, точности, защищенности и др. При разработке требований к функциональным возможностям и эксплуатационно-техническим характеристикам

АСУ ППЖТ целесообразно использовать модель качества систем, представленную в [22].

В качестве базового (корневого) понятия концепту аль-ной модели предметной области целесообразно использовать «Функцию управления» (ФУ), атрибутами которой являются следующие сущности: цель (Ц), алгоритм (А), орган управления (ОрУ), объект управления (ОбУ), место (М), дата и время (Г). Таким образом, построенная в соответствии с моделью архитектуры Захмана концептуальная модель предметной области АСУ ППЖТ представляет собой иерархически организованную систему функций, атрибуты которых содержат ответы на следующие вопросы: кто является органом управления, кем (чем) управляет орган управления, с какой целью осуществляется управление, как осуществляется управление, когда и где реализуется данная функция. Состав и структура основных понятий концептуальной модели АСУ ППЖТ представлены на рисунке 4.

Рис. 4. Состав и структура концептуальной модели АСУ ППЖТ

Для описания каждого понятия концептуальной модели АСУ ППЖТ разрабатываются соответствующие ему шаблон на языке Xtext и графическая конструкция или символ средствами GMF. Каждая функция АСУ ППЖТ реализуется в соответствии с определенным алгоритмом. Для описания алгоритмов реализации функций могут использоваться табличные формы, деревья решений, диаграммы поведения. Форма и способ описания алгоритма зависят от характера и методов решения задачи.

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

Для реализации программно-управляемого процесса построения алгоритмов решения типовых задач управления в состав DSM-решения должны быть включены текстовые, табличные и графические шаблоны, а также соответствующий набор инструментов, обеспечивающий разработку диаграмм поведения, описание и обработку модельных данных, представленных в табличном и формульном виде, в форме арифметических и логических вы-

ражений. Для создания таких средств целесообразно использовать языки FUML, OCL и KernelF. На рисунке 5 представлены состав и структура информационной составляющей DSM-решения, построенная на базе рассмотренной выше концептуальной модели.

Программные компоненты DSM-решения построены на основе инструментов проекта EMP (EMF, GEF, Xtext), используют базы данных с описаниями алгоритмов выполнения типовых функций управления (DB algorithms: monitoring, analysis, solution, realization), базы данных с описаниями характеристик ОрУ (DB Subjects) и ОбУ (DB Objects). Шаблоны для описания ОрУ и ОбУ включают следующие основные атрибуты и характеристики: название, назначение и решаемые задачи, состояние, месторасположение, вышестоящий орган, персонал, технические средства, комплексы средства автоматизации (КСА — S&W), системы и средства связи (ССС — Mean_comm). Для описания и моделирования временных аспектов и ограничений процессов управления целесообразно использовать программный плагин Temporal OCL Plugin for Eclipse, в котором реализован математический аппарат логики ветвящегося времени — CTL (Computation Tree Logic) [23]. Грамматика языка для формального описания временных аспектов и ограничений процессов управления представлена на рисунке 6.

Рис. 5. Состав и структура информационной составляющей DSM-решения

TempOCL ::= temp (name)? TempSpec TempSpec ::= Quantif? Parrent Scope Quantif ::= Let Variable (':' Variable)* in

Pattern ::= always OclExpression

| never Event

| eventually Event ((at least | at most) ? integer times)? | EventCliain precedes (directly [ strictly)? EventChain i EventChain responds (directly | strictly)? EventChain Scope ::= globally

| before Event ('['-| ](-']■)? | after (4['-| ||-']')? Event

| between ('['-j | j-']')? last? Event and Event ('['-| ||-']')?

| after (*['-[ ||-']')? last? Event until Event ('['-j | [■']')?

| when OclExpression

Event ::= CallEvent d'Event)?

| ChangeEvent d'Event)?

EventChain ::= Event (','Event)*

| Event (';'Event)*

CallEvent ::= isCalled '(' (anyOp | op : Operation) (',' pre : OclExpression) ? (%' post: OclExpression)? ')'

ChangeEvent ::= becomesTrue '(' OclExpression ')'

Рис. 6. Грамматика языка для формального описания временных аспектов и ограничений процессов управления

Разработка модели и грамматики

ПРЕДМЕТНО-ОРИЕНТИРОВАННОГО ЯЗЫКА И ИНСТРУМЕНТАЛЬНЫХ СРЕДСТВ DSM -РЕШЕНИЯ Модель и грамматика предметно-ориентированного языка для DSM -решения разрабатывается с по мо щью ср едств EMF, Xtext и Xb ase на основе пр едставл енной на рисунке 5 расширенной концептуальной модели АСУ ППЖТ. Рисунок 7 иллюстрирует процесс разработки ASModel в среде Xtext.

Él

ASModel.xtext

grammar org.eclipse.xtext.asmodeldsl. ASModelDSL with

C' Undo Typing 3€Z

Revert File Save

erg.eclipsa generate esmod^ import "htl S ASModel: cdS =

functions + »

a Function; name datatime =

3 SubjectClass : n structure = I

® ObjectClass; n» structure = [Sti

В Algorithm: name â Mein: dactivity S Alter: doetivity

base"

Quick Outline Open Declaration Show In X 3€W

3€0

Cut

Copy

Paste

Rename Element Validate Quick Fix Source

Find References

3€V X3€R

3€1 p-

t>3€G

"lass] object = [ObjectClass]; super-function = [Function] ;

e state = [StateSubject]

islocetion] superSubject = [SubjectClass];

state = StateSubject ation] superObject = [ObjectClass];

ader main =Main alter += Alter; e| dsequence = Sequence; e| dsequence = Sequence;

m 1 Generate Xtext Artifacts

Debug As

Team External Tools Configurations...

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Compare With

Replace With

Preferences...

Для описания каждого понятия концептуальной модели АСУ ППЖТ разрабатываются соответствующие ему шаблон на языке Xtext и графическая конструкция или символ средствами GMF. Каждая функция АСУ ППЖТ реализуется в соответствии с определенным алгоритмом.

В листинге 1 представлен фрагмент грамматики на языке средства Xtext, содержащий конструкции и правила для описания понятий верхнего уровня модели: функций, целей, алгоритмов, органов и объектов управления, времени и места. Три верхние строчки содержат команды-инструкции для Xtext: grammar, generate и import. Далее следуют правила грамматики, в левой части которых представлены нетерминальные символы, а в правой — их определение с помощью терминальных символов и нетерминальных выражений. Ключевое слово with в инструкции grammar указывает, что при генерации модели языка будет использована грамматика Xbase, которая, в свою очередь, базируется на абстрактном синтаксисе EMF Ecore. Благодаря этому создаваемая модель использует программно реализованные в Ecore модели классификаторы (classifier), классы (class), атрибуты (attribute), операции (operation), типы данных (data type), а также программные компоненты (module).

Рис. 7. Разработка ASModel в среде Xtext

grammar org.eclipse.xtext.asrnodeldsi.AS/vloddDSL with org.eclipse.xtext.xbase.Xbase

generate asmodel http://www.xtext.org/asmodeldls

import "http://www.ecUpse.org/xtext/xbase/Xbase"

A5Model: /unctions += Function + (cdS = SubjectsDiag) (cdO = ObjectsDiag);

Function: name = ControilD|/D subject = [SubjectClass] object - [ObjectClass];

target = [Target] datatime = [Data Time] algorithm = [Algorithm] super/unction = [Function] ; SubjectClass: name = SubjectClassID type = Type state = [StateSubject] structure = [StructureSubject] dislocation = [Dislocation] superSubject = [SubjectClass]; ObjectClass: name = ObjectClassID type - Type state = StateSubject

structure = [StructureObject] dislocation = [Dislocation] superObject = [ObjectC/assJ; Algorithm: name = (AlgorithmlD | ID) header = Header main =Main alter+= Alter; Main: dactivity = DActivity| dstate = StateMachine| dsequence = Sequence Alter: dactivity = DActivity| dstate = Stat.eMachine\ dsequence = Sequence DActivity: ActiveNode+ ActiveEdge+ Region*; ActiveNode: Activelnvoccation ] ActiveControl ] ActiveObject Activelnvoccation: ('условие:1 Guard*) activités += Active+; Active: Action | Decision | Loop ;

SubjectsDiag: ciass_subject += SubjectClass + re!_subjects += ReiationSubject + ; ObjectsDiag: c/ass_object += ObjectClass + relObjects += Re/ationObject +; RelationSubject: generalization | aggregation j composition | location [ state; RelationObject: generalization | aggregation | composition | location | state; DataTime: data = Data time = Time;

Листинг 1. Фрагмент грамматики, содержащий конструкции для описания понятий верхнего уровня модели ПО АСУ ППЖТ

В представленном выше листинге 1 фрагмента грамматики языка для описания алгоритма используется диаграмма активностей (ВАаНуНу). В листинге 2 представлен фрагмент грамматики языка для описания

В результате выполнения в редакторе EMF команды «1 Generate Xtext Artefacts» («Генерировать Xtext артефакты») будут разработаны:

- модель и грамматика предметно-ориентированного языка;

- графические компоненты языка, а также средства их использования и редактирования;

- инструментальные средства DSM-решения: текстовый и графический редакторы, генератор кода, валидатор и верификатор построенных артефактов (комплекса требований, проектных решений, программной реализации).

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

алгоритмов, описываемых посредством диаграммы последовательностей (SequenаeВiag) и диаграммы состояний ^а/етааНте).

опытную эксплуатацию посредством разработки конкретных АСУ. По результатам опытной эксплуатации может быть проведена доработка DSM-решения для получения более адекватной и удобной версии.

Отличительными особенностями представленных в данной статье решений являются:

- структурно-информационная концептуальная схема DSM-решения, предназначенного для создания ПО АСУ ППЖТ, при разработке которой были использованы за-дачно-ориентированный онтологический подход проектирования концептуальных моделей и архитектурные шаблоны Захмана;

- грамматика текстового языка, графические конструкции и наборы шаблонов для формального описания сущностей предметной области и процессов автоматизируемой управленческой деятельности, построенные на основе языков и средств визуального моделирования Ц^, OCL, КетеШ, EMF, Xtext, Xbase, GMF;

- детализированная методика разработки DSM-реше-ния, предназначенного для создания ПО АСУ ППЖТ, построенная на основе структурно-информационной кон-

SequenceD/ag: lifelines = Lifeline+ msgs = Message+ msg order = (Message; Message) *; Lifeline: name = LifelineHead; activations = Activation*; isStatic: Boolean LifelineHead: [object name: String];': [;c: Class; Activation: start = Event finish = Event others Event*;

Event: lifeline = Lifeline actor: Activation;

Message: [sender = Event ] [receiver = Event ] msgID = MessagelD ; [sig = Signature ] [kind = MessageKfnd J; [sort = Messages ort J;

MessagelD: [attr = Property ' = ']; name = String;

["('; orgs = Argument*;")']; [':'; returnValue = Value];

Argument ::= [paramName = String ;' = ']; value = Value ]

attr = Property ;' = '; out ParamName = Parameter; [':value = Value]]'-';

MessageKind: 'complete 11 'lost' \ 'found ' | 'unknown ';

/VlessageSort: 'synchCall' | 'asynchCall' | 'asyncfrSignai' | 'creciteMessage ' [ 'deieteMessage' ] 'reply ';

Statemacfiine: {State machine}

'events' (events+=E vent)* 'end' 'resetEvents' (resetEvents+=[EventJJ* 'end' 'commands' (commands+=Command)* 'end' (states+=State)*;

Event: name=ID code=ID;

Command: name=ID code=ID;

State: 'state' name.=ID ('actions''!"' (actions+=[CommandJ)+ ')')? (transitions+=Transitionj* 'end';

Transition: event=[Event] '=>'state=[StateJ;

Листинг 2. Фрагмент грамматики языка для описания алгоритмов посредством диаграмм последовательностей и диаграмм состояний

цептуальной схемы DSM-решения, использующая конструкции и средства формального описания сущностей и процессов автоматизируемой управленческой деятельности и обеспечивающая сквозной контроль качества разрабатываемых моделей и программных средств.

Заключение

Создание DSM-решения, предназначенного для разработки ПО АСУ ППЖТ, должно начинаться с определения и разработки концептуальной модели предметной области, включая установление и описание участников и процессов управленческой деятельности, автоматизируемых функций, способов и условий их реализации. На основе этой информации определяются требования к составу и возможностям требуемого DSM-решения, осуществляется выбор наиболее адекватного из существующих. В случае отсутствия такового принимается решение о необходимости разработки нового, в полной мере удовлетворяющего заданным требованиям. Концептуальную модель предметной области целесообразно представить в виде иерархически упорядоченного набора функций управления, осуществляемых органами управления в отношении объектов управления для достижения установленных целей по определенным алгоритмам в соответствии с заданными временными, ресурсными и другими ограничениями. DSM -решение для разработки ПО АСУ ППЖТ должно обладать следующими возможностями:

- обеспечивать информационную и программную поддержку процессов разработки требований, проектных решений и программной реализации;

- иметь средства построения, моделирования и верификации структурных и поведенческих аспектов и свойств модели функционирования АСУ ППЖТ;

- хранить, представлять и обрабатывать данные, представленные в текстовом, графическом, табличном виде, в форме математических и логических выражений, структур данных, специфичных для предметной области АСУ ППЖТ.

Применение DSM-решений имеет следующие преимущества перед использованием универсальных средств разработки:

- благодаря использованию специализированных инструментальных средств анализа, проектирования и разработки, максимально полно и точно учитывающих особенности предметной области, обеспечивается более согласованное взаимодействие и взаимопонимание всех участников процесса и достигается более точное соответствие возможностей систем ожиданиям и потребностям конечного пользователя;

- полученные в результате формальные модели требований и проектных решений проходят строгие процедуры валидации и верификации, что позволяет обеспечить корректную автоматизированную генерацию и тестирование программного кода;

- обеспечивается сквозной контроль качества всех артефактов жизненного цикла системы, включая этап эксплуатации и сопровождения.

ЛИТЕРАТУРА

1. Об утверждении долгосрочной программы развития открытого акционерного общества «Российские железные

дороги» до 2025 года: распоряжение Правительства Российской Федерации от 19.03.2019 № 466-р. URL: http://docs.cntd.ru/document/553927831 (дата обращения: 28.10.2020).

2. IBM Engineering Systems Design Rhapsody — Developer // IBM — Российская Федерация.

URL: http://www.ibm .com/ru-ru/marketplace/uml-tools (дата обращения: 20.10.2020).

3. Enterprise Arhitect. Full Lifecycle Modeling for Business, Software and Systems // Sparx Systems.

URL: http://sparxsystems.com/products/ea (дата обращения: 21.10.2020).

4. Инструментальные средства проектирования систем интегрированной модульной авионики / Д. В. Буздалов, С. В. Зеленов, Е. В. Корныхин [и др.] // Труды Института системного программирования РАН. 2014. Т. 26, № 1. С. 201-230. DOI: 10.15514/ISPRAS-2014-26(1)-6.

5. AUTOSAR. Enabling Innovation.

URL: http://www.autosar.org/about (дата обращения: 19.09.2020).

6. Besnard, L. SIGNAL V4 - INRIA version: Reference Manual (revised working version) — 01.04.2020 / L. Besnard, T. Gautier, P. Le Guernic. — 260 p.

URL: http://polychrony.inria.fr/document/V4_def.pdf (дата обращения: 21.10.2020).

7. MetaEdit + Domain — Specific Modeling Tools, Meta-Case. URL: http://www.metacase.com/products.html (дата обращения: 21.10.2020).

8. Partlow, J., et al. Analyze and Model Your Architecture. — 11.04.2016 // Visual Studio / Microsoft Doc.

URL: http ://docs.microsoft.com/en-us/visualstudio/modeling (дата обращения: 21. 10.2020).

9. MetaCase. URL: http://www.metacase.com/ (дата обращения: 21.10.2020).

10. Eclipse Modeling Project // The Eclipse Foundation. URL: http://www.eclipse.org/modeling (дата обращения: 21.10.2020).

11. Gronback, R. C. Eclipse Modeling Project: A Domain-Specific Language (DSL) Toolkit. First Edition. — Stough-ton (MA): Addison-Wesley Professional, 2009. — 736 p.

12. Voelter, M. The Design, Evolution, and Use of KernelF: An Extensible and Embeddable Functional Language // Theory and Practice of Model Transformation: Proceedings of 11th International Conference on Theory and Practice of Model Transformations (ICMT 2018) (Toulouse, France, 25-26 June 2018) / A. Rensink, J. S. Cuadrado (eds) // Lecture Notes in Computer Science. 2018. Vol. 10888. — Pp. 3-55. DOI: 10.1007/978-3 -319-93317-7_1.

URL: http://voelter.de/data/pub/kernelf-icmt.pdf (дата обращения: 18.09.2020).

13. DSL Engineering: Designing, Implementing and Using Domain-Specific Languages / M. Voelter, S. Benz, C. Dietrich, [et al.]. — CreateSpace Independent Publishing Platform, 2013. — 558 p.

14. Wortmann, A. Domain Specific Languages for Efficient Satellite Control Software Development / A. Wortmann, M. Beet. Published at 2016. 8 p.

URL: http://mbeddr.com/files/dasia_wortmann.pdf (дата обращения: 23.05.2020).

15. End-To-End Observatory Software Modeling Using Domain Specific Languages / J. M. Filgueira, M. Bec, N. Liu,

[et al.] // Software and Cyberinfrastructure for Astronomy III: Proceedings of the SPIE Astronomical Telescopes + Instrumentation Conference (Montreal, Canada, 22-27 June 2014) / G. Chiozzi, N. M. Radziwill (eds) // Proceedings of SPIE — The International Society for Optical Engineering. 2014. Vol. 9152. — 13 p. Published online at 18 July 2014. DOI: 10.1117/12.2056718.

URL: http://www.gmto.org/SPIE_2014/2014-SPIE-9152-58.pdf (дата обращения: 22.07.2020).

16. EMF-IncQuery: An Integrated Development Environment for Live Model Queries / Z. Ujhelyi, B. Izso, Z. Szatmari, [et al.] // Science of Computer Programming. 2015. Vol. 98, Pt. 1. Pp. 80-99.

DOI: 10.1016/j .scico.2014.01.004.

URL: http ://www. sciencedirect.com/science/article/pii/

S0167642314000082 (дата обращения: 18.06.2020).

17. Belghiat, A. A Graph Transformation of Activity Diagrams into Pi-calculus for Verification Purpose / A. Belghiat, A. Chaoui // Proceedings of the Third International Conference on Advanced Aspects of Software Engineering (ICAASE 2018) (Constantine, Algeria, 01-02 December 2018). CEUR Workshop Proceedings. 2018. Vol. 2326. Pp. 107-114.

URL: http://ceur-ws.org/Vol-2326/paper14.pdf (дата обращения: 18.08.2020).

18. Paige, R. F. A Tutorial on Metamodelling for Grammar Researchers / R. F. Paige, D. S. Kolovos, F. A. C. Polack // Science of Computer Programming. 2014. Vol. 96, Pt. 4. Pp. 396-416. DOI: 10.1016/j.scico.2014.05.007.

19. Mooij, A. Creating a Domain Specific Language (DSL) with Xtext. V10.0, 2019-10-14 — Eclipse IDE 2020-09 & Xtext 2.23 / A. Mooij, J. Hooman. — Nijmegen: Radboud University Nijmegen, 2020. — 37 p.

URL: http://www.cs.ru.nl/J.Hooman/DSL/Creating_a_Domain_

Specific_Language_(DSL)_with_Xtext.pdf (дата обращения: 21.10.2020).

20. Towards a Tool-Based Domain Specific Approach for Railway Systems Modeling and Validation / A. Idani, Y. Le-dru, A. A. Wakrime, [et al.] // Reliability, Safety, and Security of Railway Systems. Modelling, Analysis, Verification, and Certification: Proceedings of Third International Conference on Reliability, Safety, and Security of Railway Systems (RSSRail 2019) (Lille, France, 04-06 June 2019) / S. Collart -Dutilleul, T. Lecomte, et al. (eds) // Lecture Notes in Computer Science. 2019, Vol. 11495. — Pp. 23-40.

DOI: 10.1007/978-3-030-18744-6_2.

URL: http://vasco.imag.fr/tools/meeduse/papers/RSSRail_ Idani_Chapter_Author.pdf (дата обращения: 28.10.2020).

21. Berkenkotter K. The Railway Control System Domain. Draft Version / K. Berkenkotter, U. Hannemann, J. Peleska. — Bremen, 2006. URL: http://www.informatik.uni-bremen.de/agbs/rese-arch/RCSD/RCSDprofile.pdf (дата обращения: 18.08.2020).

22. Самонов, А. В. Методы и средства разработки автоматизированных информационных систем на основе онтологии «Управление качеством программно-технических комплексов» // Труды Института системного программирования РАН. 2019. Т. 31, Вып. 5. С. 165-182. DOI: 10.15514/ISPRAS-2019-31 (5)-13.

23. Kanso, B. Specification of Temporal Properties with OCL / B. Kanso, S. Taha // Science of Computer Programming. 2014. Vol. 96, Pt. 4. Pp. 527-551.

DOI: 10.1016/j.scico.2014.02.029.

URL: http://www.researchgate.net/publication/260756267_ Specification_of_temporal_properties_with_OCL (дата обращения: 18.07.2020).

Methodology for Developing Intellectual Design Tools for Automated Process Control Systems

PhD A. V. Samonov

A. F. Mozhaisky Military Space Academy Saint Petersburg, Russia a.sam onov@m ail.ru

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Abstract. Improving technologies for industrial development of automated systems for managing organizational and technological processes and technical complexes is carried out in the direction of creating and using domain-specific languages and intellectual means to support the development of systems of a certain rather narrow class and a specific subject area. The most important and complex issues are the construction of a conceptual model of the subject area and the development of an adequate and optimal set of tools for its formal description. The article presents methods and tools for solving these issues based on the task-oriented ontology, Zachman architecture, and tools of the Eclipse Modeling Project. Application of the developed methodology and means of its implementation will reduce the time and improve the quality of developed automated systems for special purposes.

Keywords: automated control systems, validation and verification, metamodeling, domain-specific languages, DSM-solution, DSM-platform.

References

1. On Approval of the Long-Term Development Program of the «Russian Railways» JSC until 2025: Order of the Government of the Russian Federation [Ob utverzhdenii dol-gosrochnoy programmy razvitiya otkrytogo aktsionernogo obshchestva «Rossiyskie zheleznye dorogi» do 2025 goda: rasporyazhenie Pravitel'stva Rossiyskoy Federatsii] from March 19, 2019 No. 466-r.

Available at: http://docs.cntd.ru/document/553927831 (accessed 28 Oct 2020).

2. IBM Engineering Systems Design Rhapsody — Developer, IBM — Russian Federation [IBM — Rossiyskaya Fede-ratsiya]. Available at: http://www.ibm.com/ru-ru/market-place/uml-tools (accessed 20 Oct 2020).

3. Enterprise Arhitect. Full Lifecycle Modeling for Business, Software and Systems, Sparx Systems. Available at: http://sparxsystems.com/products/ea (accessed 21 Oct 2020).

4. Buzdalov D. V., Zelenov S. V., Kornykhin E.V., et al. Tools for System Design of Integrated Modular Avionics [In-strumental'nye sredstva proektirovaniya sistem integrirovan-noy modul'noy avioniki], Proceedings of the Institute for System Programming of the RAS [Trudy Instituta sistemnogo programmirovaniya RAN], 2014, Vol. 26, Is. 1, Pp. 201-230. DOI: 10.15514/ISPRAS-2014-26(1)-6.

5. AUTOSAR. Enabling Innovation. Available at: http://www.autosar.org/about (accessed 19 Sep 2020).

6. Besnard L., Gautier T., Le Guernic P. SIGNAL V4 — INRIA version: Reference Manual (revised working version) — 260 p. Available at: http://polychrony.inria.fr/document/ V4_def.pdf (accessed 21 Oct 2020).

7. MetaEdit+ Domain — Specific Modeling Tools, Meta-Case. Available at: http://www.metacase.com/products.html (accessed 21Oct 2020).

8. Partlow, J., et al. Analyze and Model Your Architecture, Microsoft Doc. Published at April 11, 2016. Available at: http://docs.microsoft.com/en-us/visualstudio/modeling (accessed 21 Oct 2020).

9. MetaCase. Available at: http://www.metacase.com (accessed 21 Oct 2020).

10. Eclipse Modeling Project, The Eclipse Foundation. Available at: http://www.eclipse.org/modeling (accessed 21 Oct 2020).

11. Gronback, R. C. Eclipse Modeling Project: A Domain-Specific Language (DSL) Toolkit. First Edition. Stoughton (MA), Addison-Wesley Professional, 2009, 736 p.

12. Voelter, M. The Design, Evolution, and Use of KernelF: An Extensible and Embeddable Functional Language. In: Rensink A., Cuadrado J. S. (eds) Theory and Practice of Model Transformation: Proceedings of 11th International Conference on Theory and Practice of Model Transformations (ICMT 2018), Toulouse, France, June 25—26, 2018). Lecture Notes in Computer Science, 2018, Vol. 10888. Pp. 3-55. DOI: 10.1007/978-3 -319-93317-7_1.

Available at: http://voelter.de/data/pub/kernelf-icmt.pdf (accessed 18 Sep 2020).

13. Voelter M., Benz S., Dietrich C., et al. DSL Engineering: Designing, Implementing and Using Domain-Specific Languages. CreateSpace Independent Publishing Platform, 2013,558 p.

14. Wortmann A., Beet M. Domain Specific Languages for Efficient Satellite Control Software Development, 8 p. Published at 2016.

Available at: http://mbeddr.com/files/dasia_wortmann.pdf (accessed 23 May 2020).

15. Filgueira J. M., Bec M., Liu N., et al. End-To-End Observatory Software Modeling Using Domain Specific Languages. In: Chiozzi G., Radziwill N. M. (eds) Software and Cyberinfrastructure for Astronomy III: Proceedings of the SPIE Astronomical Telescopes + Instrumentation Conference (Montreal, Canada, June 22—27, 2014). Proceedings of SPIE — The International Society for Optical Engineering. 2014, Vol. 9152, 13 p. Published online at July 18, 2014.

DOI: 10.1117/12.2056718.

Available at: http://www.gmto.org/SPIE_2014/2014-SPIE-9152-58.pdf (accessed 22 July 2020).

16. Ujhelyi Z., Izsó B., Szatmári Z., et al. EMF-IncQuery: An Integrated Development Environment for Live Model Queries, Science of Computer Programming, 2015, Vol. 98, Pt. 1, Pp. 80-99. DOI: 10.1016/j.scico.2014.01.004.

Available at: http://www.sciencedirect.com/science/article/pii/ SO 167642314000082 (accessed 18 June 2020).

17. Belghiat A., Chaoui A. A Graph Transformation of Activity Diagrams into Pi-calculus for Verification Purpose, Proceedings of the Third International Conference on Advanced Aspects of Software Engineering (ICAASE 2018), Constantine, Algeria, December 01—02, 2018. CEUR Workshop Proceedings, 2018. Vol. 2326. Pp. 107-114. Available at: http://ceur-ws.org/Vol-2326/paper14.pdf (accessed 18 Aug 2020).

18. Paige R. F., Kolovos D. S., Polack F. A. C. A Tutorial on Metamodelling for Grammar Researchers, Science of Computer Programming, 2014, Vol. 96, Pt. 4, Pp. 396-416.

DOI: 10.1016/j .scico.2014.05.007.

19. Mooij A., Hooman J. Creating a Domain Specific Language (DSL) with Xtext. V10.0, 2019-10-14 — Eclipse IDE 2020-09 & Xtext 2.23. Nijmegen, Radboud University Nijmegen, 2020, 37 p. Available at: http://www.cs.ru.nl/J.Hooman/ DSL/Creating_a_Domain_Specific_Language_(DSL)_with_ Xtext.pdf (accessed 21 Oct 2020).

20. Idani A., Ledru Y., Wakrime A. A., et al. Towards a Tool-Based Domain Specific Approach for Railway Systems Modeling and Validation. In: Collart-Dutilleul S., Lecomte T., et al. (eds) Reliability, Safety, and Security of Railway Systems. Modelling, Analysis, Verification, and Certification: Proceedings of Third International Conference on Reliability, Safety, and Security of Railway Systems (RSSRail 2019), Lille,

France, June 04—06, 2019. Lecture Notes in Computer

Science, 2019, Vol. 11495, Pp. 23-40.

DOI: 10.1007/978-3-030-18744-6_2.

Available at: http://vasco.imag.fr/tools/meeduse/papers/

RSSRail_Idam_Chapter_Author.pdf (accessed 28 Oct 2020).

21. Berkenkötter K., Hannemann U., Peleska J. The Railway Control System Domain. Draft Version. Bremen, 2006.

Available at: http://www.informatik.um-bremen.de/agbs/rese-arch/RC SD/RC SDprofile.pdf (accessed 18 Aug 2020).

22. Samonov A. V. Methods and Means for Automated Information Systems Development based on Ontology «Software and Hardware Complexes Quality Management» [Metody i sredstva razrabotki avtomatizirovannykh informatsionnykh sis-tem na osnove ontologii «Upravlenie kachestvom pro-grammno-tekhnicheskikh kompleksov»], Proceedings of the Institute for System Programming of the RAS [Trudy Instituta sistemnogo programmirovaniya RAN], 2019, Vol. 31, Is. 5, Pp. 165-182. DOI: 10.15514/ISPRAS-2019-31(5)-13.

23. Kanso B., Taha S. Specification of Temporal Properties with OCL, Science of Computer Programming, 2014, Vol. 96, Pt. 4, Pp. 527-551.

DOI: 10.1016/j.scico.2014.02.029.

Available at: http://www.researchgate.net/publication/ 260756267_Specification_of_temporal_properties_with_OCL (accessed 18 July 2020).

i Надоели баннеры? Вы всегда можете отключить рекламу.