next up previous contents index
Nächste Seite: 3.7.3 Zusammenfassung Aufwärts: 3.7 Diskussion zum Constraint-System Vorherige Seite: 3.7.1 Constraints und mögliche   Inhalt   Index

3.7.2 Besonderheiten des Constraint-Systems von EngCon

Neben diesen allgemeinen Eigenschaften von Constraints gibt es einige spezifische Besonderheiten des Constraint-Systems von ENGCON. So ist die leistungsfähige Constraint-Komponente von ENGCON im Gegensatz zu klassischen (statischen) Constraint-Systemen ein dynamisches System mit generischen Constraints. Durch Bindungsmuster in Form von konzeptionellen Constraints wird während des Konfigurierungsverlaufs dynamisch ein inkrementell anwachsendes Constraint-Netz bestehend aus Instanzen von Constraint-Relationen instantiiert. Da die in der Wissensbasis definierten Constraint-Relationen nicht an konkrete Konfigurierungsobjekte gebunden sind, sondern sich auf Konzepte, d.h. Typen von Komponenten, beziehen, können sie als generische Constraints in einem Metamodell gesehen werden, die durch konzeptionelle Constraints an konkrete Instanzen gebunden werden.

Bezogen auf die einzelnen, ENGCON-spezifischen Constraint-Typen ergeben sich jeweils unterschiedliche Vor- und Nachteile. So sind die Java-Constraints in ENGCON zwar sehr flexibel, allerdings müssen die Auswertemechanismen für jedes Java-Constraint vom Wissensingenieur auf Quellcode-Ebene implementiert werden. Dies setzt tiefergehende Programmierkenntnisse voraus und kann sich, je nach Komplexität der zu implementierenden Abhängigkeiten, in der Praxis als ein fehleranfälliges Verfahren erweisen. Zudem wird die Wartbarkeit des Constraint-Wissens reduziert, wenn für einzelne Constraints die Auswertemechanismen separat implementiert werden.3.18

Die Verarbeitung der beschriebenen Tupel-Constraints von ENGCON für die extensionale Constraint-Repräsentation wurden sehr pragmatisch umgesetzt, allerdings ist ENGCON mit dieser Realisierung auf ein zusätzliches, externes Datenbank-System angewiesen. Unabhängig von der Verfügbarkeit eines solchen Systems, und der damit einhergehenden komplexeren Systemarchitektur, stellt sich die Frage nach der Effizienz dieser Lösung. Über einen längeren Zeitraum wurden mit enormem Aufwand Filter- und Lösungsmechanismen für die kombinatorische Problemlösung von klassischen Constraint-Problemen entwickelt (vgl. Abschnitt 5.2). Diese Verfahren werden auch bzw. gerade für extensionale Constraints verwendet.

Der Schwerpunkt dieser Arbeit liegt auf einem flexiblen Mechanismus zum Auflösen von Funktions- und Prädikat-Constraints in ENGCON, wobei die Unterscheidung von Funktions- und Prädikat-Constraints historische Gründe hat. Für das Constraint-System von KONWERK wurden Prädikat-Constraints für sehr große bzw. unendliche Relationen eingeführt, die sich aufgrund ihrer Kardinalität durch Tupel-Constraints nicht mehr effizient definieren lassen. Für die Variablen eines Prädikat-Constraints wurde deren Kreuzprodukt vom Lösungsverfahren gebildet, um die Tupel auf Zugehörigkeit zur durch die Prädikat-Funktion beschriebenen Relation testen zu können. Die Bildung des Kreuzprodukts setzt natürlich in der Praxis wiederum endliche Relationen voraus (vgl. Gülden, 1993, S. 54). Funktions-Constraints hingegen wurden bereits in KONWERK als flexibler Mechanismus zur Beschreibung von unendlichen Relation, bzw. Relationen über unendliche Wertemengen, durch Intervall-Funktionen genutzt (vgl. Gülden, 1993, S. 39). Von Nachteil ist hier, dass globale Konsistenz für diese Constraints, begründet durch die Lösungsverfahren, i.A. nicht hergestellt werden kann (vgl. Gülden, 1993, S. 57 f.). In ENGCON werden sowohl Funktions- als auch Prädikat-Constraints von derselben Komponente, dem externen (Intervall-)Constraint-Solver, ausgewertet. Auch diese Komponente erreicht i.d.R. lediglich lokale Konsistenz, setzt allerdings Methoden ein, die in manchen Fällen globale Konsistenz herstellen können.

Vorteilhaft an der derzeit in ENGCON eingesetzten Lösung ist, dass sich durch die zum Einsatz kommenden Intervallverfahren sinnvolle Näherungslösungen für ein breites Spektrum von Constraints berechnen lassen. Zudem ist die zurzeit verwendete externe Lösung sehr effizient. Die statische Beschränkung auf eine bestimmte externe Lösung kann sich allerdings nachteilig auswirken, wenn unterschiedliche Problemstellungen unterschiedliche Anforderungen an das Lösungsverfahren stellen, z.B. hinsichtlich der Präzision durch den Grad lokaler Konsistenz. Zudem kann sich die Propagation ausschließlich von Intervallen als ineffizient erweisen, wenn entsprechende Wertebereiche von Constraint-Variablen lediglich sehr wenige, einzelne Lösungen aufweisen, die jedoch untereinander einen sehr großen Abstand voneinander aufweisen. Propagationsverfahren für diskrete Wertebereiche können hier effektiver sein.



Fußnoten

...3.18
Unbetroffen bleibt hiervon die Wartbarkeit der Wissensbasis an sich, in der weiterhin eine deklarative Beschreibung erhalten bleibt.

next up previous contents index
Nächste Seite: 3.7.3 Zusammenfassung Aufwärts: 3.7 Diskussion zum Constraint-System Vorherige Seite: 3.7.1 Constraints und mögliche   Inhalt   Index