Abstract
State machines, represented by statecharts or state machine diagrams, are an important formalism for behavioural modelling. According to the research literature, the most popular statechart formalisms appear to be Classical, UML, and that implemented by Rhapsody. These three formalisms seem to be very similar; however, there are several key syntactic and semantic differences. These differences are enough that a model written in one formalism could be ill-formed in another formalism. Worse, a model from one formalism might actually be well-formed in another, but be interpreted differently due to the semantic differences. This paper summarizes the results of an informal comparative study of these three formalisms with the help of several illustrative examples. We present a classification of the differences according to the nature of potential problems caused by each difference. In addition, for each difference we discuss how translation between formalisms can be achieved, if at all.
Similar content being viewed by others
References
Alur R., Benedikt M., Etessami K., Godefroid P., Reps T. and Yannakakis M. (2005). Analysis of recursive state machines. ACM Trans. Program. Languages Systems 27(4): 786–818
Berry G. and Gonthier G. (1992). The ESTEREL synchronous programming language: design, semantics, implementation. Sci. Comput. Program. 19: 87–152
Booch, G., Rumbaugh, J., Jacobson, I.: The Unified Modeling Language User Guide. Addison-Wesley (1999)
Crane, M.L., Dingel, J.: On the semantics of UML state machines: Categorization and comparison. Technical Report 2005-501, School of Computing, Queen’s University (2005)
Damm, W., Josko, B., Hungar, H., Pnueli A.: A compositional real-time semantics of STATEMATE designs. In: Compositionality: The Significant Difference, Lecture Notes in Computer Science, vol. 1536, pp. 186–238. Springer, Heidelberg (1998)
Douglass, B.P.: Real Time UML. Object Technology Series. 3rd edn. Addison-Wesley (2004)
Gogolla, M., Parisi-Presicce F.: State diagrams in UML: a formal semantics using graph transformations. In: Proceedings of the Workshop on Precise Semantics for Modelling Techniques (PSMT’98), pp. 55–72. Technische Universität München, TUM-I9803 (1998)
Harel D. (1987). Statecharts: a visual formalism for complex systems. Sci. Comput. Program. 8(3): 231–274
Harel, D.: Some thoughts on statecharts, 13 years later. In: Proceedings of the 9th International Conference on Computer Aided Verification (CAV’97), Lecture Notes in Computer Science, vol. 1254, pp. 226–231. Springer, Heidelberg (1997)
Harel D. and Gery E. (1997). Executable object modeling with statecharts. Computer 30(7): 31–42
Harel, D., Kugler H.: The Rhapsody semantics of statecharts (on, on the executable core of the UML) (preliminary version). In: SoftSpez Final Report, Lecture Notes in Computer Science, vol. 3147, pp. 325–354. Springer, Heidelberg (2004)
Harel D. and Naamad A. (1996). The STATEMATE semantics of statecharts. ACM Trans. Soft. Eng. Methodol. (TOSEM) 5(4): 293–333
Harel, D., Pnueli, A., Schmidt, J.P., Sherman R.: On the formal semantics of statecharts. In: Proceedings of the 2nd IEEE Symposium on Logic in Computer Science, pp. 54–64. Computer Society Press of the IEEE (1987)
Harel, D., Politi M.: Modeling Reactive Systems with Statecharts: The STATEMATE Approach. McGraw-Hill (1998)
Howe, D. (ed.): The free on-line dictionary of computing. http://www.foldoc.org/
Huizing C. and de Roever W.P. (1991). Introduction to design choices in the semantics of statecharts. Inform. Process. Lett. 37(4): 205–213
Huizing, C., Gerth, R., de Roever, W.P.: Modelling Statecharts behaviour in a fully abstract way. In: CAAP ’88: 13th Colloquium on Trees in Algebra and Programming, Lecture Notes in Computer Science, vol. 299, pp. 271–294. Springer, Heidelberg (1988)
I-Logix: Rhapsody 6.2 User Guide
I-Logix: Rhapsody. http://www.ilogix.com/sublevel.aspx? id=53
I-Logix: Statemate. http://www.ilogix.com/sublevel.aspx? id=74
Lüttgen, G., von der Beeck, M., Cleaveland, R.: A compositional approach to statecharts semantics. In: Proceedings of the 8th ACM SIGSOFT International Symposium on Foundations of Software Engineering, pp. 120–129. ACM Press (2000)
Maggiolo-Schettini, A., Peron, A.: A graph rewriting framework for statecharts semantics. In: Proceedings of the International Conference on Graph Grammars (GRAGRA), Notes in Computer Science, vol. 1996, pp. 107–121. Springer, Heidelberg (1996)
Maggiolo-Schettini A., Peron A. and Tini S. (2003). A comparison of statecharts step semantics. Theor. Comput. Sci. 290(1): 465–498
Mikk, E.: Semantics and Verification of Statecharts. PhD thesis, Christian-Albrechts University of Kiel, 2000. Bericht Nr. 2011
Mikk, E., Lakhnech, Y., Siegel M.: Hierarchical automata as model for statecharts. In: Proceedings of the Asian Computing Science Conference (ASIAN ’97), Lecture Notes in Computer Science, vol. 1345, pp. 181–196. Springer, Heidelberg (1997)
OMG. UML specification. Document formal/03-03-01, Object Management Group, Version 1.5 (2003)
OMG. UML 2.0 infrastructure specification. Document ptc/03-09-15, Object Management Group (2004)
OMG. Unified Modeling Language: Superstructure version 2.0. Document formal/05-07-04, Object Management Group (2005)
Pnueli, A., Shalev M.: What is in a step: On the semantics of statecharts. In: Proceedings of the International Conference on Theoretical Aspects of Computer Software (TACS’91), Lecture Notes in Computer Science, vol. 526, pp. 244–264. Springer, Heidelberg (1991)
Selic B. (2003). The pragmatics of model-driven development. IEEE Softw. 20(5): 19–25
Selic B.: Personal Communication (Email dated 4 Mar 05) (2005)
UML 2 Semantics Project. http://www.cs.queensu.ca/ Estl/ internal/uml2
Uselton, A.C., Smolka, S.A.: A compositional semantics for statecharts using labeled transition systems. In: Proceedings of Concurrency Theory (CONCUR ’94), Lecture Notes in Computer Science, vol. 836, pp. 2–17. Springer, Heidelberg (1994)
von der Beeck, M.: A comparison of statecharts variants. In: Formal Techniques in Real-Time and Fault-Tolerant Systems (FTRTFT’94), Lecture Notes in Computer Science, vol. 863, pp. 128–148. Springer, Heidelberg (1994)
von der Beeck M. (2002). A structured operational semantics for UML-statecharts. Softw. Systems Modeling 1(2): 130–141
Author information
Authors and Affiliations
Corresponding author
Additional information
Communicated by Dr. Lionel Briand.
Rights and permissions
About this article
Cite this article
Crane, M.L., Dingel, J. UML vs. classical vs. rhapsody statecharts: not all models are created equal. Softw Syst Model 6, 415–435 (2007). https://doi.org/10.1007/s10270-006-0042-8
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10270-006-0042-8