Accessibility statement

Computing by Graph Transformation - COM00051H

« Back to module search

  • Department: Computer Science
  • Credit value: 20 credits
  • Credit level: H
  • Academic year of delivery: 2023-24

Module will run

Occurrence Teaching period
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.

Indicative assessment

Task % of module mark
Online Exam -less than 24hrs (Centrally scheduled) 100

Special assessment rules

None

Indicative reassessment

Task % of module mark
Online Exam -less than 24hrs (Centrally scheduled) 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.

Indicative reading

*** 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 constantly explores 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. In some instances it may be appropriate for the University to notify and consult with affected students about module changes in accordance with the University's policy on the Approval of Modifications to Existing Taught Programmes of Study.