Abstract
A method for designing and implementing reactive object-oriented programs with explicit emphasis of states is suggested. The method relies on the automata-based programming (SWITCH-technology) and the UML notation. The UniMod tool based on this method, which is a plug-in module for the Eclipse platform, is described.
Similar content being viewed by others
Explore related subjects
Discover the latest articles, news and stories from top researchers in related subjects.References
Sommerville, I., Software Engineering, Pearson Education, 2001, 6th ed.
Kuznetsov, S., UML 2.0: Promises and Disappointments, Otkrytye systemy, 2006, no. 2, pp. 75–79.
1st European Conf. on Model-Driven Software Engineering, Germany, 2003, http://www.agedis.de/conference.
Int. Workshop “e-Business and Model Based in System Design”, IBM EE/A. SPb.: SPb ETU, 2004.
OMG Model Driven Architecture, http://www.omg.org/mda.
Booch, G., Rumbaugh, J., and Jacobson, I., The Unified Modeling Language Reference Manual, Addison-Wesley, 1998.
Mellor, S. and Balcer, M., Executable UML: A Foundation for Model Driven Architecture, Addison-Wesley, 2002.
Raistrick, C., Francis, P., and Wright, J., Model Driven Architecture with Executable UML, Cambridge University Press, 2004.
Graham, I., Object-Oriented Methods: Principles and Practice, Addison-Wesley, 2000, 3d ed.
Wikipedia, Finite state machine. Tools, http://en.wikipedia.org/wiki/Finite_automaton#Tools.
Sun Studio Enterprise, http://developers.sun.com/prodtech/javatools/jsenterprise/reference/techart/whatis.html.
Jacobson, I., Four Macro Trends in Software Development Y2004, http://www.ivarjacobson.com/postnuke/html/modules.php?op=modload&name=UpDownload&file=index&req=getit&lid=9.
Jacobson, I., Booch, G., and Rumbaugh, J., The Unified Software Development Process, Addison-Wesley, 1999.
Novikov, F., Visual Program Design, Informatsionnoupravlyayushchie systemy, 2005, no. 6, pp. 9–22, http://is.ifmo.ru/works/visualcons.
Harel, D., Statecharts: A Visual Formalism for Complex Systems, Sci. Comput. Program, 1987, vol. 8, pp. 231–274.
I-Logix Statemate, http://ilogix.com/sublevel.aspx?id=74.
XJTek AnyState, http://www.xjtek.com/anystates.
StateSoft ViewControl, http://www.statesoft.ie/products.html.
IAR Systems visualSTATE, http://www.iar.com/p1014/p1014_eng.php.
The State Machine Compiler, http://smc.sourceforge.net.
Jia X. et al., Using ZOOM Approach to Support MDD, http://se.cs.depaul.edu/ise/zoom/papers/zoom/SERP_ZOOM.pdf.
Riehle, D., Fraleigh, S., Bucka-Lassen, D., and Omorogbe, N., The Architecture of a UML Virtual Machine, Proc. of the 2001 Conf. on Object-Oriented Programming Systems, Languages, and Applications (OOPSLA’01), ACM 2001.
Matilda UML Virtual Machine, http://dssg.cs.umb.edu/projects/umlvm.
Kennedy Carter iUML, http://www.kc.com/products/iuml/index.html.
Telelogic TAU G2, http://telelogic.com/corp/products/tau/g2/index.cfm.
Shalyto, A.A., SWITCH-tekhnologiya. Algorithmizatsiya i programmirovanie zadach logicheskogo upravleniya (SWITCH-Technology: Algorithmization and Programming of Logic Control Problems), St. Petersburg: Nauka, 1998, http://is.ifmo.ru/books/switch/1.
Shalyto, A.A. and Tukkel’, N.I., SWITCH-Technology: An Automated Approach to Developing Software for Reactive Systems, Programmirovanie, 2001, no. 5, pp. 45–62. [Programming Comput. Software (Engl. Transl.), 2001, vol. 27, no. 5, pp. 260–276].
Shalyto, A.A. and Tukkel’, N.I., Tanks and Automata, BYTE, Russia, 2003, no. 2, pp. 69–73, http://s.ifmo.ru/works/tanks_new.
MetaObject Facility Core Specification Version 2.0. http://www.omg.org/technology/documents/formal/MOF_Core.htm.
Gomaa, H., Designing Concurrent, Distributed, and Real-Time Applications with UML, Addison-Wesley, 2000.
Gurov, V.S., Mazin, M.A., and Shalyto, A.A., Operational Semantics of UML State Diagrams in the UniMod Software Package, Trudy XII Vserossiiskoi nauchnometodicheskoi konferentsii “Telematika-2005” (Proc. of the XII All-Russian Scientific Conference), St. Petersburg: SpbGU ITMO, vol. 1, pp. 74–76. http://tm.ifmo.ru/tm2005/scr/224as.pdf.
Velocity—Java-based template engine, http://jakarta.apache.org/velocity/index.html.
Fowler, M., Brant, J., Opdyke, W., and Roberts, D., Refactoring: Improving the Design of Existing Code, Addison-Wesley, 2000.
Fruchterman, T.M.J. and Reingold, E.M., Graph Drawing by Force Directed Placemen, Software—Practice and Experience, 1991, vol. 21, no. 11, pp. 1129–1164.
Shalyto, A.A., A New Initiative in Programming: The Demand for Open Project Documentation, PC Week/RE, 2003, no. 40, pp. 38–42, http://is.ifmo.ru/works/open_doc.
Clarke, E., Grumberg, O., and Peled, D., Model Checking, MIT, 2000.
Dijkstra, E.W., Notes on Structured Programming, Structured Programming, Dahl, O.-J., Dijkstra, E.W., and Hoare, C.A.R., Eds., London: Academic, 1972.
Meyer, B., Object Oriented Software Construction, Prentice-Hall, 1997.
Borland Together, http://www.borland.com/us/ products/together/index.html.
Gorshkova, E.A. and Novikov, B.A., Use of Statechart Diagrams for Modeling Hypertext, Programmirovanie, 2004, no. 1, pp. 64–80 [Programming Comput. Software (Engl. Transl.), 2004, vol. 30, no. 1, pp. 47–51].
Gorshkova, E.A., Novikov, B.A., Belov, D.D., Gurov, V.S., and Spiridonov, S.V., A UML-Based Modeling of Web Application Controller, Programmirovanie, 2005, no. 1, pp. 44–51 [Programming Comput. Software (Engl. Transl.), 2005, vol. 31, no. 1, pp. 29–33].
Eckel, B., Thinking in Java, Prentice-Hall, 2002.
Parashchenko, D.A., Tsarev, F.N., and Shalyto, A.A., Modeling Technology Based on Automata-based programming for One Class of Multiagent Systems on the Example of Game “Competition of Flying Saucers,” http://is.ifmo.ru (UniMod Projects Section).
Shalyto, A.A., Two Meetings with I. Jacobson, http://is.ifmo.ru/aboutus/uml_ph, http://is.ifmo.ru/belletristic/jacobson.
Gurov, V., Narvsky, A., and Shalyto, A., Executable UML from Russia, PC Week/RE, 2005, no. 26, pp. 18–19, http://is.ifmo.ru/works/_umlrus.pdf.
Regan, P. and Hamilton, S., NASA’s Mission Reliable, 24–32, http://www.osp.ru/os/2004/03/045\_print.htm.
Author information
Authors and Affiliations
Corresponding author
Additional information
Original Russian Text © V.S. Gurov, M.A. Mazin, A.S. Narvsky, A.A. Shalyto, 2007, published in Programmirovanie, 2007, Vol. 33, No. 6.
Rights and permissions
About this article
Cite this article
Gurov, V.S., Mazin, M.A., Narvsky, A.S. et al. Tools for support of automata-based programming. Program Comput Soft 33, 343–355 (2007). https://doi.org/10.1134/S0361768807060059
Received:
Issue Date:
DOI: https://doi.org/10.1134/S0361768807060059