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
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