Modelling Recursive Calls with UML State Diagrams

Jennifer Tenzer, Perdita Stevens

Research output: Chapter in Book/Report/Conference proceedingConference contribution


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.
Original languageEnglish
Title of host publicationFundamental Approaches to Software Engineering
Subtitle of host publication6th International Conference, FASE 2003 Held as Part of the Joint European Conferences on Theory and Practice of Software, ETAPS 2003 Warsaw, Poland, April 7–11, 2003 Proceedings
EditorsMauro Pezzè
PublisherSpringer-Verlag GmbH
Number of pages15
ISBN (Print)978-3-540-00899-6
Publication statusPublished - 2003

Publication series

NameLecture Notes in Computer Science
PublisherSpringer Berlin / Heidelberg
ISSN (Print)0302-9743
ISSN (Electronic)1611-3349


Dive into the research topics of 'Modelling Recursive Calls with UML State Diagrams'. Together they form a unique fingerprint.

Cite this