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).

Список литературы
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 с.


Creative Commons License

This work is licensed under a Creative Commons Attribution-NonCommercial 4.0 International License
Информация 2001-2026 ©
Научно-технический вестник информационных технологий, механики и оптики.

Яндекс.Метрика