Меню
Публикации
2026
2025
2024
2023
2022
2021
2020
2019
2018
2017
2016
2015
2014
2013
2012
2011
2010
2009
2008
2007
2006
2005
2004
2003
2002
2001
Главный редактор
НИКИФОРОВ
Владимир Олегович
д.т.н., профессор
Партнеры
doi: 10.17586/2226-1494-2026-26-1-154-164
УДК 004.415.52, 004.434
Реализация кооперативного взаимодействия автоматных объектов (на англ.яз.)
Читать статью полностью
Язык статьи - английский
Ссылка для цитирования:
Аннотация
Ссылка для цитирования:
Новиков Ф.А., Афанасьева И.В., Федорченко Л.Н., Харисова Т.А. Реализация кооперативного взаимодействия автоматных объектов // Научно-технический вестник информационных технологий, механики и оптики. 2026. Т. 26, № 1. С. 154–164 (на англ. яз.). doi: 10.17586/2226-1494-2026-26-1-154-164
Аннотация
Введение. Рассмотрены вопросы реализации взаимодействия автоматных объектов, формализованных посредством специализированных графов переходов состояний. Данный подход к представлению подобен диаграммам автоматов в UML (Unified Modeling Language), существенно облегчает разработку и последующее сопровождение программного обеспечения. Каждый автоматный объект управляет определенными аспектами поведения системы, а их взаимодействие через соответствующие интерфейсы обеспечивает достижение общих целей. Визуализация таких объектов реализуется с помощью языка автоматного программирования CIAO (Cooperative Interaction of Automaton Objects) v.3. Использование механизма взаимодействия предполагает создание программной системы, которая поддерживает совместное выполнение и взаимодействие автоматных объектов. Метод. Для выполнения предлагаемого автоматного взаимодействия применяется метод раскрутки, который известен с середины 1960-х годов и представляет собой технику создания компилятора или интерпретатора на том же языке, для которого он создается. Для построения начального интерпретатора используется метод пошагового уточнения. Затем, на основе шаблонов преобразования императивных конструкций в автоматные, интерпретатор модифицируется в систему взаимодействующих автоматных объектов, что является итогом процесса раскрутки. Основные результаты. Разработаны структуры данных для представления программ на языке CIAO v.3, описана структура интерпретатора на псевдокоде методом пошагового уточнения. Предложены шаблоны для реализации императивных конструкций средствами автоматного программирования. Представлена структура интерпретатора языка CIAO v.3 на данном языке. Реализован прототип интерпретатора на языке Python. Обсуждение. Полученные результаты продемонстрировали успешную программную самореализацию языка CIAO v.3 методом раскрутки. Показано, что язык CIAO v.3 обеспечивает эффективное проектирование и реализацию программных решений, а также гарантирует безотказное взаимодействие компонентов за счет возможности автоматической проверки свойств программ на языке CIAO v.3. Предложенный подход может быть использован для реализации предметно-ориентированных языков в мультиагентных системах и интерфейсах человеко-машинного взаимодействия.
Ключевые слова: автоматное программирование, граф переходов состояний, UML, диаграмма конечного автомата, метод раскрутки, метод пошагового уточнения, преобразование императивных программ в автоматные
Благодарности. Автор Л.Н. Федорченко выполняла исследование в рамках Государственного научно-исследовательского задания (тема № FFZF-2025-0006).
Список литературы
Благодарности. Автор Л.Н. Федорченко выполняла исследование в рамках Государственного научно-исследовательского задания (тема № FFZF-2025-0006).
Список литературы
1. Novikov F.A., Afanasieva I.V., Fedorchenko L.N., Kharisova T.A. Specification language for automatаbased objects cooperation // Scientific and Technical Journal of Information Technologies, Mechanics and Optics. 2024. V. 24. N 6. P. 1035–1043. https://doi.org/10.17586/2226-1494-2024-24-6-1035-1043
2. Novikov F.A., Afanasieva I.V., Fedorchenko L.N., Kharisova T.A. Verification of the formal requirements for the system behavior based on automaton objects // Scientific and Technical Journal of Information Technologies, Mechanics and Optics. 2025. V. 25. N 2. P. 328–338. https://doi.org/10.17586/2226-1494-2025-25-2-328-338
3. Шалыто А.А. Парадигма автоматного программирования // Научно-технический вестник Санкт-Петербургского государственногоу ниверситета информационных технологий, механики и оптики. 2008. № 53. С. 3–23.
4. Шалыто А.А. Switch-технология. Алгоритмизация и программирование задач логического управления. СПб.: Наука, 1998. 617 с.
5. Поликарпова Н.И., Шалыто А.А. Автоматное программирование. СПб.: Питер, 2011. 176 с.
6. Gurov V.S., Mazin M.A., Narvsky A.S., Shalyto A.A. Tools for Support of Automata-Based Programming // Programming and Computer Software. 2007. V. 33. N 6. P. 343–355. https://doi.org/10.1134/s0361768807060059
7. Новиков Ф.А. Визуальное конструирование программ // Информационно-управляющие системы. 2005. № 6 (19). С. 9–22.
8. Афанасьева И.В., Новиков Ф.А., Федорченко Л.Н. Методика построения событийно-управляемых программных систем с использованием языка спецификации CIAO // Труды СПИИРАН. 2020. Т. 19. № 3. С. 481–514. https://doi.org/10.15622/sp.2020.19.3.1
9. Dahl O.-J., Dijkstra E.W., Hoare C.A.R. Structured Programming. Academic Press,1972. 220 p.
10. Fedorchenko L., Baranov S. Equivalent transformations and regularization in context-free grammars // Cybernetics and Information Technologies. 2015. V. 14. N 4. P. 29–44. https://doi.org/10.1515/cait-2014-0003
11. Levine J.R., Mason T., Brown D. Lex & Yacc. O’Reilly Media, 1992. 459 p.
12. Parr T. The Definitive ANTLR 4 Reference. Pragmatic Bookshelf, 2013. 328 p.
13. Aho A.V., Ullman J.D. The Theory of Parsing, Translation and Compiling, V. 1: Parsing. Prentice-Hall, 1972. 560 p.
14. Wirth N. Program development by stepwise refinement // Communications of the ACM. 1971. V. 14. N 4. P. 221–227. https://doi.org/10.1145/362575.362577
15. Brown P.J. Macro Processors and Techniques for Portable Software. Wiley, 1974. 244 p.
16. Новиков Ф.А. Алгоритмы небесной механики: Материалы математического обеспечения ЭВМ. Ленинград: Институт теоретическойастрономии АН СССР, 1979. 16 с.
17. Лукьянова А.П. Преобразования программ, сохраняющие поведение. Магистерская диссертация. СПб: СПбГУ ИТМО, 2007. URL: https://is.ifmo.ru/diploma-theses/28_07_2007_Lukianova
18. Новиков Ф.А. Дискретная математика для программистов.. СПб.: ПИТЕР, 2009. 384 с.

