Using State Diagrams to Describe Concurrent Behaviour
The state diagram notation, a derivative of Harel’s StateCharts, is an important component of the Unified Modeling Language (UML). It is the primary means of describing object behaviour: by associating a state diagram with a particular class, a designer may specify how objects of that class should perform sequences of actions in response to incoming events.
This paper explains that, under the default interpretation, state diagrams are adequate only for designs in which: each object may admit at most one thread of execution; different threads of execution could never interfere; and it is impossible for an object to invoke an operation upon itself. The paper argues that these limitations are unsatisfactory.
An alternative interpretation is then presented, in which separate diagrams are used to describe the object state and the transient, operation state. The resulting separation of concerns – between control flow and state abstraction – produces a simpler, more scalable approach to specification, and one that is adequate for the precise description of concurrent behaviour.
KeywordsClass Diagram State Diagram Current Object Call Event Communicate Sequential Process
Unable to display preview. Download preview PDF.
- 1.Davies, J., Crichton, C.: Refinement and concurrency in UML. In: Proceedings of REFINE 2002. Springer, Heidelberg (2002)Google Scholar
- 2.Engels, G., Küster, J.M., Groenewegen, L.: Consistent interaction of software components. In: Integrated Design and Process technology. Society for Design and Process Science (June 2002)Google Scholar
- 3.Engels, G., Küster, J.M., Heckel, R., Groenewegen, L.: A methodology for specifying and analyzing consistency of object-oriented behavioral models. In: 8th European Software Engineering Conference, and ACM SIGSOFT Symposium on the Foundations of Software Engineering (2001)Google Scholar
- 5.Frankel, D.: Model Driven Architecture: Applying MDA to Enterprise Computing. Wiley, Chichester (2003)Google Scholar
- 6.FSEL – Formal Systems (Europe) Ltd. The FDR2 refinement checker, http://www.fsel.com
- 7.Object Management Group. UML 2.0 Superstructure Draft Adopted Specification (2003), http://www.omg.org/cgi-bin/doc?ptc/2003-07-06
- 8.Harel, D., Gery, E.: Executable object modeling with Statecharts. IEEE Computer 30(7), 31–42 (1997)Google Scholar
- 9.Küster, J.M., Stehr, J.: Towards explicit behavioral consistency concepts in the uml. In: Proceedings of SCESM 2003 workshop. IEEE, Los Alamitos (2003)Google Scholar
- 11.Roscoe, A.W.: Theory and Practice of Concurrency. Prentice-Hall, Englewood Cliffs (1997)Google Scholar