Abstract
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.
Chapter PDF
Similar content being viewed by others
Keywords
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.
References
R. Alur, K. Etessami, and M. Yannakakis. Analysis of recursive state machines. In Computer Aided Verification, pages 207–220, 2001.
M. Benedikt, P. Godefroid, and T.W. Reps. Model checking of unrestricted hierarchical state machines. In Automata, Languages and Programming, pages 652–666, 2001.
Grady Booch, James Rumbaugh, and Ivar Jacobson. The Unified Modeling Language User Guide. Addison Wesley Longman, 1998.
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.
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.
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.
D. Harel and E. Gery. Executable object modeling with statecharts. IEEE Computer, 30:7:31–42, 1997.
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.
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.
OMG. Unified Modeling Language Specification version 1.4, September 2001. OMG document formal/01-09-67 available from http://www.omg.org/technology/documents/formal/uml.htm.
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.
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.
Perdita Stevens with Rob Pooley. Using UML: software engineering with objects and components. Addison Wesley Longman, 1999 (updated edition).
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2003 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Tenzer, J., Stevens, P. (2003). Modelling Recursive Calls with UML State Diagrams. In: Pezzè, M. (eds) Fundamental Approaches to Software Engineering. FASE 2003. Lecture Notes in Computer Science, vol 2621. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-36578-8_10
Download citation
DOI: https://doi.org/10.1007/3-540-36578-8_10
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-00899-6
Online ISBN: 978-3-540-36578-5
eBook Packages: Springer Book Archive