Dynamic Meta Modeling: A Graphical Approach to the Operational Semantics of Behavioral Diagrams in UML

  • Gregor Engels
  • Jan Hendrik Hausmann
  • Reiko Heckel
  • Stefan Sauer
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1939)

Abstract

In this paper, dynamic meta modeling is proposed as a new approach to the operational semantics of behavioral UML diagrams. The dynamic meta model extends the well-known static meta model by a speci.cation of the system’s dynamics by means of collaboration diagrams. In this way, it is possible to de.ne the behavior of UML diagrams within UML.

The conceptual idea is inherited from Plotkin’s structured operational semantics (SOS) paradigm, a style of semantics speci.cation for concurrent programming languages and process calculi: Collaboration diagrams are used as deduction rules to specify a goal-oriented interpreter for the language. The approach is exemplified using a fragment of UML statechart and object diagrams.

Formally, collaboration diagrams are interpreted as graph transformation rules. In this way, dynamic UML semantics can be both mathematically rigorous so as to enable formal specifications and proofs and, due to the use of UML notation, understandable without prior knowledge of heavy mathematic machinery. Thus, it can be used as a reference by tool developers, teachers, and advanced users.

Keywords:

UML meta model statechart diagrams precise behavioral semantics graph transformation 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    M. Andries, G. Engels, A. Habel, B. Hoffmann, H.-J. Kreowski, S. Kuske, D. Plump, A. Schürr, and G. Taentzer. Graph transformation for specification and programming. Science of Computer Programming, 34:1–54, 1999.MATHCrossRefMathSciNetGoogle Scholar
  2. 2.
    R. Bardohl, G. Taentzer, M. Minas, and A. Schürr. Application of graph transformation to visual languages. In Ehrig et al. [6], pages 105–180.Google Scholar
  3. 3.
    R. Breu and R. Grosu. Relating events, messages, and methods of multiple threaded objects. JOOP, pages 8–14, January 2000.Google Scholar
  4. 4.
    A. Corradini, R. Heckel, and U. Montanari. Graphical operational semantics. In A. Corradini and R. Heckel, editors, Proc. ICALP2000 Workshop on Graph Transformation and Visual Modelling Techniques, Geneva, Switzerland, Geneva, July 2000. Carleton Scientific.Google Scholar
  5. 5.
    A. Corradini, U. Montanari, and F. Rossi. Graph processes. Fundamenta Informaticae, 26(3,4):241–266, 1996.MATHMathSciNetGoogle Scholar
  6. 6.
    H. Ehrig, G. Engels, H.-J. Kreowski, and G. Rozenberg, editors. Handbook of Graph Grammars and Computing by Graph Transformation, Volume 2: Applications, Languages, and Tools. World Scientific, 1999.Google Scholar
  7. 7.
    H. Ehrig, H.-J. Kreowski, U. Montanari, and G. Rozenberg, editors. Handbook of Graph Grammars and Computing by Graph Transformation, Volume 3: Concurrency and Distribution. World Scientific, 1999.Google Scholar
  8. 8.
    G. Engels, R. Hücking, St. Sauer, and A. Wagner. UML collaboration diagrams and their transformation to Java. In R. France and B. Rumpe, editors, Proc.UML’99 Int. Conference, Fort Collins, CO, USA, volume 1723 of LNCS, pages 473–488. Springer Verlag, October 1999.Google Scholar
  9. 9.
    A. Evans and S. Kent. Core meta modelling semantics of UML: The pUML approach. In France and Rumpe [11], pages 140–155.Google Scholar
  10. 10.
    T. Fischer, J. Niere, L. Torunski, and A. Zündorf. Story diagrams: A new graph transformation language based on UML and Java. In H. Ehrig, G. Engels, H.-J. Kreowski, and G. Rozenberg, editors, Proc. 6th Int. Workshop on Theory and Application of Graph Transformation (TAGT’98), Paderborn, November 1998, volume 1764 of LNCS. SpringerVerlag, 2000.Google Scholar
  11. 11.
    R. France and B. Rumpe, editors. Proc. UML’99 — Beyond the Standard, volume 1723 of LNCS. Springer Verlag, 1999.Google Scholar
  12. 12. F. Gadducci and U. Montanari. The tile model. In G. Plotkin, C. Stirling, and M. Tofte, editors, Proof, Language and Interaction: Essays in Honour of Robin Milner. MIT Press, 1999.Google Scholar
  13. 13.
    M. Gogolla and F. Parisi-Presicce. State diagrams in UML — a formal semantics using graph transformation. In ICSE’98 Workshop on Precise Semantics of Modelling Techniques, 1998. Tech. Rep. TUM-I9803, TU München.Google Scholar
  14. 14.
    M. Gogolla and M. Richters. Equivalence rules for UML class diagrams. In P.-A. Muller and J. Bezivin, editors, Proc. UML’98 Workshop, pages 86–97. Universite de Haute-Alsace, Mulhouse, 1998.Google Scholar
  15. 15.
    A. Knapp. A formal semantics of UML interactions. In France and Rumpe [11], pages 116–130.Google Scholar
  16. 16.
    M. Korff. Single pushout transformations of equationally defined graph structures with applications to actor systems. In Proc. Graph Grammar Workshop, Dagstuhl, 1993, volume 776 of LNCS, pages 234–247. Springer Verlag, 1994.Google Scholar
  17. 17.
    J. Lillius and I. Paltor. Formalising UML state machines for model checking. In France and Rumpe [11], pages 430–445.Google Scholar
  18. 18.
    Object Management Group. Action semantics for the UML, November 1998. http://www.omg.org/pub/docs/ad/98-11-01.pdf.
  19. 19.
    Object Management Group. Analysis and design platform task forceff white paper on the profile mechanism, April 1999. http://www.omg.org/pub/docs/ad/99-04-07.pdf.
  20. 21.
    G. övergaard. Formal specification of object-oriented meta-modelling. In T. Maibaum, editor, Fundamental Approaches to Software Engineering (FASE’00), Berlin, Germany, number 1783 in LNCS, pages 193–207. Springer Verlag, March/April 2000.CrossRefGoogle Scholar
  21. 22.
    G. Plotkin. A structural approach to operational semantics. Technical Report DAIMI FN-19, Aarhus University, Computer Science Department, 1981.Google Scholar
  22. 23.
    G. Reggio, E. Astesiano, C. Choppy, and H. Hussmann. Analysing UML active classes and associated state machines — a lightweight formal approach. In T. Maibaum, editor, Fundamental Approaches to Software Engineering (FASE’00), Berlin, Germany, number 1783 in LNCS, pages 127–146. Springer Verlag, March/April 2000.CrossRefGoogle Scholar
  23. 24.
    G. Rozenberg, editor. Handbook of Graph Grammars and Computing by Graph Transformation, Volume 1: Foundations. World Scientific, 1997.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2000

Authors and Affiliations

  • Gregor Engels
    • 1
  • Jan Hendrik Hausmann
    • 1
  • Reiko Heckel
    • 1
  • Stefan Sauer
    • 1
  1. 1.Dept. of Mathematics and Computer ScienceUniversity of PaderbornPaderbornGermany

Personalised recommendations