Graph Transformation: Foundations and Applications in Software Engineering (MGS 2022)

Graphs provide both expressive mathematical structures and a visual language used widely across engineering and social sciences. To computer scientists they are one of the most flexible data structures and a foundation for diagrammatic modelling languages.

In the field of graph transformations (aka graph rewriting or graph grammars) we describe and analyse how graphs change, e.g., as a model of computation, network dynamics, software evolution, data, model, or program transformation, etc. They generalize classical rule-based models based on strings, trees, or (multi) sets such as Chomsky grammars, term rewrite systems or Petri nets, inheriting and extending much of their theory.

This course is an introduction to graph transformations addressing in particular

This course is based on a book on Graph Transformation for Software Engineers. You can download a free free authors' copy here).

The conceptual and application-oriented aspects are covered in these lecture slides on Foundatons and Applications of graph transformations.

The theory presented is covered in

Exercises addressed modelling with graph transformation, formalisation and basic theory, aiming to provide participants with the background to access more advanced literature and use the formalism for modelling their own problems.

We used Groove for some of the exercises, which provides facilities to edit, run and debug, and model-check graph transformation systems. Installation is simple: Just downoad, unpack, and for the interactive version run bin/Simulator.jar. See also examples and documentation at the site. Here are the models we created. Just unzip and load the directories name.gps as grammars from the File menu.

Recent developments are covered in our online seminar on GReTA - Graph Transformation Theory and Applications every other Friday, restarting 22nd April.

There is a regular conference ICGT and a workshop GCM devoted to graph transformation, both in Nantes this year, 6-8 July.

Last modified: Thu April 14, 2022