An automata-based programming engine

Automata-based programming considers program systems construction as finite state machines that demonstrate state-based behavior. This paper analyzes approaches to data structures and their realization in different programming paradigms. The requirements for automata style implementations are estima...

Full description

Bibliographic Details
Main Author: Dmitry V. Dagaev
Format: Article
Language:English
Published: Saint Petersburg National Research University of Information Technologies, Mechanics and Optics (ITMO University) 2021-08-01
Series:Naučno-tehničeskij Vestnik Informacionnyh Tehnologij, Mehaniki i Optiki
Subjects:
Online Access:https://ntv.ifmo.ru/file/article/20577.pdf
_version_ 1819066463787417600
author Dmitry V. Dagaev
author_facet Dmitry V. Dagaev
author_sort Dmitry V. Dagaev
collection DOAJ
description Automata-based programming considers program systems construction as finite state machines that demonstrate state-based behavior. This paper analyzes approaches to data structures and their realization in different programming paradigms. The requirements for automata style implementations are estimated for actual tasks. It is shown that automatabased algorithms need approaches beyond the standard object-oriented inheritance and polymorphism. The Liskov substitution principle is considered as an implementation base instead them. Data-oriented programming approach and in particular data and code separation form the backbone of the engine. The work describes the automata data structure and code-data interaction. The dynamically loaded modules and representations of data, code and schemes provide the main building blocks. Automata-based programming engine conception is introduced to clue all above. This engine supports distributed systems referencing. In order to implement an automata-based programming engine, the pilot project has to meet a set of requirements, including modular programming support, extended metadata availability and code-free read-only data access. Oberon/Component Pascal programming language is therefore chosen, along with a BlackBox Component Builder graphical environment. Automata-based programming engine prototype is implemented as Abpe subsystem for BlackBox. Several example automata-based modules demonstrate functional interacting programs.
first_indexed 2024-12-21T16:02:46Z
format Article
id doaj.art-b5fb9ad9786a472f8cc8067e52025e52
institution Directory Open Access Journal
issn 2226-1494
2500-0373
language English
last_indexed 2024-12-21T16:02:46Z
publishDate 2021-08-01
publisher Saint Petersburg National Research University of Information Technologies, Mechanics and Optics (ITMO University)
record_format Article
series Naučno-tehničeskij Vestnik Informacionnyh Tehnologij, Mehaniki i Optiki
spelling doaj.art-b5fb9ad9786a472f8cc8067e52025e522022-12-21T18:57:58ZengSaint Petersburg National Research University of Information Technologies, Mechanics and Optics (ITMO University)Naučno-tehničeskij Vestnik Informacionnyh Tehnologij, Mehaniki i Optiki2226-14942500-03732021-08-0121452553410.17586/2226-1494-2021-21-4-525-534An automata-based programming engineDmitry V. Dagaev0https://orcid.org/0000-0003-0343-3912Chief Expert, Rusatom Automated Control Systems JSC, Moscow, 115230, Russian FederationAutomata-based programming considers program systems construction as finite state machines that demonstrate state-based behavior. This paper analyzes approaches to data structures and their realization in different programming paradigms. The requirements for automata style implementations are estimated for actual tasks. It is shown that automatabased algorithms need approaches beyond the standard object-oriented inheritance and polymorphism. The Liskov substitution principle is considered as an implementation base instead them. Data-oriented programming approach and in particular data and code separation form the backbone of the engine. The work describes the automata data structure and code-data interaction. The dynamically loaded modules and representations of data, code and schemes provide the main building blocks. Automata-based programming engine conception is introduced to clue all above. This engine supports distributed systems referencing. In order to implement an automata-based programming engine, the pilot project has to meet a set of requirements, including modular programming support, extended metadata availability and code-free read-only data access. Oberon/Component Pascal programming language is therefore chosen, along with a BlackBox Component Builder graphical environment. Automata-based programming engine prototype is implemented as Abpe subsystem for BlackBox. Several example automata-based modules demonstrate functional interacting programs.https://ntv.ifmo.ru/file/article/20577.pdfautomata-based programmingdata-oriented programmingliskov substitution principleoberoncomponent pascal
spellingShingle Dmitry V. Dagaev
An automata-based programming engine
Naučno-tehničeskij Vestnik Informacionnyh Tehnologij, Mehaniki i Optiki
automata-based programming
data-oriented programming
liskov substitution principle
oberon
component pascal
title An automata-based programming engine
title_full An automata-based programming engine
title_fullStr An automata-based programming engine
title_full_unstemmed An automata-based programming engine
title_short An automata-based programming engine
title_sort automata based programming engine
topic automata-based programming
data-oriented programming
liskov substitution principle
oberon
component pascal
url https://ntv.ifmo.ru/file/article/20577.pdf
work_keys_str_mv AT dmitryvdagaev anautomatabasedprogrammingengine
AT dmitryvdagaev automatabasedprogrammingengine