Rule-Based Programming

Today, rule-based systems are used in various areas, e.g. business rules and workflow systems, semantic web, UML, software verification, security systems, medical diagnosis, computational biology or computational psychology.

The lecture gives an overview of rule-based programming and formalisms based on the programming language Constraint Handling Rules (CHR). For instance, the following rule-based formalisms or systems are covered by the lecture:

  • Rewriting and graph-based formalisms:
    • Term Rewriting Systems
    • Chemical Abstract Machine and Multiset Transformation
    • Colored Petri Nets
  • Rules-based systems:
    • Production Rules
    • Event-Condition-Action Rules
    • Logical Algorithms
  • Logic- and constraint-based programming languages:
    • Deductive Databases
    • Prolog and Constraint Logic Programming
    • Concurrent Constraint Programming

The lecture covers both formal and practical aspects. The different approaches are represented in a uniform way to make them comparable.

The lecture provides mature and permanently updated teaching materials as well as free software both online and in book form and addresses students who rejoice in abstraction and problem solving.

Schedule

Lecture: Tuesday, 14-16 in O27/2201

Lab: Thursday, 14-16 in O27/2202