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.
|Title of host publication||Fundamental Approaches to Software Engineering|
|Subtitle of host publication||6th 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|
|Number of pages||15|
|Publication status||Published - 2003|
|Name||Lecture Notes in Computer Science|
|Publisher||Springer Berlin / Heidelberg|