Ludwig-Maximilians-Universität München, Institut für Informatik
Lehr- und Forschungseinheit für Programmierung und Softwaretechnik

Constraint-basierte Programmierung

Unter "Constraintlösen" versteht man das Lösen von Problemen, indem man "Constraints" (Bedingungen, Einschränkungen) angibt, die von einer Lösung erfüllt werden müssen. Zum Beispiel: Unser Fahrrad hat ein Zahlenschloß. Wir können uns nicht mehr an die erste Zahl erinnern. Wir wissen nur mehr: Sie ist ungerade, natürlich einstellig und außerdem keine Primzahl. Indem wir diese unvollständigen Informationen über die Zahl kombinieren, können wir die gesuchte Zahl, nämlich 9, ermitteln. Dabei sind "ungerade", "einstellig" und "keine Primzahl" die Constraints, die die Zahl beschreiben.

Seit Anfang der neunziger Jahre wird constraint-basierte Programmierung (d.h. um Constraints erweiterte Programmiersprachen) mit großem Erfolg von mehreren Firmen weltweit kommerziell eingesetzt. Die Erfahrungen mit kommerziellen Anwendungen zeigen, daß oftmals kein homogenes Constraintproblem vorliegt, sondern eine subtile Kombination verschiedenster Constraintsysteme.

Um Constraints so verwenden zu können, wie sie in einer Anwendung auftreten, entwickeln wir eine spezielle Sprache, Constraint Handling Rules (CHRs), zum Implementieren von Constraintlösern. Wir wenden sie in den unterschiedlichsten Bereichen an (Optimierte Planung von Sendeanlagen für Mobilkommunikation, Mietspiegel am Internet,...).

Mehr unter URL http://www.pst.informatik.uni-muenchen.de/personen/fruehwir/buch.html

Ansprechpartner: Dr. Thom Frühwirth

Liste aller Projekte

Institut Universität