Graph Transformation as a Conceptual and Formal Framework for System Modeling and Model Evolution

  • Gregor Engels
  • Reiko Heckel
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1853)

Abstract

Distributed software systems are typically built according to a three layer conceptual structure: Objects on the lowest layer are clustered by components on the second layer, which themselves are located at nodes of a computer network on the third layer. Orthogonal to these three layers, an instance level and a type or schema level are distinguished when modeling these systems. Accordingly, the changes a system experiences during its lifetime can be classified as the system’s dynamic behavior on the instance level and as the evolution of the system on the schema level. This paper shows how concepts from the area of graph transformation can be applied to provide a conceptual and formal framework for describing the structural and behavioral aspects of such systems.

Keywords

typed graph transformation hierarchical graphs system modeling model evolution 

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.
    P. Baldan, A. Corradini, H. Ehrig, M. Löwe, U. Montanari, and F. Rossi. Concurrent semantics of algebraic graph transformation. In 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 Ehrig et al. [16].Google Scholar
  3. 3.
    J.A. Bergstra and J.W. Klop. Process algebra for synchronous communication. Information and Control, 60(1–3):109–137, 1984.MATHCrossRefMathSciNetGoogle Scholar
  4. 4.
    G. Berry and G. Boudol. The chemical abstract machine. Theoret. Comput. Sci., 96(1):217–248, 1992.MATHCrossRefMathSciNetGoogle Scholar
  5. 5.
    M.R. Berthold, I. Fischer, and Koch. M. Attributed graph transformation with partial attribution. In H. Ehrig and G. Taentzer, editors, Joint APPLIGRAPH and GETGRATS Workshop on Graph Transformation Systems (GraTra2000). Tech. Univ. of Berlin, March 2000. Tech. Report 2000-2, Dept. of Comp. Sci.Google Scholar
  6. 6.
    G. Busatto, G. Engels, K. Mehner, and A. Wagner. A framework for adding packages to graph transformation approaches. In 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. Springer Verlag, 2000 Ehrig et al. [15].Google Scholar
  7. 7.
    Microsoft Corp. Distributed component object model protocol-DCOM, V 1.0, 1998. http://www.microsoft.com/com/tech/dcom.asp.
  8. 8.
    A. Corradini, R. Heckel, and U. Montanari. Graphical operational semantics. In Proc. ICALP2000 Workshop on Graph Transformation and Visual Modelling Techniques, Geneva, Switzerland. Carleton Scientific, July 2000.Google Scholar
  9. 9.
    A. Corradini, U. Montanari, and F. Rossi. Graph processes. Fundamenta Informaticae, 26(3,4):241–266, 1996.MATHMathSciNetGoogle Scholar
  10. 10.
    A. Corradini, U. Montanari, F. Rossi, H. Ehrig, R. Heckel, and M. Löwe. Algebraic approaches to graph transformation, Part I: Basic concepts and double pushout approach. In Rozenberg [47].Google Scholar
  11. 11.
    B. Courcelle. The expression of graph properties and graph transformations in monadic second-order logic. In Rozenberg [47].Google Scholar
  12. 12.
    F. Drewes, B. Hoffmann, and D. Plump. Hierarchical graph transformation. In J. Tiuryn, editor, Foundations of Software Science and Computation Structures (FoSSACS’00), Berlin, Germany, volume 1784 of LNCS. Springer Verlag, March/April 2000.CrossRefGoogle Scholar
  13. 13.
    F. Drewes, H.-J. Kreowski, and A. Habel. Hyperedge replacement graph grammars. In Rozenberg [47].Google Scholar
  14. 14.
    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
  15. 15.
    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. Springer Verlag, 2000.Google Scholar
  16. 16.
    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
  17. 17.
    H. Ehrig and M. Löwe. Categorical principles, techniques and results for high-level replacement systems in computer science. Applied Categorical Structures, 1(1):21–50, 1993.MATHCrossRefMathSciNetGoogle Scholar
  18. 18.
    H. Ehrig, M. Pfender, and H.J. Schneider. Graph grammars: an algebraic approach. In 14th Annual IEEE Symposium on Switching and Automata Theory, pages 167–180. IEEE, 1973.Google Scholar
  19. 19.
    G. Engels, J.H. Hausmann, R. Heckel, and St. Sauer. Dynamic meta modeling: A graphical approach to the operational semantics of behavioral diagrams in UML. Submitted.Google Scholar
  20. 20.
    G. Engels, R. Heckel, and St. Sauer. UML-A universal modeling language? In Proc. 21st Int. Conference on Application and Theory of Petri Nets (Petri Nets 2000), Aarhus, Denmark, LNCS. Springer Verlag, June 2000. To appear.Google Scholar
  21. 21.
    G. Engels and A. Schürr. Hierarchical graphs, graph types and meta types. Proc. of SEGRAGRA’95 ”Graph Rewriting and Computation”, Electronic Notes of TCS, 2, 1995. http://www.elsevier.nl/locate/entcs/volume2.html.
  22. 22.
    C. Ermel, M. Rudolf, and G. Taentzer. The AGG approach: Language and tool environment. In 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 Engels et al. [14].Google Scholar
  23. 23.
    T. Fischer, J. Niere, L. Torunski, and A. Zündorf. Story diagrams: A new graph transformation language based on UML and Java. In 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. Springer Verlag, 2000 Ehrig et al. [15].Google Scholar
  24. 24.
    C. Ghezzi, M. Jazayeri, and D. Mandrioli. Fundamentals of Software Engineering. Prentice Hall Int., 1991.Google Scholar
  25. 25.
    M. Große-Rhode, F. Parisi Presicce, and M. Simeoni. Refinement of graph transformation systems via rule expressions. In 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. Springer Verlag, 2000 Ehrig et al. [15].Google Scholar
  26. 26.
    Object Management Group. Meta object facility (MOF) specification, 1999. http://www.omg.org.
  27. 27.
    Object Management Group. OMG Unified Modeling Language Specification, V 1.3, 1999. http://www.omg.org.
  28. 28.
    The Object Management Group. The common object request broker: Architecture and specification, v. 3.0, 2000. http://www.omg.org.
  29. 29.
    R. Heckel, A. Corradini, H. Ehrig, and M. Löwe. Horizontal and vertical structuring of typed graph transformation systems. Math. Struc. in Comp. Science, 6(6):613–648, 1996.MATHGoogle Scholar
  30. 30.
    R. Heckel, G. Engels, H. Ehrig, and G. Taentzer. Classification and comparison of modularity concepts for graph transformation systems. In 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 Engels et al. [14].Google Scholar
  31. 31.
    R. Heckel, G. Engels, H. Ehrig, and G. Taentzer. A view-based approach to system modelling based on open graph transformation systems. In 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 Engels et al. [14].Google Scholar
  32. 32.
    R. Heckel, B. Hoffmann, P. Knirsch, and S. Kuske. Simple modules for grace. In 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. Springer Verlag, 2000 Ehrig et al. [15].Google Scholar
  33. 33.
    R. Heckel and A. Wagner. Ensuring consistency of conditional graph grammars-a constructive approach. Proc. of SEGRAGRA’95 ”Graph Rewriting and Computation”, Electronic Notes of TCS, 2, 1995. http://www.elsevier.nl/locate/entcs/volume2.html.
  34. 34.
    C.A.R. Hoare. Communicating Sequential Processes. Prentice-Hall, 1985.Google Scholar
  35. 35.
    Sun Microsystems Inc. Java card applet developer’s guide. http://java.sun.com/products/javacard21.html, 1998.
  36. 36.
    Sun Microsystems Inc. Java remote method invocation. http://java.sun.com/products/jdk/rmi, 1998.
  37. 37.
    C.-A. Krapp, S. Krüppel, A. Schleicher, and B. Westfechtel. UML packages for PROgrammed Graph REwrite Systems. In 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. Springer Verlag, 2000 Ehrig et al. [15].Google Scholar
  38. 38.
    M. Löwe. Evolution patterns. Postdoctoral thesis, Technical University of Berlin. Tech. Report 98-4, Dept. of Comp. Sci, 1997.Google Scholar
  39. 39.
    M. Löwe, M. Korff, and A. Wagner. An algebraic framework for the transformation of attributed graphs. In M.R. Sleep, M.J. Plasmeijer, and M.C. van Eekelen, editors, Term Graph Rewriting: Theory and Practice, chapter 14, pages 185–199. John Wiley & Sons Ltd, 1993.Google Scholar
  40. 40.
    S. Mac Lane. Categories for the Working Mathematician, volume 5 of Graduate Texts in Mathematics. Springer, New York, 1971.MATHGoogle Scholar
  41. 41.
    J. Meseguer. Conditional rewriting logic as a unified model of concurrency. Theoret. Comput. Sci., 96:73–155, 1992.MATHCrossRefMathSciNetGoogle Scholar
  42. 42.
    R. Milner. Communication and Concurrency. Prentice-Hall, 1989.Google Scholar
  43. 43.
    R. Milner, J. Parrow, and D. Walker. A calculus of mobile processes. Information and Computation, 100:1–77, 1992.MATHCrossRefMathSciNetGoogle Scholar
  44. 44.
    G. Plotkin. A structural approach to operational semantics. Technical Report DAIMI FN-19, Aarhus University, Computer Science Department, 1981.Google Scholar
  45. 45.
    T.W. Pratt. Definition of programming language semantics using grammars for hierarchical graphs. In H. Ehrig, V. Claus, and G. Rozenberg, editors, 1st Int. Workshop on Graph Grammars and their Application to Computer Science and Biology, LNCS 73, volume 73 of LNCS. Springer Verlag, 1979.CrossRefGoogle Scholar
  46. 46.
    W. Reisig. Petri Nets, volume 4 of EATCS Monographs on Theoretical Computer Science. Springer Verlag, 1985.Google Scholar
  47. 47.
    G. Rozenberg, editor. Handbook of Graph Grammars and Computing by Graph Transformation, Volume 1: Foundations. World Scientific, 1997.Google Scholar
  48. 48.
    H.-J. Schneider. On categorical graph grammars integrating structural transformation and operations on labels. Theoret. Comput. Sci., 109:257–274, 1993.MATHCrossRefMathSciNetGoogle Scholar
  49. 49.
    A. Schürr and A.J. Winter. UML packages for PROgrammed Graph REwrite Systems. In 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. Springer Verlag, 2000 Ehrig et al. [15].Google Scholar
  50. 50.
    A. Schürr, A.J. Winter, and A. Zündorf. The PROGRES approach: Language and environment. In 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. Engels et al. [14].Google Scholar
  51. 51.
    M. Shaw and D. Garlan. Software Architecture: Perspectives on an Emerging Discipline. Prentice Hall, 1996.Google Scholar
  52. 52.
    G. Taentzer, I. Fischer, M. Koch, and V. Volle. Distributed graph transformation with application to visual design of distributed systems. In 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 Ehrig et al. [16].Google Scholar
  53. 53.
    Andreas Zamperoni and Gregor Engels. Formal integration of software engineering aspects using graph rewrite systems-a typical experience?! In A. Schürr M. Nagl, editor, Proc. Applications of Graph Transformations With Industrial Relevance (AGTIVE), Kerkrade (The Netherlands), September 1–3, 1999, LNCS. Springer Verlag, 2000. To appear.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2000

Authors and Affiliations

  • Gregor Engels
    • 1
  • Reiko Heckel
    • 1
  1. 1.Dept. of Computer ScienceUniversity of PaderbornPaderbornGermany

Personalised recommendations