Software & Systems Modeling

, Volume 6, Issue 4, pp 415–435 | Cite as

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

  • Michelle L. CraneEmail author
  • Juergen Dingel
Regular Paper


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.


State Machine Composite State Priority Scheme Semantic Difference Simple Translation 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    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 CrossRefGoogle Scholar
  2. 2.
    Berry G. and Gonthier G. (1992). The ESTEREL synchronous programming language: design, semantics, implementation. Sci. Comput. Program. 19: 87–152 zbMATHCrossRefGoogle Scholar
  3. 3.
    Booch, G., Rumbaugh, J., Jacobson, I.: The Unified Modeling Language User Guide. Addison-Wesley (1999)Google Scholar
  4. 4.
    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)Google Scholar
  5. 5.
    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)Google Scholar
  6. 6.
    Douglass, B.P.: Real Time UML. Object Technology Series. 3rd edn. Addison-Wesley (2004)Google Scholar
  7. 7.
    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)Google Scholar
  8. 8.
    Harel D. (1987). Statecharts: a visual formalism for complex systems. Sci. Comput. Program. 8(3): 231–274 zbMATHCrossRefMathSciNetGoogle Scholar
  9. 9.
    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)Google Scholar
  10. 10.
    Harel D. and Gery E. (1997). Executable object modeling with statecharts. Computer 30(7): 31–42 CrossRefGoogle Scholar
  11. 11.
    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)Google Scholar
  12. 12.
    Harel D. and Naamad A. (1996). The STATEMATE semantics of statecharts. ACM Trans. Soft. Eng. Methodol. (TOSEM) 5(4): 293–333 CrossRefGoogle Scholar
  13. 13.
    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)Google Scholar
  14. 14.
    Harel, D., Politi M.: Modeling Reactive Systems with Statecharts: The STATEMATE Approach. McGraw-Hill (1998)Google Scholar
  15. 15.
    Howe, D. (ed.): The free on-line dictionary of computing. Scholar
  16. 16.
    Huizing C. and de Roever W.P. (1991). Introduction to design choices in the semantics of statecharts. Inform. Process. Lett. 37(4): 205–213 zbMATHCrossRefGoogle Scholar
  17. 17.
    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)Google Scholar
  18. 18.
    I-Logix: Rhapsody 6.2 User GuideGoogle Scholar
  19. 19.
    I-Logix: Rhapsody. id=53Google Scholar
  20. 20.
    I-Logix: Statemate. id=74Google Scholar
  21. 21.
    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)Google Scholar
  22. 22.
    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)Google Scholar
  23. 23.
    Maggiolo-Schettini A., Peron A. and Tini S. (2003). A comparison of statecharts step semantics. Theor. Comput. Sci. 290(1): 465–498 zbMATHCrossRefMathSciNetGoogle Scholar
  24. 24.
    Mikk, E.: Semantics and Verification of Statecharts. PhD thesis, Christian-Albrechts University of Kiel, 2000. Bericht Nr. 2011Google Scholar
  25. 25.
    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)Google Scholar
  26. 26.
    OMG. UML specification. Document formal/03-03-01, Object Management Group, Version 1.5 (2003)Google Scholar
  27. 27.
    OMG. UML 2.0 infrastructure specification. Document ptc/03-09-15, Object Management Group (2004)Google Scholar
  28. 28.
    OMG. Unified Modeling Language: Superstructure version 2.0. Document formal/05-07-04, Object Management Group (2005)Google Scholar
  29. 29.
    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)Google Scholar
  30. 30.
    Selic B. (2003). The pragmatics of model-driven development. IEEE Softw. 20(5): 19–25 CrossRefGoogle Scholar
  31. 31.
    Selic B.: Personal Communication (Email dated 4 Mar 05) (2005)Google Scholar
  32. 32.
    UML 2 Semantics Project. Estl/ internal/uml2Google Scholar
  33. 33.
    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)Google Scholar
  34. 34.
    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)Google Scholar
  35. 35.
    von der Beeck M. (2002). A structured operational semantics for UML-statecharts. Softw. Systems Modeling 1(2): 130–141 CrossRefGoogle Scholar

Copyright information

© Springer-Verlag 2007

Authors and Affiliations

  1. 1.School of ComputingQueen’s UniversityKingstonCanada

Personalised recommendations