next up previous contents index
Nächste Seite: 8.3 Validierung anhand synthetischer Aufwärts: 8. Validierung von YACS Vorherige Seite: 8.1 Einleitung   Inhalt   Index

8.2 Eigenschaften des Prototypen

YACS verfügt durch die strikte Ausnutzung objektorientierter Entwurfsmethoden über eine modulare Framework-Architektur. Es wurden Abstraktionen von konkreten Implementierungen gebildet, um den problemlosen Austausch bzw. die Erweiterung spezieller Komponenten zu ermöglichen. Konkrete Implementierungen hingegen wurden gekapselt, wodurch eine flexible Anbindung und die problemabhängige Austauschbarkeit gewährleistet wird. Über definierbare Constraint-Lösungsstrategien lassen sich unterschiedliche Constraint-Lösungsverfahren kombinieren und problemabhängig einsetzen. Das YACS-Framework unterstützt dabei sowohl finite als auch infinite Domänen sowie ein inkrementell anwachsendes Constraint-Netz.

Von den in Abschnitt 6.6 ff. genannten vier Szenarien für eine Umsetzung des vorgelegten Konzepts wurde das erste und zweite Szenario erreicht bzw. übertroffen. Die Voraussetzungen für die Szenarien drei und vier werden bisher lediglich zum Teil erfüllt. Es wurden allerdings bereits entsprechende Vorbereitungen getroffen, die für eine vollständige Realisierung notwendig sind.

In der Implementierung von YACS lassen sich beliebig viele Constraint-Lösungsstrategien definieren und einsetzen. Jeder primitive Constraint-Ausdruck kann theoretisch von einer eigenen Strategie verarbeitet werden. Überlappungen zwischen Constraints der selben Domäne sind möglich. Für deren Auswertung wird innerhalb von YACS eine Metapropagation realisiert. Diese ist auf die Nutzung eines einheitlichen Namensraums für sämtliche Constraint-Teilprobleme zurückzuführen. Durch wiederholtes Iterieren werden Wertebereichseinschränkungen in den beteiligten Constraint-Netzen propagiert (vgl. Abschnitt 7.7.3). Die Metapropagation ist allerdings in der derzeitigen Implementierung von YACS nicht domänenübergreifend möglich. Es existieren zurzeit keine Konvertierungsroutinen, so dass eine Vermischung von Variablen mit unterschiedlichen Wertedomänen in denselben Constraints nicht möglich ist (vgl. Abschnitt 6.4.2). Entsprechend wurden die Konzepte zum heterogenen Constraint-Lösen (vgl. Abschnitt 6.4.3) bisher nicht realisiert.

Durch die Mittel zur Generierung eines globalen Namensraums wurden die Voraussetzungen zur Verarbeitung eines Meta CSPs geschaffen. Trotz der vorhandenen Metapropagation existiert bisher allerdings innerhalb des YACS-Frameworks kein eigenständiger Meta-Constraint-Solver für die Generierung von globalen Lösungen innerhalb eines Meta CSPs (vgl. Abschnitt 6.4.3). Es ist daher möglich, dass Teillösungen von unterschiedlichen Constraint-Lösungsstrategien generiert werden, die sich gegenseitig ausschließen. Für den Anwendungsfall der strukturbasierten Konfigurierung mit ENGCON ist dieser Umstand allerdings weniger relevant, da die Metasuche nach einer gültigen Konfiguration in diesem Fall durch die übergeordnete Suche während der Konfigurierung innerhalb von ENGCON selbst vorgenommen wird. Entsprechend zählt die Verarbeitung eines Meta CSPs nicht zu den notwendigen Anforderungen für ein Constraint-System zur Unterstützung von strukturbasierten Konfigurierungsanwendungen.

Das mit dieser Arbeit erstellte Constraint-Framework wurde auf unterschiedliche Weise auf seine Funktionalität getestet. Neben ,,synthetischen`` Problemstellungen wurde es im Austausch für den bestehenden Constraint-Solver in einem Praxistest an das Konfigurierungswerkzeug ENGCON angebunden. Auf die unterschiedlichen Testfälle wird im Folgenden eingegangen.


next up previous contents index
Nächste Seite: 8.3 Validierung anhand synthetischer Aufwärts: 8. Validierung von YACS Vorherige Seite: 8.1 Einleitung   Inhalt   Index