Hasso-Plattner-Institut25 Jahre HPI
Hasso-Plattner-Institut25 Jahre HPI

Graph Transformaton for Software Engineers (Sommersemester 2020)

Dozent: Dr. Leen Lambers (Systemanalyse und Modellierung)

Allgemeine Information

  • Semesterwochenstunden: 2
  • ECTS: 3
  • Benotet: Ja
  • Einschreibefrist: 06.04.2020 - 22.04.2020
  • Lehrform: Seminar
  • Belegungsart: Wahlpflichtmodul
  • Lehrsprache: Englisch
  • Maximale Teilnehmerzahl: 10

Studiengänge, Modulgruppen & Module

IT-Systems Engineering MA
  • IT-Systems Engineering
    • HPI-ITSE-A Analyse
  • IT-Systems Engineering
    • HPI-ITSE-E Entwurf
  • SAMT: Software Architecture & Modeling Technology
    • HPI-SAMT-K Konzepte und Methoden
  • SAMT: Software Architecture & Modeling Technology
    • HPI-SAMT-T Techniken und Werkzeuge
  • SAMT: Software Architecture & Modeling Technology
    • HPI-SAMT-S Spezialisierung


Numerous (semi-)formal methods exist to model and analyze artefacts arising in different phases of software development, ranging from requirement specifications over software architecture to code.  Some of these methods focus on state-based behavior (e.g. automata, state charts, or state transition systems), other methods rather concentrate on structure (e.g. relational logic). 

Graph transformation is a formal method that aims to describe system structure and behavior in an integrated way, allowing to specifically zoom in on the interplay of structure and behavior.  Thereby graphs describe structure and graph transformation rules describe how this structure may change. Analysis methods based on graph transformation can then check, for example, if the induced changes comply with safety constraints for the system (that can be expressed as graph constraints), or they support to investigate under which conditions specific changes can be performed in parallel, or also which changes might causally depend on each other, etc.

Graph transformation has been applied successfully for the modeling and analysis of artefacts occurring in different software development phases, as e.g. of requirement specifications, domain-specific languages, model transformations, rule-based optimization, or visual contracts.   In this seminar, we first study the basics of graph transformation as a formal method, and subsequently learn and discuss through different application scenario's how it can be adopted to support quality assurance in software engineering. 


No special prerequisites are needed. Questions about the theory of graph transformations, arising for the individual study of a topic w.r.t. the application of graph transformation, are answered flexibly during the individual appointments with the help of the lecturer.


The contents of the seminar are mainly based on the following book, to be published shortly:

Graph Transformation for Software Engineers, Reiko Heckel and Gabriele Taentzer, Springer, 2020

Further literature will be announced in the course.

Lern- und Lehrformen

The course is expected to take place entirely online. Detailed information on the technical implementation (based on a combined use of Moodle and an online conference system) will follow. Please follow this link to reach the course in Moodle.

There will be two introductory appointments. At the first appointment there is an introduction to the topic and a description of possible presentation topics. The goals of the second appointment are to select a presentation topic (some of the topics can be worked on by a group of two students) and to arrange an appointment for the block seminar.

There is an individual preparation period for the block seminar between the introductory lectures and the block seminar appointment. This period is accompanied by two individual preparation appointments with the lecturer and an online discussion forum.

In the block seminar, individual topics are illuminated by student presentations and reflected in an open discussion after the presentation. This reflection will be continued individually after the block seminar and summarized into a reflection document.


Active participation (in the form of e.g. asking questions, giving feedback, and participating in group discussions) during individual as well as group appointments is required. The grade for this seminar is composed from the presentation (80%) of the selected topic during the block seminar and from a post-processing (20%) of this presentation, reflecting on questions and comments in the open discussion after the presentation, and summarized into a reflection document. Both parts must be passed.


Two introductory appointments: April 28, 13:30 and May 5, 13:30.

For the individual preparation phase, two individual appointments are arranged with the lecturer: The first appointment should take place within the first two weeks after the topic has been assigned. The second appointment should take place at the latest two weeks before the block seminar appointment.

The rest of the seminar will take place as a block seminar (probably also online) in the second half of the semester. We agree on a suitable appointment during the introductory course.

The deadline for the presentation slides is three working days before the block seminar appointment. The deadline for the reflection document is one week after the block seminar appointment.