doi: 10.17586/2226-1494-2024-24-6-1035-1043


УДК 004.415.52, 004.434

Язык спецификации взаимодействия автоматных объектов

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


Читать статью полностью 
Язык статьи - английский

Ссылка для цитирования:
Новиков Ф.А., Афанасьева И.В., Федорченко Л.Н., Харисова Т.А. Язык спецификации взаимодействия автоматных объектов // Научно-технический вестник информационных технологий, механики и оптики. 2024. Т. 24, № 6. С. 1035–1043 (на англ. яз.). doi: 10.17586/2226-1494-2024-24-6-1035-1043 


Аннотация
Введение. Автоматное программирование — парадигма программирования, успешно применяемая при разработке реагирующих систем, распределенных систем управления и различных ответственных приложений, где критически важна возможность верификации соответствия реальной системы ее модели, заданной в виде спецификаций. Традиционное тестирование таких систем может быть затруднено, поэтому требуются более совершенные средства верификации для повышения степени доверия к надежности реальной системы. Предложенный ранее язык спецификации кооперативного взаимодействия автоматных объектов (Cooperative Interaction of Automata Objects, CIAO) был успешно применен для разработки нескольких реагирующих систем. Однако он также выявил ряд недостатков, которые устранены в CIAO v.3. Метод. Новая версия языка разработана с целью автоматической верификации автоматных программ по формальным спецификациям определенного класса систем реального времени. CIAO v.3 содержит три нововведения в отличие от предшествующих версий. Во-первых, явное разграничение автоматных классов и автоматных объектов как экземпляров этих классов. Во-вторых, спецификация связывания автоматных объектов через интерфейсы с помощью схемы связей. В-третьих, описание семантики поведения системы взаимодействующих автоматных объектов с помощью семантического граф а. Основные результаты. В работе представлены основные концепции новой версии языка, приведены абстрактный синтаксис, операционная семантика и метамодель. Обсуждение. CIAO v.3 позволяет естественным образом включить в парадигму автоматного программирования почти все преимущества объектноориентированного программирования. Подключение автоматных объектов через соответствующие интерфейсы произвольным образом отражает схема связей. Семантический граф, описывающий семантику поведения автоматной программы, используется для реализации автоматической верификации относительно некоторых формальных спецификаций. 

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

Список литературы
  1. Шалыто А.А. Программная реализация управляющих автоматов // Судостроительная промышленность. Сер. Автоматика и телемеханика. 1991. № 13. С. 41–42.
  2. Harel D. Statecharts: a visual formalism for complex systems // Science of Computer Programming. 1987. V. 8. N 3. P. 231–274. https://doi.org/10.1016/0167-6423(87)90035-9
  3. Harel D., Pnueli A. On the development of reactive systems // Logics and Models of Concurrent Systems. Berlin, Heidelberg: Springer, 1985. P. 477–498. https://doi.org/10.1007/978-3-642-82453-1_17
  4. Harel D., Feldman Y.A. Algorithmics: The Spirit of Computing. London: Pearson Education, 2004. 513 p. https://doi.org/10.1007/978-3-642-27266-0
  5. Шалыто А.А. Switch-технология. Алгоритмизация и программирование задач логического управления. СПб.: Наука, 1998. 617 с.
  6. Поликарпова Н.И., Шалыто А.А. Автоматное программирование. СПб.: Питер, 2011. 176 с.
  7. Шалыто А.А. Парадигма автоматного программирования // Научно-технический вестник Санкт-Петербургского государственного университета информационных технологий, механики и оптики. 2008. № 53. С. 3–23.
  8. Новиков Ф.А., Афанасьева И.В. Кооперативное взаимодействие автоматных объектов // Информационно-управляющие системы. 2016. № 6. С. 50–63. https://doi.org/10.15217/issn1684-8853.2016.6.50
  9. Afanasieva I.V. Data acquisition and control system for high-performance large-area CCD systems // Astrophysical Bulletin. 2015. V. 70. N 2. P. 232–237. https://doi.org/10.1134/S1990341315020108
  10. Levonevskiy D., Novikov F., Fedorchenko L., Afanasieva I. Verification of Internet protocol properties using cooperating automaton objects // Proc. of the 12th International Conference on Security of Information and Networks (SIN'19). 2019. P. 1–4. https://doi.org/10.1145/3357613.3357639
  11. Афанасьева И.В., Новиков Ф.А., Федорченко Л.Н. Методика построения событийно-управляемых программных систем с использованием языка спецификации CIAO// Труды СПИИРАН. 2020. Т. 19. № 3. С. 481–514. https://doi.org/10.15622/sp.2020.19.3.1
  12. Novikov F., Fedorchenko L., Vorobiev V., Fatkieva R., Levonevskiy D. Attribute-based approach of defining the secure behavior of automata objects // Proc. of the 10th International Conference on Security of Information and Networks (SIN'17). 2017. P. 67–72. https://doi.org/10.1145/3136825.3136887
  13. Новиков Ф.А., Иванов Д.Ю. Моделирование на UML. Теория, практика, видеокурс. СПб.: Профессиональная литература, 2010. 640 с.
  14. Afanasieva I.V., Novikov F.A., Fedorchenko L.N. Verification of event-driven software systems using the specification language of cooperating automata objects// Научно-технический вестник информационных технологий, механики и оптики. 2023. Т. 23. № 4. С. 750–756. https://doi.org/10.17586/2226-1494-2023-23-4-750-756
  15. Rumbaugh J., Jacobson I., Booch G. The Unified Modeling Language Reference Manual / 2nd ed. Addison-Wesley Professional, 2010.
  16. Hopcroft J.E., Motwani R., Ullman J.D. Introduction to Automata Theory, Languages, and Computation / 3rd ed. Boston: Addison-Wesley, 2006. 535 p.
  17. Meyer B. Object-Oriented Software Construction / 2nd ed. Prentice-Hall, 1997. 1254 p.
  18. Лавров С.С. Программирование. Математические основы, средства, теория. СПб.: БХВ-Петербург, 2001. 320 с.
  19. Friedl J.E.F. Mastering Regular Expressions / 3rd ed. O’Reilly, 2006.
  20. Новиков Ф.А., Тихонова У.Н. Автоматный метод определения проблемно-ориентированных языков. Ч. 3 // Информационно-управляющие системы. 2010. № 3. С. 29–37.
  21. 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
  22. Новиков Ф.А., Афанасьева И.В., Федорченко Л.Н., Харисова Т.А. Применение условных регулярных выражений в задачах верификации управляющих автоматных программ // Сборник трудов XIV Всероссийского совещания по проблемам управления (ВСПУ-2024). М.: ИПУ РАН, 2024. С. 2960–2964.
  23. Meyer B. Touch of Class: Learning to Program Well with Objects and Contracts. Berlin: Springer, 2009. 876 p. https://doi.org/10.1007/978-3-540-92145-5
  24. Weisfeld M. The Object-Oriented Thought Process / 5th ed. Addison-Wesley Professional, 2019.


Creative Commons License

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

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