Modelling Recursive Calls with UML State Diagrams

  • Jennifer Tenzer
  • Perdita Stevens
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 2621)


One of the principal uses of UML is the modelling of synchronous object-oriented software systems, in which the behaviour of each of several classes is modelled using a state diagram. UML permits a transition of the state diagram to show both the event which causes the transition (typically, the fact that the object receives a message) and the object’s reaction (typically, the fact that the object sends a message). UML’s semantics for state diagrams is “run to completion”. We show that this can lead to anomalous behaviour, and in particular that it is not possible to model recursive calls, in which an object receives a second message whilst still in the process of reacting to the first. Drawing on both ongoing work by the UML2.0 submitters and recent theoretical work [1],[6], we propose a solution to this problem using state diagrams in two complementary ways.


  1. [1]
    R. Alur, K. Etessami, and M. Yannakakis. Analysis of recursive state machines. In Computer Aided Verification, pages 207–220, 2001.Google Scholar
  2. [2]
    M. Benedikt, P. Godefroid, and T.W. Reps. Model checking of unrestricted hierarchical state machines. In Automata, Languages and Programming, pages 652–666, 2001.Google Scholar
  3. [3]
    Grady Booch, James Rumbaugh, and Ivar Jacobson. The Unified Modeling Language User Guide. Addison Wesley Longman, 1998.Google Scholar
  4. [4]
    E. Börger, A. Cavarra, and E. Riccobene. A precise semantics of UML state machines: making semantic variation points and ambiguities explicit. In Proc. of Semantic Foundations of Engineering Design Languages (SFEDL), Satellite Workshop of ETAPS 2002, 2002.Google Scholar
  5. [5]
    M. Gogolla and F. Parisi-Presicce. State diagrams in UML: A formal semantics using graph transformations. In Manfred Broy, Derek Coleman, Tom S. E. Maibaum, and Bernhard Rumpe, editors, Proceedings PSMT’98 Workshop on Precise Semantics for Modeling Techniques. Technische Universität München, TUM-I9803, 1998.Google Scholar
  6. [6]
    R. Grosu, Yanhon A. Liu, S.A. Smolka, S.D. Stoller, and J. Yan. Automated software engineering using concurrent class machines. In Proc. of the 16th IEEE International Conference on Automated Software Engineering, ASE’01. IEEE, 2001.Google Scholar
  7. [7]
    D. Harel and E. Gery. Executable object modeling with statecharts. IEEE Computer, 30:7:31–42, 1997.CrossRefGoogle Scholar
  8. [8]
    S. Kuske. A formal semantics of UML state machines based on structured graph transformation. In Martin Gogolla and Cris Kobryn, editors, UML 2001-The Unified Modeling Language. Modeling Languages, Concepts, and Tools, volume 2185 of Lecture Notes in Computer Science, pages 241–256, 2001.CrossRefGoogle Scholar
  9. [9]
    D. Latella, I. Majzik, and M. Massink. Towards a formal operational semantics of UML statechart diagrams. In Proc. FMOODS’99, IFIP TC6/WG6.1 Third International Conference on Formal Methods for Open Object-Based Distributed Systems, Florence, Italy, February 15-18, 1999. Kluwer, 1999.Google Scholar
  10. [10]
    OMG. Unified Modeling Language Specification version 1.4, September 2001. OMG document formal/01-09-67 available from
  11. [12]
    G. Reggio, E. Astesiano, C. Choppy, and H. Hussmann. Analysing UML active classes and associated state machines-A lightweight formal approach. In FASE 2000-Fundamental Approaches to Software Engineering, volume 1783 of Lecture Notes in Computer Science, pages 127–146, 2000.CrossRefGoogle Scholar
  12. [13]
    M. von der Beeck. Formalization of UML-Statecharts. In Martin Gogolla and Cris Kobryn, editors, UML 2001-The Unified Modeling Language. Modeling Languages, Concepts, and Tools, volume 2185 of Lecture Notes in Computer Science, pages 406–421, 2001.CrossRefGoogle Scholar
  13. [14]
    Perdita Stevens with Rob Pooley. Using UML: software engineering with objects and components. Addison Wesley Longman, 1999 (updated edition).Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2003

Authors and Affiliations

  • Jennifer Tenzer
    • 1
  • Perdita Stevens
    • 1
  1. 1.Laboratory for Foundations of Computer Science School of InformaticsUniversity of EdinburghUSA

Personalised recommendations