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...
Main Author: | |
---|---|
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 |