Accessibility statement

# Computing by Graph Transformation - COM00051H

« Back to module search

• Department: Computer Science
• Module co-ordinator: Dr. Detlef Plump
• Credit value: 20 credits
• Credit level: H
• Academic year of delivery: 2023-24

## Module will run

Occurrence Teaching cycle
A Semester 2 2023-24

## Module aims

The module will introduce (1) the foundations of computing by graph transformation, (2) the theory and practice of rule-based graph programming, and (3) the formal verification of graph programs.

## Module learning outcomes

1. Apply the main concepts and results of graph transformation.

2. Recognise problems in various areas of computer science as suitable for applying graph transformation.

3. Be able to write efficient graph programs for solving problems in graph-like domains.

4. Know how to reason about program properties such as termination and complexity.

5. Be able to formally verify the correctness of graph programs.

## Module content

Background:
Graphs are ubiquitous in computer science, they represent and visualise relationships between objects of all kinds. Examples include circuit diagrams, flow diagrams, syntax trees, pointer structures, entity-relationship diagrams, UML diagrams, various forms of networks, etc. Graph transformation is about the dynamic manipulation of graphs by rules, combining the strengths of graphs and rules into a single computational model. Transformation rules which change graphs locally allow a declarative way of computing, with simple syntax and semantics. This course introduces the foundations of computing by graph transformation, and the principles of rule-based programming in domains of graph-like structures.

## Assessment

Task Length % of module mark
Open Examination
Open Exam
3 hours 100

None

### Reassessment

Task Length % of module mark
Open Examination
Open Exam
3 hours 100

## Module feedback

Problem classes and practicals are devised to give continuous feedback.
The exams will result in generic class feedback, which can be used by failing students to better understand how to answer the resit paper.

*** H. Ehrig, K.Ehrig, U. Prange and G. Taentzer, Fundamentals of Algebraic Graph Transformation, Springer, 2006

* H. Ehrig, C. Ermel, U. Golas and F. Hermann, Graph and Model Transformation, Springer, 2015

++ G. Rozenberg (ed.), Handbook of Graph Grammars and Computing by Graph Transformation. Volume 1: Foundations, World Scientific, 1997

++ H. Ehrig, G. Engels, H.-J. Kreowski and G. Rozenberg (eds.), Handbook of Graph Grammars and Computing by Graph Transformation. Volume 2: Applications, Languages and Tools, World Scientific, 1999

+ H. Ehrig, H.-J. Kreowski, U. Montanari and G. Rozenberg (eds.), Handbook of Graph Grammars and Computing by Graph Transformation. Volume 3: Concurrency, Parallelism and Distribution, World Scientific, 1999

The information on this page is indicative of the module that is currently on offer. The University is constantly exploring ways to enhance and improve its degree programmes and therefore reserves the right to make variations to the content and method of delivery of modules, and to discontinue modules, if such action is reasonably considered to be necessary by the University. Where appropriate, the University will notify and consult with affected students in advance about any changes that are required in line with the University's policy on the Approval of Modifications to Existing Taught Programmes of Study.