Труды СПИИРАН
RUS  ENG    ЖУРНАЛЫ   ПЕРСОНАЛИИ   ОРГАНИЗАЦИИ   КОНФЕРЕНЦИИ   СЕМИНАРЫ   ВИДЕОТЕКА   ПАКЕТ AMSBIB  
Общая информация
Последний выпуск
Архив

Поиск публикаций
Поиск ссылок

RSS
Последний выпуск
Текущие выпуски
Архивные выпуски
Что такое RSS



Информатика и автоматизация:
Год:
Том:
Выпуск:
Страница:
Найти






Персональный вход:
Логин:
Пароль:
Запомнить пароль
Войти
Забыли пароль?
Регистрация


Труды СПИИРАН, 2020, выпуск 19, том 3, страницы 481–514
DOI: https://doi.org/10.15622/sp.2020.19.3.1
(Mi trspy1106)
 

Математическое моделирование и прикладная математика

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

И. В. Афанасьеваa, Ф. А. Новиковb, Л. Н. Федорченкоcd

a Федеральное государственное бюджетное учреждение науки Специальная астрофизическая обсерватория Российской академии наук (САО РАН)
b Федеральное государственное автономное образовательное учреждение высшего образования «Санкт-Петербургский политехнический университет Петра Великого» (СПбПУ)
c Федеральное государственное бюджетное учреждение науки Санкт-Петербургский институт информатики и автоматизации Российской академии наук (СПИИРАН)
d Санкт-Петербургский государственный университет (СПбГУ)
Аннотация: Событийно-управляемые программные системы в научной литературе относят к классу систем со сложным поведением, называемых реагирующими системами (reactive systems), то есть систем, которые на одно и то же входное воздействие реагируют по-разному в зависимости от своего состояния и предыстории. Такие системы удобно описывать с помощью автоматных моделей с использованием специальных языковых средств – как графических, так и текстовых. Представлена методика автоматизированного построения систем со сложным поведением с использованием разработанного авторами языка CIAO (Cooperative Interaction of Automata Objects), который позволяет на основе неформального описания реагирующей системы формально специфицировать требуемое поведение. Описание реагирующей системы может быть задано словесно на естественном языке или иным способом, принятым в конкретной предметной области. Далее по этой спецификации на языке CIAO специальным преобразователем генерируется программная система взаимодействующих автоматов на языке программирования С++. Сгенерированная программа реализует поведение, гарантированно соответствующее заданной спецификации и исходному неформальному описанию. Для языка CIAO предусмотрена как графическая, так и текстовая нотация. Графическая нотация основана на расширенной нотации диаграмм автомата и диаграмм компонентов унифицированного языка моделирования UML, которые хорошо зарекомендовали себя в описании поведения управляемых событиями систем. Текстовый синтаксис языка CIAO описан контекстно-свободной грамматикой в регулярной форме. Автоматически генерируемый код на языке С++ допускает использование как библиотечных, так и любых внешних функций, написанных вручную. При этом доказательное соответствие формальной спецификации и сгенерированного кода сохраняется при условии соответствия внешних функций своим спецификациям. В качестве примера предложено оригинальное решение задачи Д. Кнута о реагирующей системе управления лифтом. Продемонстрирована действенность предлагаемой методики, поскольку сам автомат-преобразователь, генерирующий код на С++, представлен как реагирующая система, специфицирован на языке CIAO и реализован методом раскрутки. Проведено сравнение предлагаемой методики с другими известными формальными методами описания систем со сложным поведением.
Ключевые слова: модель поведения, системы со сложным поведением, реагирующие системы, граф переходов состояний, синтаксическая граф-схема, грамматика в регулярной форме, шаблоны генерации кода C++.
Поступила в редакцию: 21.04.2020
Тип публикации: Статья
УДК: 006.72
Образец цитирования: И. В. Афанасьева, Ф. А. Новиков, Л. Н. Федорченко, “Методика построения событийно-управляемых программных систем с использованием языка спецификации CIAO”, Тр. СПИИРАН, 19:3 (2020), 481–514
Цитирование в формате AMSBIB
\RBibitem{AfaNovFed20}
\by И.~В.~Афанасьева, Ф.~А.~Новиков, Л.~Н.~Федорченко
\paper Методика построения событийно-управляемых программных систем с использованием языка спецификации CIAO
\jour Тр. СПИИРАН
\yr 2020
\vol 19
\issue 3
\pages 481--514
\mathnet{http://mi.mathnet.ru/trspy1106}
\crossref{https://doi.org/10.15622/sp.2020.19.3.1}
Образцы ссылок на эту страницу:
  • https://www.mathnet.ru/rus/trspy1106
  • https://www.mathnet.ru/rus/trspy/v19/i3/p481
  • Citing articles in Google Scholar: Russian citations, English citations
    Related articles in Google Scholar: Russian articles, English articles
    Информатика и автоматизация
    Статистика просмотров:
    Страница аннотации:149
    PDF полного текста:165
     
      Обратная связь:
     Пользовательское соглашение  Регистрация посетителей портала  Логотипы © Математический институт им. В. А. Стеклова РАН, 2024