Skip to main content
Log in

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

  • Regular Paper
  • Published:
Software & Systems Modeling Aims and scope Submit manuscript

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  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

    Article  Google Scholar 

  2. Berry G. and Gonthier G. (1992). The ESTEREL synchronous programming language: design, semantics, implementation. Sci. Comput. Program. 19: 87–152

    Article  MATH  Google Scholar 

  3. Booch, G., Rumbaugh, J., Jacobson, I.: The Unified Modeling Language User Guide. Addison-Wesley (1999)

  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)

  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)

  6. Douglass, B.P.: Real Time UML. Object Technology Series. 3rd edn. Addison-Wesley (2004)

  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)

  8. Harel D. (1987). Statecharts: a visual formalism for complex systems. Sci. Comput. Program. 8(3): 231–274

    Article  MATH  MathSciNet  Google Scholar 

  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)

  10. Harel D. and Gery E. (1997). Executable object modeling with statecharts. Computer 30(7): 31–42

    Article  Google Scholar 

  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)

  12. Harel D. and Naamad A. (1996). The STATEMATE semantics of statecharts. ACM Trans. Soft. Eng. Methodol. (TOSEM) 5(4): 293–333

    Article  Google Scholar 

  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)

  14. Harel, D., Politi M.: Modeling Reactive Systems with Statecharts: The STATEMATE Approach. McGraw-Hill (1998)

  15. Howe, D. (ed.): The free on-line dictionary of computing. http://www.foldoc.org/

  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

    Article  MATH  Google Scholar 

  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)

  18. I-Logix: Rhapsody 6.2 User Guide

  19. I-Logix: Rhapsody. http://www.ilogix.com/sublevel.aspx? id=53

  20. I-Logix: Statemate. http://www.ilogix.com/sublevel.aspx? id=74

  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)

  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)

  23. Maggiolo-Schettini A., Peron A. and Tini S. (2003). A comparison of statecharts step semantics. Theor. Comput. Sci. 290(1): 465–498

    Article  MATH  MathSciNet  Google Scholar 

  24. Mikk, E.: Semantics and Verification of Statecharts. PhD thesis, Christian-Albrechts University of Kiel, 2000. Bericht Nr. 2011

  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)

  26. OMG. UML specification. Document formal/03-03-01, Object Management Group, Version 1.5 (2003)

  27. OMG. UML 2.0 infrastructure specification. Document ptc/03-09-15, Object Management Group (2004)

  28. OMG. Unified Modeling Language: Superstructure version 2.0. Document formal/05-07-04, Object Management Group (2005)

  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)

  30. Selic B. (2003). The pragmatics of model-driven development. IEEE Softw. 20(5): 19–25

    Article  Google Scholar 

  31. Selic B.: Personal Communication (Email dated 4 Mar 05) (2005)

  32. UML 2 Semantics Project. http://www.cs.queensu.ca/ Estl/ internal/uml2

  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)

  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)

  35. von der Beeck M. (2002). A structured operational semantics for UML-statecharts. Softw. Systems Modeling 1(2): 130–141

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Michelle L. Crane.

Additional information

Communicated by Dr. Lionel Briand.

Rights and permissions

Reprints 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

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10270-006-0042-8

Keywords

Navigation