Graph Transformation by Computational Category Theory

  • Mark Minas
  • Hans Jürgen Schneider
Part of the Lecture Notes in Computer Science book series (LNCS, volume 5765)


The categorical approach is well-suited for concise definitions of graph transformation concepts. At the same time, it allows for elegant proofs of their properties. We show that these categorical concepts also allow for a similarly simple and modular implementation of graphs and graph transformations by following Rydeheard and Burstall’s idea of Computational Category Theory. We first present an implementation of some categorical definitions and constructions, e.g., colimits, in Java, and we demonstrate how this language supports the genericity of the categorical approach. We then show that applying the constructions to the category of sets as well as the category of graphs already provides an implementation of graph transformations that can be used as the foundation of an extensible graph transformation language.


Universal Property Graph Transformation Total Function Label Graph Initial Object 
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.
    Bergmann, G., Horváth, Á., Ráth, I., Varró, D.: A benchmark evaluation of incremental pattern matching in graph transformation. In: Ehrig, H., Heckel, R., Rozenberg, G., Taentzer, G. (eds.) ICGT 2008. LNCS, vol. 5214, pp. 396–410. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  2. 2.
    Bracha, G.: The Java Tutorials – Lesson: Generics, (Last checked: March 12, 2010)
  3. 3.
    Cormen, T.H., Leiserson, C.E., Rivest, R.L., Stein, C.: Introduction to Algorithms, 3rd edn. MIT Press, Cambridge (2009)zbMATHGoogle Scholar
  4. 4.
    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 [17], ch. 3, pp. 163–245Google Scholar
  5. 5.
    Drewes, F., Hoffmann, B., Janssens, D., Minas, M., Eetvelde, N.V.: Adaptive star grammars. In: Corradini, A., Ehrig, H., Montanari, U., Ribeiro, L., Rozenberg, G. (eds.) ICGT 2006. LNCS, vol. 4178, pp. 77–91. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  6. 6.
    Ehrig, H., Heckel, R., Löwe, M., Ribeiro, L., Wagner, A., Corradini, A.: Algebraic approaches to graph transformation part II: Single pushout approach and comparison to double pushout approach. In: Rozenberg [17], ch. 4, pp. 247–312Google Scholar
  7. 7.
    Ehrig, H., Pfender, M., Schneider, H.: Graph grammars: An algebraic approach. In: IEEE Conf. on Automata and Switching Theory, Iowa City, pp. 167–180 (1973)Google Scholar
  8. 8.
    Engels, G., Ehrig, H., Kreowski, H.-J., Rozenberg, G. (eds.): Handbook of Graph Grammars and Computing by Graph Transformation. Applications, Languages, and Tools, vol. II. World Scientific, Singapore (1999)Google Scholar
  9. 9.
    Ermel, C., Rudolf, M., Taentzer, G.: The AGG approach: Language and environment. In: Engels et al. [8], ch. 14, pp. 551–603Google Scholar
  10. 10.
    Herrlich, H., Strecker, G.E.: Category Theory - An Introduction. Allyn and Bacon, Boston (1973)zbMATHGoogle Scholar
  11. 11.
    Löwe, M.: Algebraic approach to single-pushout graph transformation. Theoretical Computer Science 109, 181–224 (1993)MathSciNetCrossRefzbMATHGoogle Scholar
  12. 12.
    MacLane, S.: Categories for the Working Mathematician. Graduate Texts in Mathematics, vol. 5. Springer, New York (1971)zbMATHGoogle Scholar
  13. 13.
    Mehlhorn, K., Sanders, P.: Algorithms and Data Structures: The Basic Toolbox. Springer, Berlin (2008)zbMATHGoogle Scholar
  14. 14.
    Minas, M.: Concepts and realization of a diagram editor generator based on hypergraph transformation. Science of Computer Programming 44(2), 157–180 (2002)CrossRefzbMATHGoogle Scholar
  15. 15.
    Nagl, M. (ed.): Building Tightly Integrated Software Development Environments: The IPSEN Approach. LNCS, vol. 1170. Springer, Heidelberg (1996)Google Scholar
  16. 16.
    Parisi-Presicce, F., Ehrig, H., Montanari, U.: Graph rewriting with unification and composition. In: Ehrig, H., Nagl, M., Rozenberg, G., Rosenfeld, A. (eds.) Graph-Grammars and Their Application to Computer Science. LNCS, vol. 291, pp. 496–514. Springer, Heidelberg (1987)CrossRefGoogle Scholar
  17. 17.
    Rozenberg, G. (ed.): Handbook of Graph Grammars and Computing by Graph Transformation. Foundations, vol. I. World Scientific, Singapore (1997)zbMATHGoogle Scholar
  18. 18.
    Rydeheard, D.E., Burstall, R.M.: Computational Category Theory. Prentice Hall, Englewood Cliffs (1988)zbMATHGoogle Scholar
  19. 19.
    Schneider, H.J.: Graph transformations – An Introduction to the Categorical Approach. Preliminary version (October 2009),
  20. 20.
    Schneider, H.J.: Changing labels in the double-pushout approach can be treated categorically. In: Kreowski, H.-J., Montanari, U., Orejas, F., Rozenberg, G., Taentzer, G. (eds.) Formal Methods in Software and Systems Modeling. LNCS, vol. 3393, pp. 134–149. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  21. 21.
    Schürr, A., Winter, A., Zündorf, A.: The PROGRES approach: Language and environment. In: Engels et al. [8], ch. 13, pp. 487–550Google Scholar
  22. 22.
    Zakhour, S., Hommel, S., Royal, J., Rabinovitch, I., Risser, T., Hoeber, M.: The Java Tutorial: A Short Course on the Basics, 4th edn. Prentice Hall PTR, Englewood Cliffs (2006)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2010

Authors and Affiliations

  • Mark Minas
    • 1
  • Hans Jürgen Schneider
    • 2
  1. 1.Universität der Bundeswehr MünchenGermany
  2. 2.Universität ErlangenGermany

Personalised recommendations