Lehr- und Forschungseinheit für Programmier- und Modellierungssprachen,
Institut für Informatik der Ludwig-Maximilians-Universität München

Forschungsprojekt: Constraint-Programmierung

Um Constraint-Löser in einer höheren Sprache schnell und ausreichend effizient zu spezifizieren und implementieren, wurde in der ersten Hälfte der 90er Jahre eine spezielle regelbasierte Sprache, "Constraint Handling Rules" (CHR), entwickelt. CHR kann in eine beliebige herkömmliche Programmiersprache als Bibliothek eingebettet werden. Die derzeit wichtigsten Implementierungen von CHR-Bibliotheken gibt es in Eclipse und Sicstus Prolog, zwei der in der Forschung am meisten benutzten Prolog-Systeme. Im Projekt wird die Constraint-Sprache CHR einerseits weiter untersucht, andererseits zur Implementierung von Anwendungen eingesetzt.

Teilprojekt: Konfluenz von CHR-Programmen

Die Constraint-Sprache CHR erleichtert die Implementierung von Constraint-Lösern erheblich und ermöglicht, dass Programmierer mit wenig Vorkenntnissen Constraint-Programme entwickeln. Wie es bei höheren Programmiersprachen oft der Fall ist, erweist sich die automatische Analyse und Verifikation von in der Constraint-Sprache CHR implementierten Constraint-Lösern als vielversprechend.

Eine essentielle, jedoch bei einer Regelsprache wie CHR nicht offensichtliche Eigenschaft eines Constraint-Lösers ist die Konfluenz. Sie garantiert, dass dasselbe Ergebnis berechnet wird, unabhängig davon, in welcher Reihenfolge die Constraints eintreffen und in welcher Reihenfolge die CHR-Regeln darauf angewandt werden, um sie abzuarbeiten. In diesem Projekt werden Bedingungen zur Konfluenz von CHR-Programmen und deren automatische Überprüfung untersucht. Darüber hinaus werden Verfahren entwickelt, um ein nichtkonfluentes CHR-Programm zu einem konfluenten zu vervollständigen.

Ansprechpartner: Dipl.-Inform. Slim Abdennadher

Teilprojekt: Anwendungen der Constraint-Programmierung

In diesem Teilprojekt werden Anwendungen der Constraint-Programmierung untersucht. Um die Hypothese zu überprüfen, derzufolge die Constraint-Sprache CHR auch von Programmierern ohne besonderen mathemathematische Kentnisse einsetzbar sei, werden Anwendungen bevorzugt, die den Einsatz von fortgeschrittenen numerischen Verfahren nicht erfordern. Das Hauptziel des Teilprojekts ist es, die Eignung der Constraint-Sprache CHR zur einfachen Programmierung beziehungsweise "rapid prototyping" experimentell zu belegen.


Lehr- und Forschungseinheit          Institut          Universität