Abstract
This paper is devoted to the development of the State Machine Generator system meant for automatic code generation based on the principles of automata-based programming. This system models program logic in terms of the finite-state automaton transition graph and generates program code on its basis. Basic functions of the developed software system and the mechanism of their implementation are described. This paper also proposes a new pattern for designing automaton programs. As an example, State Machine Generator is used to develop a bug tracker system for software testing.
Similar content being viewed by others
Explore related subjects
Discover the latest articles, news and stories from top researchers in related subjects.References
Gill, A., Introduction to the Theory of Finite-State Machines, McGraw-Hill, 1962.
Yakubaitis, E.A., Vasyukevich, V.O., Gobzemis, A.Yu., Zaznova, N.E., Kurmit, A.A., Lorents, A.A., Petrenko, A.F., and Chapenko, V.P., Automata theory, Itogi Nauki Tekh., Ser.: Teor. Veroyatn. Mat. Stat. Teor. Kibern., 1976, vol. 13, pp. 109–188.
Polikarpova, N.I. and Shalyto, A.A., Avtomatnoe programmirovanie (Automata-Based Programming), St. Petersburg: Piter, 2008.
Tukkel’, N.I. and Shalyto, A.A., Diesel generator control system (excerpt). http://is.ifmo.ru/projects/dg.
Tukkel’, N.I. and Shalyto, A.A., Tank control system for the Robocode game. http://is.ifmo.ru/projects/tanks.
Al’shevskii, Yu.A., Raer, M.G., and Shalyto, A.A., Messaging mechanism for parallel machines (on the example of a turnstile control system). http://is.ifmo.ru/projects/turn.
Shalyto, A.A. and Tukkel’, N.I., Translating iterative algorithms into automaton ones, Program. Comput. Software, 2002, vol. 28, no. 5, pp. 250–260.
Shopyrin, D.G. and Shalyto, A.A., Graphical inheritance notation for state-based classes, Program. Comput. Software, 2007, vol. 33, no. 5, pp. 283–292.
Gurov, V.S., Mazin, M.A., Narvsky, A.S., and Shalyto, A.A., Tools for support of automata-based programming, Program. Comput. Software, 2007, vol. 33, no. 6, pp. 343–355.
Gamma, E., Helm, R., Johnson, R., Vlissides, J., and Booch, G., Design Patterns: Elements of Reusable Object-Oriented Software, Addison-Wesley, 1994.
Smith, D., WPF apps with the Model-View-View-Model design pattern, MSDN Magazine, 2009, no. 2.
Shamgulov, N.N., Korneev, G.A., and Shalyto, A.A., State machine: A new pattern of object-oriented design, Inf.-Upr. Sist., 2004, no. 5, pp. 13–25.
Microsoft Developer Network, Basics of serialization in. NET Framework. http://msdn.microsoft.com/ruru/library/ms233836(v=vs.90).aspx.
Moore, E.F., Gedanken-experiments on sequential machines, Automata Studies: Annals of Mathematics Studies. Number 34, Shannon, C.E. and McCarthy, J., Eds., Princeton: Princeton Univ. Press, 1956.
World Wide Web Consortium, XML schema. www.w3.org/XML/Schema.
World Wide Web Consortium, XSLT transformations (XSLT). www.w3.org/TR/xslt.
Shulga, T.E., Slastikhina, M.D., and Ivanov, E.A., State registration certificate no. 2014619043, 2014.
Ivanov, E.A, Shulga, T.E., and Slastikhina, M.D., State Machine Generator. http://state-machine-generator.blogspot.com.
Author information
Authors and Affiliations
Corresponding author
Additional information
Original Russian Text © T.E. Shulga, E.A. Ivanov, M.D. Slastihina, N.S. Vagarina, 2016, published in Programmirovanie, 2016, Vol. 42, No. 3.
Rights and permissions
About this article
Cite this article
Shulga, T.E., Ivanov, E.A., Slastihina, M.D. et al. Developing a software system for automata-based code generation. Program Comput Soft 42, 167–173 (2016). https://doi.org/10.1134/S0361768816030075
Received:
Published:
Issue Date:
DOI: https://doi.org/10.1134/S0361768816030075