next up previous contents index
Nächste Seite: 9.2 Ausblick Aufwärts: 9. Zusammenfassung und Ausblick Vorherige Seite: 9. Zusammenfassung und Ausblick   Inhalt   Index

9.1 Zusammenfassung

Das strukturbasierte Konfigurierungswerkzeug ENGCON ist ein flexibles System, mit dem sich aufgrund einer austauschbaren Wissensbasis domänenunabhängig eine Vielzahl von Konfigurierungsproblemen behandeln lassen. Zur Unterstützung des Konfigurierungsvorgangs von ENGCON ist eine Constraint-Komponente für die Verwaltung von algebraischen Abhängigkeiten vorgesehen. Aufgrund der Möglichkeit eine große Anzahl unterschiedlicher Konfigurierungsprobleme mit ENGCON behandeln zu können, muss die Constraint-Komponente ebenfalls eine hohe Flexibilität aufweisen. Sie muss ferner die inkrementelle Verarbeitung von Constraint-Problemen erlauben, da durch die benutzergesteuerte, interaktive Konfigurierung das Constraint-Netz inkrementell anwächst.

Für den Konfigurierungsvorgang mit ENGCON werden Lösungsmethoden für algebraische Constraint-Ausdrücke für finite und infinite Domänen benötigt. Finite Domänen werden durch diskrete Wertebereiche, infinite Domänen durch kontinuierliche, reellwertige Intervalle repräsentiert. Bestehende Constraint-Systeme erfüllen die Anforderungen für ENGCON nur teilweise, zudem ist die Anbindung bestehender Systeme mit relativ hohem Integrationsaufwand verbunden. Die Eigenentwicklung geeigneter Constraint-Verfahren stellt daher eine angemessene Lösung dar. Eingebettet in eine modulare, objektorientierte Architektur ist für den Anwendungsfall ENGCON ein hybrides Constraint-System erforderlich, welches Constraint-Solver für diskrete und kontinuierliche Werte in finiten und infiniten Domänen beinhaltet.

Die Effizienz von Constraint-Lösungsverfahren ist stark problemabhängig. Daher stellt es einen sinnvollen Ansatz dar, ein modulares Framework zu entwickeln, in das je nach Bedarf, und dem in der jeweiligen Wissensbasis definierten (Constraint-)Problem, unterschiedliche Constraint-Solver mit jeweils für das spezifische Problem effizienten Lösungsverfahren eingesetzt werden können. Ein objektorientiertes Constraint-Framework stellt die hierfür benötigten Rahmenbedingungen zur Verfügung, in denen inkrementelle Constraint-Lösungsverfahren implementiert werden können. Dies wird durch einheitliche Schnittstellen, einer klaren, objektorientierten Vererbungsstruktur innerhalb des Frameworks und einer Umgebung erreicht, welche die benötigten Komponenten für die Entwicklung und den Einsatz von Constraint-Solvern bereitstellt.

In dieser Arbeit wird ein Mechanismus entwickelt, mit dem sich unabhängig von der Implementierung jeweils geeignete Lösungsverfahren für unterschiedliche Problemstellungen definieren und anwenden lassen. Aufsetzend auf einer mehrschichtigen Architektur, dem YACS-Framework, ist der Wissensingenieur für ENGCON in der Lage, flexibel und abstrahiert von den eigentlichen Lösungsalgorithmen zwischen unterschiedlichen Verfahren zum Auflösen von Constraint-Problemen mit unterschiedlichen Wertedomänen auszuwählen. Das YACS-Framework umfasst eine hierfür geeignete, hybride Schnittstelle basierend auf Constraint-Lösungsstrategien. Eingebettet in ein objektorientiertes Framework und gesteuert über Lösungsstrategien erhält der Benutzer Zugriff auf eine modulare Bibliothek von Constraint-Lösungsalgorithmen. Das YACS-Framework bietet somit eine flexible und erweiterbare Plattform für den problemabhängigen und anwendungsspezifischen Einsatz unterschiedlicher Constraint-Lösungsmethoden für finite und infinite Domänen.

Der in Java entwickelte Prototyp des YACS-Frameworks bietet bei dem derzeitigen Stand der Implementierung die folgenden Vorteile:

