Advertisement

A Formal Semantics of UML State Machines Based on Structured Graph Transformation

  • Sabine Kuske
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 2185)

Abstract

UML state machines are quite popular and useful to specify dynamic components of software systems. They have a formal static semantics but their execution semantics is described only informally. Graph transformation, on the other hand, constitutes a well-studied area with many theoretical results and practical application domains. In this paper, an operational semantics for a subset of UML state machines is proposed which is based on graph transformation. In more detail, a UML state machine is described as a structured graph transformation system in such a way that the wellformedness rules of UML state machines are satisfied and the firing of a (maximum) set of enabled non-conflicting transitions corresponds to the application of a graph transformation rule. The presented approach uses the concept of transformation units, a recently developed modularization concept for graph transformation systems.

Keywords

State Machine Transformation Unit Operational Semantic Formal Semantic Graph Transformation 
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. [BP01]
    Luciano Baresi and Mauro Pezzé. On formalizing UML with high-level Petri Nets. In G. Agha and F. De Cindio, editors, Proc. Concurrent Object-Oriented Programming and Petri Nets, volume 2001 of Lecture Notes in Computer Science, pages 271–300, 2001.CrossRefGoogle Scholar
  2. [BRJ98]
    Grady Booch, James Rumbaugh, and Ivar Jacobson. The Unified Modeling Language User Guide. Addison-Wesley, 1998.Google Scholar
  3. [CEH+97]
    Andrea Corradini, Hartmut Ehrig, Reiko Heckel, Michael Löwe, Ugo Montanari, and Francesca Rossi. Algebraic approaches to graph transformation part I: Basic concepts and double pushout approach. In Rozenberg[Roz97].Google Scholar
  4. [EEKR99]
    Hartmut Ehrig, Gregor Engels, Hans-Jörg Kreowski, and Grzegorz Rozenberg, editors. Handbook of Graph Grammars and Computing by Graph Transformation, Vol. 2: Applications, Languages and Tools. World Scientific, Singapore, 1999.zbMATHGoogle Scholar
  5. [EHHS00]
    Gregor Engels, Jan Hendrik Hausmann, Reiko Heckel, and Stefan Sauer. Dynamic meta modeling: A graphical approach to the operational semantics of behavioral diagrams in UML. In Andy Evans, Stuart Kent, and Bran Selic, editors, UML 2000-The Unified Modeling Language. Advancing the Standard, volume 1939 of Lecture Notes in Computer Science, pages 323–337, 2000.Google Scholar
  6. [EKMR99]
    Hartmut Ehrig, Hans-Jörg Kreowski, Ugo Montanari, and Grzegorz Rozenberg, editors. Handbook of Graph Grammars and Computing by Graph Transformation, Vol. 3: Concurrency, Parallelism, and Distribution. World Scientific, Singapore, 1999.zbMATHGoogle Scholar
  7. [Gog00]
    Martin Gogolla. Graph transformations on the UML metamodel. In Andrea Corradini and Reiko Heckel, editors, Proc. ICALP Workshop on Graph Transformation and Visual Modeling Techniques, 2000.Google Scholar
  8. [GP98]
    Martin Gogolla and Francesco Parisi-Presicce. State diagrams in UML: A formal semantics using graph transformations. In Manfred Broy, Derek Coleman, Tom Maibaum, and Bernhard Rumpe, editors, Proc. ICSE’98 Workshop Precise Semantics of Modeling Techniques, Technical Report TUM-I9803, pages 55–72, 1998.Google Scholar
  9. [KK99]
    Hans-Jörg Kreowski and Sabine Kuske. Graph transformation units with interleaving semantics. Formal Aspects of Computing, 11(6):690–723, 1999.zbMATHCrossRefGoogle Scholar
  10. [KKS97]
    Hans-Jörg Kreowski, Sabine Kuske, and Andy Schürr. Nested graph transformation units. International Journal on Software Engineering and Knowledge Engineering, 7(4):479–502, 1997.CrossRefGoogle Scholar
  11. [Kus00]
    Sabine Kuske. More about control conditions for transformation units. In Hartmut Ehrig, Gregor Engels, Hans-Jörg Kreowski, and Grzegorz Rozenberg, editors, Proc. Theory and Application of Graph Transformations, volume 1764 of Lecture Notes in Computer Science, pages 323–337, 2000.Google Scholar
  12. [Kwo00]
    Gihwon Kwon. Rewrite rules and operational semantics for model checking UML statecharts. In Andy Evans, Stuart Kent, and Bran Selic, editors, Proc. UML 2000-The Unified Modeling Language. Advancing the Standard, volume 1939 of Lecture Notes in Computer Science, pages 528–540, 2000.Google Scholar
  13. [LMM99]
    Diego Latella, Istvan Majzik, and Mieke 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.Google Scholar
  14. [LP99]
    Johan Lilius and Ivan Porres Paltor. Formalising UML state machines for model checking. In Robert France and Bernhard Rumpe, editors, Proc. UML’99-The Unified Modeling Language. Beyond the Standard, volume 1723 of Lecture Notes in Computer Science, pages 430–445, 1999.CrossRefGoogle Scholar
  15. [MP94]
    Andrea Maggiolo-Schettini and Adriano Peron. Semantics of full statecharts based on graph rewriting. In Hans-Jürgen Schneider and Hartmut Ehrig, editors, Proc. Graph Transformation in Computer Science, volume 776 of Lecture Notes in Computer Science, pages 265–279, 1994.Google Scholar
  16. [OMG99]
    OMG. UML 1.3 documentation, 1999. Available at http://www.rational.com/uml/resources/documentation.
  17. [PS00]
    Dorina C. Petriu and Yimei Sun. Consistent behaviour representation in activity and sequence diagrams. In Andy Evans, Stuart Kent, and Bran Selic, editors, Proc. UML 2000-The Unified Modeling Language. Advancing the Standard, volume 1939 of Lecture Notes in Computer Science, pages 359–368, 2000.Google Scholar
  18. [RACH00]
    Gianna Reggio, Egidio Astesiano, Christine Choppy, and Heinrich Hussmann. Analysing UML active classes and associated state machines-A lightweight formal approach. In Tom Maibaum, editor, Proc. Fundamental Approaches to Software Engineering (FASE 2000), Berlin, Germany, volume 1783 of Lecture Notes in Computer Science, 2000.CrossRefGoogle Scholar
  19. [RJB98]
    James Rumbaugh, Ivar Jacobson, and Grady Booch. The Unified Modeling Language Reference Manual. Addison-Wesley, 1998.Google Scholar
  20. [Roz97]
    Grzegorz Rozenberg, editor. Handbook of Graph Grammars and Computing by Graph Transformation, Vol. 1: Foundations. World Scientific, Singapore, 1997.Google Scholar
  21. [TE00]
    Aliki Tsiolakis and Hartmut Ehrig. Consistency analysis of UML class and sequence diagrams using attributed graph grammars. In Hartmut Ehrig and Gabriele taentzer, editors, Proc. Joint APPLIGRAPH and GETGRATS Workshop on Graph Transformation Systems, Report Nr.2000-2, Technical University of Berlin, pages 77–86, 2000.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2001

Authors and Affiliations

  • Sabine Kuske
    • 1
  1. 1.Department of Computer ScienceUniversity of BremenBremenGermany

Personalised recommendations