Journal "Software Engineering"
a journal on theoretical and applied science and technology
ISSN 2220-3397

Issue N3 2017 year

DOI: 10.17587/prin.8.99-111
Applying Automata-based Software Engineering for the Lift Control Program
V. I. Shelekhov, vshel@iis.nsk.su, E. G. Tumurov, erdemus@gmail.com, A. P. Ershov Institute of Informatics Systems, Novosibirsk, 630090, Russian Federation
Corresponding author: Shelekhov Vladimir I., Head of Laboratory, A. P. Ershov Institute of Informatics Systems, Novosibirsk, 630090, Russian Federation, E-mail: vshel@iis.nsk.su
Received on December 8, 2016
Accepted on December 15, 2016

Automata-based software engineering is intended to develop the simple, reliable, and effective programs from the class of reactive systems. A formal rule-based language is used for a specification of functional requirements of a reactive system. This specification language is easily translated to the automata-based programming language that extends the predicate programming language P. In this article, automata-based methods of software engineering are presented in the form of true balance between integrated automata-based, predicate, and object-oriented software engineering. These methods are applied for the lift control programs, which are often used for illustration of new software engineering methods. The lift control program is not trivial. Being automata-based in general, it includes fragments that are not automata-based and should be programmed in other paradigms. To simplify the complex environment of the lift control program, only objects of the Lift class interface are used in the main program. The implementation of the Lift class hides numerous details of the environment. The lift control program presented is the most easy and short among other six lift control programs demonstrated in the articles and books as illustrations of different successful methods. There are three factors why our lift control program is the best: hypergraph automata composition of the program with the usage of the hyperfunctions, hiding detail inside Lift, and development primitives outside of automata-based engineering.

Keywords: program comprehension, automata-based software engineering, reactive system, requirement engineering, requirement specification
pp. 99–111
For citation:
Shelekhov V. I., Tumurov E. G. Applying Automata-based Software Engineering for the Lift Control Program, Programmnaya Ingeneria, 2017, vol. 8, no. 2, pp. 99—111.

This work was supported by the Russian Foundation for Basic Research, project nos. 16-01-00498.