UML vs. classical vs. rhapsody statecharts: not all models are created equal

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.

[1]  David Harel,et al.  Statecharts: A Visual Formalism for Complex Systems , 1987, Sci. Comput. Program..

[2]  Amnon Naamad,et al.  The STATEMATE semantics of statecharts , 1996, TSEM.

[3]  Amir Pnueli,et al.  What is in a Step: On the Semantics of Statecharts , 1991, TACS.

[4]  강문설 [서평]「The Unified Modeling Language User Guide」 , 1999 .

[5]  Amir Pnueli,et al.  A Compositional Real-Time Semantics of STATEMATE Designs , 1997, COMPOS.

[6]  David Harel,et al.  Executable object modeling with statecharts , 1996, Proceedings of IEEE 18th International Conference on Software Engineering.

[7]  Andrea Maggiolo-Schettini,et al.  A comparison of Statecharts step semantics , 2003, Theor. Comput. Sci..

[8]  Willem P. de Roever,et al.  Introduction to Design Choices in the Semantics of Statecharts , 1991, Inf. Process. Lett..

[9]  R. Gerth,et al.  Modelling Statecharts behaviour in a fully abstract way Conference version C , 2001 .

[10]  Michelle L. Crane,et al.  On the Semantics of UML State Machines : Categorization and Comparison Technical Report 2005-501 , 2005 .

[11]  David Harel,et al.  The Rhapsody Semantics of Statecharts (or, On the Executable Core of the UML) - Preliminary Version , 2004, SoftSpez Final Report.

[12]  David Harel,et al.  Some Thoughts on Statecharts, 13 Years Later , 1997, CAV.

[13]  Andrea Maggiolo-Schettini,et al.  A Graph Rewriting Framework for Statecharts Semantics , 1994, TAGT.

[14]  Bran Selic,et al.  The Pragmatics of Model-Driven Development , 2003, IEEE Softw..

[15]  Gérard Berry,et al.  The Esterel Synchronous Programming Language: Design, Semantics, Implementation , 1992, Sci. Comput. Program..

[16]  Erich Mikk,et al.  Semantics and verification of statecharts , 2000 .

[17]  Rajeev Alur,et al.  Analysis of recursive state machines , 2001, TOPL.

[18]  David Harel,et al.  Modeling Reactive Systems With Statecharts : The Statemate Approach , 1998 .

[19]  Yassine Lakhnech,et al.  Hierarchical Automata as Model for Statecharts , 1997, ASIAN.

[20]  Rance Cleaveland,et al.  A compositional approach to statecharts semantics , 2000, SIGSOFT '00/FSE-8.

[21]  Amir Pnueli,et al.  On the Formal Semantics of Statecharts (Extended Abstract) , 1987, LICS.

[22]  Michael von der Beeck A structured operational semantics for UML-statecharts , 2002, Software and Systems Modeling.

[23]  Michael von der Beeck,et al.  A Comparison of Statecharts Variants , 1994, FTRTFT.

[24]  Bruce Powel Douglass Real-Time UML , 2002, FTRTFT.

[25]  Scott A. Smolka,et al.  A Compositional Semantics for Statecharts using Labeled Transition Systems , 1994, CONCUR.

[26]  Martin Gogolla,et al.  State diagrams in UML: A formal semantics using graph transformations , 1998 .