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.
This work has been supported by the Deutsche Forschungsgemeinschaft, the ESPRIT Working Group Applications of Graph Transformation (APPLIGRAPH) and the EC TMR Network GETGRATS (General Theory of Graph Transformation Systems).
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
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.
Grady Booch, James Rumbaugh, and Ivar Jacobson. The Unified Modeling Language User Guide. Addison-Wesley, 1998.
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].
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.
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.
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.
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.
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.
Hans-Jörg Kreowski and Sabine Kuske. Graph transformation units with interleaving semantics. Formal Aspects of Computing, 11(6):690–723, 1999.
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.
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.
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.
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.
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.
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.
OMG. UML 1.3 documentation, 1999. Available at http://www.rational.com/uml/resources/documentation.
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.
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.
James Rumbaugh, Ivar Jacobson, and Grady Booch. The Unified Modeling Language Reference Manual. Addison-Wesley, 1998.
Grzegorz Rozenberg, editor. Handbook of Graph Grammars and Computing by Graph Transformation, Vol. 1: Foundations. World Scientific, Singapore, 1997.
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.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2001 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Kuske, S. (2001). A Formal Semantics of UML State Machines Based on Structured Graph Transformation. In: Gogolla, M., Kobryn, C. (eds) ≪UML≫ 2001 — The Unified Modeling Language. Modeling Languages, Concepts, and Tools. UML 2001. Lecture Notes in Computer Science, vol 2185. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-45441-1_19
Download citation
DOI: https://doi.org/10.1007/3-540-45441-1_19
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-42667-7
Online ISBN: 978-3-540-45441-0
eBook Packages: Springer Book Archive