Advertisement

Using State Diagrams to Describe Concurrent Behaviour

  • Jim Davies
  • Charles Crichton
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 2885)

Abstract

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.

Keywords

Class Diagram State Diagram Current Object Call Event Communicate Sequential Process 
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.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Davies, J., Crichton, C.: Refinement and concurrency in UML. In: Proceedings of REFINE 2002. Springer, Heidelberg (2002)Google Scholar
  2. 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. 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
  4. 4.
    Fischer, C., Olderog, E.-R., Wehrheim, H.: A CSP view on UML-RT structure diagrams. In: Hussmann, H. (ed.) FASE 2001. LNCS, vol. 2029, pp. 91–108. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  5. 5.
    Frankel, D.: Model Driven Architecture: Applying MDA to Enterprise Computing. Wiley, Chichester (2003)Google Scholar
  6. 6.
    FSEL – Formal Systems (Europe) Ltd. The FDR2 refinement checker, http://www.fsel.com
  7. 7.
    Object Management Group. UML 2.0 Superstructure Draft Adopted Specification (2003), http://www.omg.org/cgi-bin/doc?ptc/2003-07-06
  8. 8.
    Harel, D., Gery, E.: Executable object modeling with Statecharts. IEEE Computer 30(7), 31–42 (1997)Google Scholar
  9. 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
  10. 10.
    Ober, I., Stan, I.: On the concurrent object model of UML. In: Amestoy, P.R., Berger, P., Daydé, M., Duff, I.S., Frayssé, V., Giraud, L., Ruiz, D. (eds.) Euro-Par 1999. LNCS, vol. 1685, p. 1377. Springer, Heidelberg (1999)CrossRefGoogle Scholar
  11. 11.
    Roscoe, A.W.: Theory and Practice of Concurrency. Prentice-Hall, Englewood Cliffs (1997)Google Scholar
  12. 12.
    Sunyé, G., Pollet, D., Le Traon, Y., Jézéquel, J.-M.: Refactoring UML models. In: Gogolla, M., Kobryn, C. (eds.) UML 2001. LNCS, vol. 2185, pp. 134–148. Springer, Heidelberg (2001)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2003

Authors and Affiliations

  • Jim Davies
    • 1
  • Charles Crichton
    • 1
  1. 1.Oxford University Computing LaboratoryOxfordUK

Personalised recommendations