Foundations and Applications of Graph Rewriting (MGS 2024)

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 rewriting (as in rule-based graph transformation, aka 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 rewriting 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 lecture slides (which I may update as the course progresses).

The theory will be presented on the board but is covered in

Exercises address modelling with graph rewriting.

We use 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.

Recent developments are covered in our online seminar on GReTA - Graph Transformation Theory and Applications.

There is an annual conference ICGT and a workshop GCM devoted to these topics, both held in at Twente, NL this July.