Regelbasierte Programmierung

Regelbasierte Systeme finden in vielen Bereichen, z.B. in Business Rules und Workflow-Systemen, im Semantic Web, bei der UML, in der Software-Verifikation, für Sicherheits-Systeme, in der medizinischen Diagnose, in der Computer-Biologie ihren Einsatz.

Die Vorlesung gibt einen Überblick über Regelbasierte Programmierung und Formalismen in der Informatik auf Basis der Programmiersprache Constraint Handling Rules (CHR) wie folgt:

  • Rewriting und graphenbasierte Formalismen:
    • Term Rewriting Systems
    • Chemical Abstract Machine und Multiset Transformation
    • Colored Petri Nets
  • Regelbasierte Systeme:
    • Production Rules
    • Event-Condition-Action Rules
    • Logical Algorithms
  • Logik- und constraintbasierte Programmiersprachen:
    • Deduktive Datenbanken
    • Prolog und Constraint Logic Programming
    • Concurrent Constraint Programming

Die Vorlesung deckt sowohl formale als auch praktische Aspekte ab. Die unterschiedlichen Ansätze werden auf einheitliche Weise dargestellt und so miteinander vergleichbar gemacht und in Beziehung gesetzt. Die Lehrveranstaltung bietet ausgereiftes, ständig aktualisiertes Lehrmaterial und freie Software Online als auch in Buchform für Studenten, die Freude an Abstraktion und Problemlösen haben.

Die Übung ermöglicht es, praktische Erfahrungen mit einer der fortgeschrittensten deklarativen Programmiersprachen zu sammeln. Die Übungen beinhalten sowohl theoretische als auch programmier-praktische Aufgaben.

Termine

Vorlesung: Dienstag, 14-16 Uhr in O27/2201

Übung: Donnerstag, 14-16 Uhr in O27/2202