A Formal Semantics of UML State Machines Based on Structured Graph Transformation
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.
KeywordsState Machine Transformation Unit Operational Semantic Formal Semantic Graph Transformation
Unable to display preview. Download preview PDF.
- [BRJ98]Grady Booch, James Rumbaugh, and Ivar Jacobson. The Unified Modeling Language User Guide. Addison-Wesley, 1998.Google Scholar
- [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
- [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
- [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
- [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
- [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
- [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
- [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
- [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
- [OMG99]OMG. UML 1.3 documentation, 1999. Available at http://www.rational.com/uml/resources/documentation.
- [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
- [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
- [RJB98]James Rumbaugh, Ivar Jacobson, and Grady Booch. The Unified Modeling Language Reference Manual. Addison-Wesley, 1998.Google Scholar
- [Roz97]Grzegorz Rozenberg, editor. Handbook of Graph Grammars and Computing by Graph Transformation, Vol. 1: Foundations. World Scientific, Singapore, 1997.Google Scholar
- [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