Advertisement

An Integrated Semantics for UML Class, Object and State Diagrams Based on Graph Transformation

  • Sabine Kuske
  • Martin Gogolla
  • Ralf Kollmann
  • Hans-Jörg Kreowski
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 2335)

Abstract

This paper studies the semantics of a central part of the Unified Modeling Language UML. It discusses UML class, object and state diagrams and presents a new integrated semantics for both on the basis of graph transformation. Graph transformation is a formal technique having some common ideas with the UML. Graph transformation rules are associated with the operations in class diagrams and with the transitions in state diagrams. The resulting graph transformations are combined into a one system in order to obtain a single coherent semantic description.

Keywords

Class Diagram Operational Semantic State Diagram Graph Transformation Graph Grammar 
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.
    Ralph-Johan Back, Luigia Petre, and Ivan Porres Paltor. Analysing UML use cases as contracts. In Robert France and Bernhard Rumpe, editors, UML’ 99-The Unified Modeling Language. Beyond the Standard. Second International Conference, Fort Collins, CO, USA, October 28–30. 1999, Proceedings, volume 1723 of LNCS, pages 518–533. Springer, 1999.Google Scholar
  2. 2.
    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
  3. 3.
    Christie Bolton and Jim Davies. Using relational and behavioural semantics in the verification of object models. In Scott F. Smith and Carolyn L. Talcott, editors, Formal Methods for Open Object-Based Distributed Systems IV-Proc. FMOODS’2000, September, 2000, Stanford, California, USA. Kluwer Academic Publishers, 2000.Google Scholar
  4. 4.
    Grady Booch, James Rumbaugh, and Ivar Jacobson. The Unified Modeling Language User Guide. Addison-Wesley, 1998.Google Scholar
  5. 5.
    Paolo Bottoni, Manuel Koch, Francesco Parisi-Presicce, and Gabriele Taentzer. Consistency checking and visualization of OCL constraints. In Andy Evans, Stuart Kent, and Bran Selic, editors, UML 2000-The Unified Modeling Language. Advancing the Standard. Third International Conference, York, UK, October 2000, Proceedings, volume 1939 of LNCS, pages 294–308. Springer, 2000.Google Scholar
  6. 6.
    Paolo Bottoni, Manuel Koch, Francesco Parisi-Presicce, and Gabriele Taentzer. A visualization of ocl using collaborations. In Martin Gogolla and Cris Kobryn, editors, UML 2001-The Unified Modeling Language. Modeling Languages, Concepts, and Tools, volume 2185 of Lecture Notes in Computer Science, pages 257–271, 2001.CrossRefGoogle Scholar
  7. 7.
    Giorgio Busatto, Gregor Engels, Katharina Mehner, and Annika Wagner. A framework for adding packages to graph transformation systems. 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 352–367, 2000.Google Scholar
  8. 8.
    Tony Clark, Andy Evans, and Stuart Kent. The metamodelling language calculus: Foundation semantics for UML. In Heinrich Hussmann, editor, Fundamental Approaches to Software Engineering. 4th International Conference, FASE 2001 Held as Part of the Joint European Conferences on Theory and Practice of Software, ETAPS 2001 Genova, Italy, April 2–6. 2001 Proceedings, volume 2029 of LNCS, pages 17–31. Springer, 2001.Google Scholar
  9. 9.
    Frank Drewes, Berthold Hoffmann, and Detlef Plump. Hierarchical graph transformation. Journal of Computer and System Sciences, 2002. To appear; short version in Proc. FOSSACS 2000, LNCS 1784.Google Scholar
  10. 10.
    Desmond D’Souza and Alan Wills. Objects, Components and Frameworks With UML: The Catalysis Approach. Addison-Wesley, 1998.Google Scholar
  11. 11.
    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
  12. 12.
    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
  13. 13.
    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
  14. 14.
    Gregor Engels, Reiko Heckel, and Jochen Malte Küster. Rule-based specification of behavioral consistency based on the UML meta-model. In Martin Gogolla and Cris Kobryn, editors, UML 2001-The Unified Modeling Language. Modeling Languages, Concepts, and Tools, volume 2185 of Lecture Notes in Computer Science, pages 272–286, 2001.CrossRefGoogle Scholar
  15. 15.
    Gregor Engels and Andy Schuerr. Encapsulated hierachical graphs, graph types, and meta types. In SEGRAGRA’95, Joint COMPUGRAPH/SEMAGRAPH Workshop on Graph Rewriting and Computation, volume 2 of Electronic Notes in Theoretical Computer Science. Elsevier, 1995.Google Scholar
  16. 16.
    Andy Evans and Stuart Kent. Core meta-modelling semantics of UML: The pUML approach. In Robert France and Bernhard Rumpe, editors, UML’ 99-The Unified Modeling Language. Beyond the Standard. Second International Conference, Fort Collins, CO, USA, October 28–30. 1999, Proceedings, volume 1723 of LNCS, pages 140–155. Springer, 1999.Google Scholar
  17. 17.
    Clemens Fischer, Ernst-Rüdiger Olderog, and Heike Wehrheim. A CSP view on UML-RT structure diagrams. In Heinrich Hussmann, editor, Fundamental Approaches to Software Engineering. 4th International Conference, FASE 2001 Held as Part of the Joint European Conferences on Theory and Practice of Software, ETAPS 2001 Genova, Italy, April 2-6. 2001 Proceedings, volume 2029 of LNCS, pages 91–108. Springer, 2001.Google Scholar
  18. 18.
    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. Theory and Application to Graph Transformations (TAGT’98), Paderborn, November, 1998, volume 1764 of LNCS. Springer, 1998.Google Scholar
  19. 19.
    Robert France, Andy Evans, and Kevin Lano. The UML as a formal modeling notation. In Haim Kilov, Bernhard Rumpe, and Ian Simmonds, editors, Proceedings OOPSLA’ 97 Workshop on Object-oriented Behavioral Semantics, pages 75–81. echnische Universität München, TUM-I9737, 1997.Google Scholar
  20. 20.
    Martin Gogolla. Graph transformations on the UML metamodel. In Jose D. P. Rolim, Andrei Z. Broder, Andrea Corradini, Roberto Gorrieri, Reiko Heckel, Juraj Hromkovic, Ugo Vaccaro, and Joe B. Wells, editors, Proc. ICALP Workshop Graph Transformations and Visual Modeling Techniques (GVMT’2000), pages 359–371. Carleton Scientific, Waterloo, Ontario, Canada, 2000.Google Scholar
  21. 21.
    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
  22. 22.
    David Harel. On visual formalisms. Communications of the A CM, 31(5):514–530, 1988.MathSciNetGoogle Scholar
  23. 23.
    Hans-Jörg Kreowski and Sabine Kuske. Graph transformation units with interleaving semantics. Formal Aspects of Computing, 11(6):690–723, 1999.zbMATHCrossRefGoogle Scholar
  24. 24.
    Sabine Kuske. Transformation Units—A structuring Principle for Graph Transformation Systems. PhD thesis, University of Bremen, 2000.Google Scholar
  25. 25.
    Sabine Kuske. A formal semantics of uml state machines based on structured graph transformation. In Martin Gogolla and Cris Kobryn, editors, UML 2001-The Unified Modeling Language. Modeling languages, Concepts, and Tools, volume 2185 of Lecture Notes in Computer Science, pages 241–256, 2001.CrossRefGoogle Scholar
  26. 26.
    J. Küster Filipe, K.-K. Lau, M. Ornaghi, K. Taguchi, A. Wills, and H. Yatsu. Formal specification of Catalysis frameworks. In Jing Song Dong, Jifeng He, and Martin Purvis, editors, Proc. 7th Asia-Pacific Software Engineering Conference, pages 180–187. IEEE Computer Society Press, 2000.Google Scholar
  27. 27.
    Gihwon Kwon. Rewrite rules and operational semantics for model checking UML statecharts. In Andy Evans, Stuart Kent, and Bran Selic, editors, UML 2000-The Unified Modeling Language. Advancing the Standard. Third International Conference, York, UK, October 2000, Proceedings, volume 1939 of LNCS, pages 528–540. Springer, 2000.Google Scholar
  28. 28.
    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
  29. 29.
    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
  30. 30.
    Jing Liu, Jin Song Dong, Kun Shi, and Brendan Mahony. Linking UML with integrated formal techniques. In Keng Siau and Terry Halpin, editors, Unified Modeling Language: Systems Analysis, Design and Development Issues, chapter 13, pages 210–223. Idea Publishing Group, 2001.Google Scholar
  31. 31.
    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
  32. 32.
    Andrea Maggiolo-Schettini and Adriano Peron. A Graph Rewriting Framework for Statecharts Semantics. In Janice E. Cuny, Hartmut Ehrig, Gregor Engels, and Grzegorz Rozenberg, editors, Proc. 5th Int. Workshop on Graph Grammars and their Application to Computer Science, volume 1073, pages 107–121. Springer-Verlag, 1996.Google Scholar
  33. 33.
    OMG. Unified Modeling Language specifcation, 2001. Available at http://www.omg.org//.
  34. 34.
    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
  35. 35.
    Terrence W. Pratt. Definition of programming language semantics using grammars for hierarchical graphs. In Volker Claus, Hartmut Ehrig, and Grzegorz Rozenberg, editors, Proc. Graph Grammars and Their Application to Computer Science and Biology, volume 73 of Lecture Notes in Computer Science, pages 389–400, 1979.CrossRefGoogle Scholar
  36. 36.
    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
  37. 37.
    Grzegorz Rozenberg, editor. Handbook of Graph Grammars and Computing by Graph Transformation, Vol. 1: Foundations. World Scientific, Singapore, 1997.Google Scholar
  38. 38.
    James Rumbaugh, Ivar Jacobson, and Grady Booch. The Unified Modeling Language Reference Manual. Addison-Wesley, 1998.Google Scholar
  39. 39.
    Andy Schürr and Andreas J. Winter. UML packages for PROgrammed Graph REwriting Systems. 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 396–409, 2000.Google Scholar
  40. 40.
    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
  41. 41.
    Jos Warmer and Anneke Kleppe. The Object Constraint Language: Precise Modeling with UML. Addison-Wesley, 1998.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2002

Authors and Affiliations

  • Sabine Kuske
    • 1
  • Martin Gogolla
    • 1
  • Ralf Kollmann
    • 1
  • Hans-Jörg Kreowski
    • 1
  1. 1.Department of Computer ScienceUniversity of BremenBremenGermany

Personalised recommendations