Der Einsatz des YACS-Frameworks ist nicht auf die Anwendung im Kontext von ENGCON beschränkt. Aufgrund einer klaren und schlanken Schnittstelle ist YACS für unterschiedliche Anwendungen ohne großen Aufwand adaptierbar. Eine einfache, stringbasierte Schnittstelle zur Definition von Constraints und die Implementierung in der modernen Programmiersprache Java erleichtern die Nutzung von YACS als inkrementellen Inferenzmechanismus in Anwendungsszenarien, die eine Verarbeitung von intensional repräsentierten Constraints erfordern.

Mit der Realisierung des YACS-Frameworks wurde die Zielsetzung dieser Arbeit erreicht bzw. übertroffen. So lassen sich mit YACS nicht nur finite und infinite Domänen verarbeiten, sondern beliebig viele Constraint-Lösungsstrategien definieren und anwenden. Für identische Domänen (finit/infinit) ist zudem eine teilproblemübergreifende Metapropagation möglich. Die in dieser Arbeit vorgestellte Konzeption von YACS ist darüber hinaus tragfähig für weitergehende Möglichkeiten zur Constraint-Verarbeitung. Für Anwendungen, die nicht wie ENGCON über einen übergeordneten Lösungsmechanismus verfügen, ist es wie in der Konzeption beschrieben möglich, in das YACS-Framework einen Meta-Constraint-Solver zu integrieren.

Der Prototyp von YACS geht bereits in seiner jetzigen Ausprägung über die Möglichkeiten von ENGCON hinaus. Aufgrund konzeptioneller Beschränkungen von ENGCON ist derzeit ausschließlich die Propagation der Constraint-Netze möglich, da die Schnittstelle zum Constraint-System von ENGCON ausschließlich Wertebereichseinschränkungen durch Konsistenzverfahren zulässt und eine eigenständige Lösungssuche außerhalb von ENGCON bisher nicht vorsieht. Vollständige Suchverfahren können in Bezug auf ENGCON und ähnliche Anwendungsszenarien daher ausschließlich als Mechanismen zur Herstellung von globaler Konsistenz eingesetzt werden. Hierfür müsste eine Anpassung der jeweiligen Schnittstelle in der Form vorgenommen werden, dass die Ergebnisse des jeweiligen Suchvorgangs in die Domänen der Constraint-Variablen übertragen werden. Alternativ könnte dies innerhalb von YACS geschehen bzw. lassen sich vollständige Suchverfahren bereits innerhalb der jeweiligen Phase des Constraint-Lösungsprozesses wie Konsistenzverfahren zur Wertebereichseinschränkung nutzen.

Eine weitere Möglichkeit für den Einsatz von Suchverfahren bietet ein look-ahead-Mechanismus, mit dem sich während der Konfigurierung in definierten Abständen überprüfen ließe, ob für das Constraint-Problem noch eine Lösung existiert. Die Ermittlung sämtlicher Lösungen ist für dieses Anwendungsszenario nicht erforderlich, daher wäre eine einfache Suche innerhalb einer speziellen Constraint-Lösungsstrategie in diesem Fall ausreichend. Auch für einen derartigen look-ahead-Mechanismus sind allerdings konzeptionelle Erweiterungen von ENGCON notwendig.

Das YACS-Framework wurde unter der Lesser General Public License (LGPL)9.1 veröffentlicht und stellt somit Open-Source-Software dar. Neben der freien Verfügbarkeit und einer damit einhergehenden freien Verbreitungsmöglichkeit ist dies der Weiterentwicklung des Frameworks förderlich. Durch Nutzung der LGPL betrifft dies auch die kommerzielle Verwendung und Weiterentwicklung des Frameworks. YACS wird als eigenständiges Projekt bei dem Open-Source-Dienstleister ,,SourceForge.net`` gehostet, wo auch die Implementierung heruntergeladen werden kann.9.2 Der Implementierungsstatus von YACS ist derzeit prototypisch. Neben intensiven Tests sind weitere Constraint-Lösungsmethoden wünschenswert. Den Vorzug sollten dabei weitere stabile Verfahren wie Forward Checking und konfliktbasiertes Backjumping erhalten. Für Intervalldomänen ist die Entwicklung von Preprozessing-Verfahren für die automatische Zerlegung komplexer Constraints in solution functions wünschenswert.



Fußnoten

...9.1
http://www.gnu.org/licenses/lgpl.html
...9.2
http://sourceforge.net/projects/constraints

next up previous contents index
Nächste Seite: 9.2 Ausblick Aufwärts: 9. Zusammenfassung und Ausblick Vorherige Seite: 9. Zusammenfassung und Ausblick   Inhalt   Index