next up previous contents index
Nächste Seite: 2.2.4 Ressourcenbasiertes Konfigurieren Aufwärts: 2.2 Methoden zur Konfigurierung Vorherige Seite: 2.2.2 Strukturbasiertes Konfigurieren   Inhalt   Index


2.2.3 Constraint-basiertes Konfigurieren

Constraints definieren Beschränkungen und Beziehungen zwischen Konfigurierungsobjekten bzw. zwischen den Eigenschaften (den Attributen) der Objekte. Mit Hilfe von Constraints können ungerichtete Abhängigkeiten repräsentiert und evaluiert werden. Constraints sind Teil des Domänenwissens und werden ebenfalls in der Wissensbasis spezifiziert. Sie dienen zum einen dazu, aus vorhandenen Eigenschaften spezifische Eigenschaften abzuleiten (propagieren von Constraints), und zum anderen zur Überprüfung der Konsistenz der aktuellen Konfiguration. Dies wird erreicht, indem Constraints in sog. Constraint-Netzen zusammengefasst werden, in denen sie über ihre Variablen, den Constraint-Pins, zueinander in komplexen Beziehungen stehen (vgl. Abschnitt 3.6.3).

Zur Auswertung von Constraints gibt es eine Reihe von unterschiedlichen Verfahren, auf die ausführlich in Kapitel 4 und Kapitel 5 eingegangen wird. Ebenso gibt es mittlerweile eine große Anzahl von kommerziellen als auch frei verfügbaren Systemen und Werkzeugen zur Verarbeitung von Constraints, die diese Verfahren anwenden (vgl. Abschnitt 4.5). Konfigurierungsaufgaben stellen allerdings generell einige besondere Anforderungen an ein Constraint-System. So wird das Constraint-Netz erst während des Konfigurierungsvorgangs inkrementell aufgebaut, d.h. die vollständige Anzahl der Constraints ist erst dann bekannt, wenn die Lösung vorliegt. Das Constraint-System sollte dementsprechend den inkrementellen Aufbau des Constraint-Netzes erlauben. Außerdem ist es je nach Anwendungsdomäne erforderlich, dass das Constraint-System in der Lage ist, unterschiedliche Arten von Constraints (z.B. symbolische, numerische, extensionale, funktionale, usw.) zu verarbeiten (vgl. Günter und Kühn, 1999, S. 52).2.4

Ein weiteres Problem ist, dass die Komplexität von Constraint-Problemen NP-vollständig ist, wenn die Propagation der Constraints globale Konsistenz innerhalb des Constraint-Netzes sicherstellen soll. Häufig kann daher z.B. aufgrund der Größe einer Domäne nicht jeder einzelne Wert propagiert werden, sondern nur jeweils die Ober- und Untergrenzen eines Attributs bzw. Parameters. Das Constraint-System sollte demnach einen Kompromiss zwischen Effizienz und Qualität erlauben, indem entsprechend dem Anwendungsfall, das Verfahren mit der benötigten Korrektheit bei der Berechnung der Constraints Anwendung findet.

Weil allgemein anerkannt ist, dass Constraints und constraint-basierte Lösungsverfahren zur flexiblen Beschreibung von Abhängigkeiten und Auflösung selbiger besonders geeignet sind, werden Konfigurierungswerkzeuge vielfach als ,,constraint-basiert`` vermarktet, obwohl dies streng genommen nicht zutrifft. Zum Teil besitzen derartige Werkzeuge keinen Propagationsmechanismus sondern lediglich eine constraint-basierte Problemspezifikation zur Konsistenzüberprüfung, andere Werkzeuge ermöglichen lediglich eingeschränkte Möglichkeiten zur Nutzung von Constraints während des Konfigurierungsvorgangs (vgl. John und Geske, 1999a, S. 2).

Ein verfügbares Constraint-System, welches die Anforderungen für ein Konfigurierungswerkzeug in allen Belangen erfüllt, ist derzeit nicht bekannt. Aufgrund dessen sind Konfigurierungswerkzeuge wie ENGCON auf die Implementierung von Eigenlösungen angewiesen, die z.T. auf die Anbindung externer Komponenten zurückgreifen (vgl. Abschnitt 3.6). Interessante Ansätze bezogen auf Konfigurierungsaufgaben sind Dynamic Constraint Satisfaction (vgl. Mittal und Falkenhainer, 1990) und Generative Constraint Satisfaction (vgl. Stumptner et al., 1998) sowie das constraint-basierte System CONBACON (vgl. John und Geske, 2002), in dem eine Konfigurierung mit Hilfe von bedingter Constraint-Propagation durchgeführt wird vgl. Sabin und Weigel, 1998, S. 46 f.; Günter und Kühn, 1999, S. 52 u. 59.



Fußnoten

...2.4
Für weitere Anforderungen, speziell für das Konfigurierungswerkzeug ENGCON, vgl. Abschnitt 3.8 ff.

next up previous contents index
Nächste Seite: 2.2.4 Ressourcenbasiertes Konfigurieren Aufwärts: 2.2 Methoden zur Konfigurierung Vorherige Seite: 2.2.2 Strukturbasiertes Konfigurieren   Inhalt   Index