Skip to main content

Part of the book series: Lecture Notes in Computer Science ((LNPSE,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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Claus, V., Ehrig, H., Rozenberg, G.: Graph Grammars 1978. LNCS, vol. 73. Springer, Heidelberg (1979)

    Book  Google Scholar 

  2. Cleaveland, C.J., Uzgalis, R.C.: Grammars for Programming Languages. Elsevier, New York (1977)

    MATH  Google Scholar 

  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. Corradini, A., Ehrig, H., Kreowski, H.-J., Rozenberg, G. (eds.): ICGT 2002. LNCS, vol. 2505. Springer, Heidelberg (2002)

    MATH  Google Scholar 

  5. Drewes, F., Habel, A., Kreowski, H.-J.: Hyperedge replacement graph grammars. In: Rozenberg (ed.) [27], ch. 2, pp. 95–162.

    Google Scholar 

  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. Ehrig, H.: Introduction to the algebraic theory of graph grammars. In: Claus et al. [1], pp. 1–69

    Google Scholar 

  8. Ehrig, H., Engels, G., Parisi-Presicce, F., Rozenberg, G. (eds.) ICGT 2004. LNCS, vol. 3256. Springer, Heidelberg (2004)

    Google Scholar 

  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. Engelfriet, J., Rozenberg, G.: Node replacement graph grammars. In: Rozenberg [27], ch. 1, pp. 1–94

    Google Scholar 

  11. Göttler, H.: Zweistufige Graphmanipulationssysteme für die Semantik von Programmiersprachen. Dissertation, Universität Erlangen-Nürnberg (1977) (in German)

    Google Scholar 

  12. Habel, A., Heckel, R., Taentzer, G.: Graph grammars with negative application conditions. Fundamenta Informaticae 26, 287–313 (1996)

    MATH  MathSciNet  Google Scholar 

  13. Habel, A., Hoffmann, B.: Parallel independence in hierarchical graph transformation. In: Ehrig et al. [8], pp. 178–193

    Google Scholar 

  14. Habel, A., Müller, J., Plump, D.: Double-pushout graph transformation revisited. Mathematical Structures in Computer Science 11(5), 637–688 (2001)

    Article  MATH  MathSciNet  Google Scholar 

  15. Habel, A., Plump, D.: Relabelling in graph transformation. In: Corradini et al. [4], pp. 135–147

    Google Scholar 

  16. Heckel, R., Küster, J.M., Taentzer, G.: Confluence of typed attributed graph transformation systems. In: Corradini et al. [4], pp. 161–176

    Google Scholar 

  17. Hesse, W.: Two-level graph grammars. In: Claus et al. [1], pp. 255–269

    Google Scholar 

  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)

    Chapter  Google Scholar 

  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. Kreowski, H.-J., Rozenberg, G.: On structured graph grammars, I and II. Information Sciences 52, 185–210, 221–246 (1990)

    Article  MATH  MathSciNet  Google Scholar 

  21. Löwe, M., Korff, M., Wagner, A.: An algebraic framework for the transformation of attributed graphs. In: Sleep et al. [31], pp. 185–199

    Google Scholar 

  22. Mens, T., Demeyer, S., Janssens, D.: Formalising behaviour-preserving transformation. In: Corradini et al. [4], pp. 286–301

    Google Scholar 

  23. Nagl, M.: Graph-Grammatiken: Theorie, Anwendungen, Implementierungen. Vieweg-Verlag, Braunschweig (1979) (in German)

    Google Scholar 

  24. Plump, D.: Hypergraph rewriting: Critical pairs and undecidability of confluence. In: Sleep et al. [31], pp. 201–213

    Google Scholar 

  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)

    Chapter  Google Scholar 

  26. Plump, D., Steinert, S.: Towards graph programs for graph algorithms. In: Ehrig et al. [8], pp. 128–143

    Google Scholar 

  27. Rozenberg, G. (ed.): Handbook of Graph Grammars and Computing by Graph Transformation. Foundations, vol. I. World Scientific, Singapore (1997)

    Google Scholar 

  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. Schneider, H.-J.: On categorical graph grammars integrating structural transformations and operations on labels. Theoretical Computer Science 109, 257–274 (1993)

    Article  MATH  MathSciNet  Google Scholar 

  30. Schürr, A.: Programmed graph replacement systems. In: Rozenberg [27], ch. 7, pp. 479–546

    Google Scholar 

  31. Ronan Sleep, M., Plasmeijer, R., von Eekelen, M. (eds.): Term Graph Rewriting, Theory and Practice. Wiley & Sons, Chichester (1993)

    Google Scholar 

  32. van Eetvelde, N., Janssens, D.: Extending graph rewriting for refactoring. In: Ehrig et al. [8], pp. 399–415

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2005 Springer-Verlag Berlin Heidelberg

About this chapter

Cite this chapter

Hoffmann, B. (2005). Graph Transformation with Variables. In: Kreowski, HJ., Montanari, U., Orejas, F., Rozenberg, G., Taentzer, G. (eds) Formal Methods in Software and Systems Modeling. Lecture Notes in Computer Science, vol 3393. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-31847-7_6

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-31847-7_6

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-24936-8

  • Online ISBN: 978-3-540-31847-7

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics