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: Term Rewriting, Multiset Rewriting, Chemical Abstract Machine
- Logic: Constraint Handling Rules, Deductive Databases
- Rules: Event-Condition-Action Rules, Production Rules
- Graphs: Petri Nets, Graph Transformation Systems
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.