# Graph Transformation with Variables

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

## Abstract

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.

## Keywords

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.

## References

1. 1.
Claus, V., Ehrig, H., Rozenberg, G.: Graph Grammars 1978. LNCS, vol. 73. Springer, Heidelberg (1979)
2. 2.
Cleaveland, C.J., Uzgalis, R.C.: Grammars for Programming Languages. Elsevier, New York (1977)
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)
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)
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)
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)
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)
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)
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)
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