Graph Transformation with Variables

  • Berthold Hoffmann
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3393)


Variables make rule-based systems more abstract and expressive, as witnessed by term rewriting systems and two-level grammars. In this paper we show that variables can be used to define advanced ways of graph transformation as well. Taking the gluing approach to graph transformation [7,3] as a basis, we consider extensions of rules with attribute variables, clone variables, and graph variables, respectively. In each case, the variables in a rule are instantiated in order to obtain a set of rule instances that in turn defines the transformation relation. By combining different kinds of variables, we define very expressive rules, and reduce them to plain rules by instantiation. Since gluing graph transformation has a well developed theory, this opens the door to lift results of that theory from instances to rules with variables.


Graph Transformation Variable Node Clone Variable Graph Pattern Rule Application 
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.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Claus, V., Ehrig, H., Rozenberg, G.: Graph Grammars 1978. LNCS, vol. 73. Springer, Heidelberg (1979)CrossRefGoogle Scholar
  2. 2.
    Cleaveland, C.J., Uzgalis, R.C.: Grammars for Programming Languages. Elsevier, New York (1977)zbMATHGoogle Scholar
  3. 3.
    Corradini, A., Ehrig, H., Heckel, R., Löwe, M., Montanari, U., Rossi, F.: Algebraic approaches to graph transformation, part I: Basic concepts and double pushout approach. In: Rozenberg, G. (ed.) Handbook of Graph Grammars and Computing by Graph Transformation. Foundations, vol. I. World Scientific, Singapore (1997)Google Scholar
  4. 4.
    Corradini, A., Ehrig, H., Kreowski, H.-J., Rozenberg, G. (eds.): ICGT 2002. LNCS, vol. 2505. Springer, Heidelberg (2002)zbMATHGoogle Scholar
  5. 5.
    Drewes, F., Habel, A., Kreowski, H.-J.: Hyperedge replacement graph grammars. In: Rozenberg (ed.) [27], ch. 2, pp. 95–162. Google Scholar
  6. 6.
    Drewes, F., Hoffmann, B., Minas, M.: Constructing shapely nested graph transformations. In: Kreowskiand, H.-J., Knirsch, P. (eds.) Proc. Int’l Workshop on Applied Graph Transformation (AGT 2002), pp. 107–118 (2002)Google Scholar
  7. 7.
    Ehrig, H.: Introduction to the algebraic theory of graph grammars. In: Claus et al. [1], pp. 1–69Google Scholar
  8. 8.
    Ehrig, H., Engels, G., Parisi-Presicce, F., Rozenberg, G. (eds.) ICGT 2004. LNCS, vol. 3256. Springer, Heidelberg (2004)Google Scholar
  9. 9.
    Ehrig, H., Hoffmann, B., Schmiedecke, I.-R.: A Graph- Theoretical Model for Multi-Pass Parsing. In: Mühlbacher, J.R. (ed.) Proc. 7th Conf. on Graph-Theoretical Concepts in Comp. Sci. (WG 1981), München-Wien, pp. 19–32. Hanser, Verlag (1982)Google Scholar
  10. 10.
    Engelfriet, J., Rozenberg, G.: Node replacement graph grammars. In: Rozenberg [27], ch. 1, pp. 1–94Google Scholar
  11. 11.
    Göttler, H.: Zweistufige Graphmanipulationssysteme für die Semantik von Programmiersprachen. Dissertation, Universität Erlangen-Nürnberg (1977) (in German)Google Scholar
  12. 12.
    Habel, A., Heckel, R., Taentzer, G.: Graph grammars with negative application conditions. Fundamenta Informaticae 26, 287–313 (1996)zbMATHMathSciNetGoogle Scholar
  13. 13.
    Habel, A., Hoffmann, B.: Parallel independence in hierarchical graph transformation. In: Ehrig et al. [8], pp. 178–193Google Scholar
  14. 14.
    Habel, A., Müller, J., Plump, D.: Double-pushout graph transformation revisited. Mathematical Structures in Computer Science 11(5), 637–688 (2001)zbMATHCrossRefMathSciNetGoogle Scholar
  15. 15.
    Habel, A., Plump, D.: Relabelling in graph transformation. In: Corradini et al. [4], pp. 135–147Google Scholar
  16. 16.
    Heckel, R., Küster, J.M., Taentzer, G.: Confluence of typed attributed graph transformation systems. In: Corradini et al. [4], pp. 161–176Google Scholar
  17. 17.
    Hesse, W.: Two-level graph grammars. In: Claus et al. [1], pp. 255–269Google Scholar
  18. 18.
    Hoffmann, B.: Shapely hierarchical graph transformation. In: Proc. IEEE Symposia on Human-Centric Computing Languages and Environments, pp. 30–37. IEEE Computer Press, Los Alamitos (2001)CrossRefGoogle Scholar
  19. 19.
    Klop, J.W.: Term rewriting systems. In: Abramsky, S., Gabbay, D.M., Maibaum, T.S.E. (eds.) Handbook of Logic in Computer Science, vol. 2, pp. 1–116. Oxford University Press, Oxford (1992)Google Scholar
  20. 20.
    Kreowski, H.-J., Rozenberg, G.: On structured graph grammars, I and II. Information Sciences 52, 185–210, 221–246 (1990)zbMATHCrossRefMathSciNetGoogle Scholar
  21. 21.
    Löwe, M., Korff, M., Wagner, A.: An algebraic framework for the transformation of attributed graphs. In: Sleep et al. [31], pp. 185–199Google Scholar
  22. 22.
    Mens, T., Demeyer, S., Janssens, D.: Formalising behaviour-preserving transformation. In: Corradini et al. [4], pp. 286–301Google Scholar
  23. 23.
    Nagl, M.: Graph-Grammatiken: Theorie, Anwendungen, Implementierungen. Vieweg-Verlag, Braunschweig (1979) (in German)Google Scholar
  24. 24.
    Plump, D.: Hypergraph rewriting: Critical pairs and undecidability of confluence. In: Sleep et al. [31], pp. 201–213Google Scholar
  25. 25.
    Plump, D., Habel, A.: Graph unification and matching. In: Cuny, J.E., Engels, G., Ehrig, H., Rozenberg, G. (eds.) Graph Grammars 1994. LNCS, vol. 1073, pp. 75–89. Springer, Heidelberg (1996)CrossRefGoogle Scholar
  26. 26.
    Plump, D., Steinert, S.: Towards graph programs for graph algorithms. In: Ehrig et al. [8], pp. 128–143Google Scholar
  27. 27.
    Rozenberg, G. (ed.): Handbook of Graph Grammars and Computing by Graph Transformation. Foundations, vol. I. World Scientific, Singapore (1997)Google Scholar
  28. 28.
    Schied, G.: Über Graphgrammatiken, eine Spezifikationsmethode für Programmiersprachen und verteilte Regelsysteme. Dissertation, Universität Erlangen- Nürnberg (1992) (in German)Google Scholar
  29. 29.
    Schneider, H.-J.: On categorical graph grammars integrating structural transformations and operations on labels. Theoretical Computer Science 109, 257–274 (1993)zbMATHCrossRefMathSciNetGoogle Scholar
  30. 30.
    Schürr, A.: Programmed graph replacement systems. In: Rozenberg [27], ch. 7, pp. 479–546Google Scholar
  31. 31.
    Ronan Sleep, M., Plasmeijer, R., von Eekelen, M. (eds.): Term Graph Rewriting, Theory and Practice. Wiley & Sons, Chichester (1993)Google Scholar
  32. 32.
    van Eetvelde, N., Janssens, D.: Extending graph rewriting for refactoring. In: Ehrig et al. [8], pp. 399–415Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2005

Authors and Affiliations

  • Berthold Hoffmann
    • 1
  1. 1.Technologiezentrum InformatikUniversität BremenBremenGermany

Personalised recommendations