next up previous contents index
Nächste Seite: 7.7.3 Ausführungskontrolle Aufwärts: 7.7 Constraint-Lösungsstrategien Vorherige Seite: 7.7.1 Der XML-Parser   Inhalt   Index

7.7.2 Einbettung in Constraint-Netze

In der Implementierung von YACS wird jedem primitiven Constraint-Ausdruck eine Lösungsstrategie zugewiesen, die für die Auswertung des jeweiligen Constraints zuständig ist. Dies führt zur Bildung von Teilproblemen bzw. Constraint-(Teil-)Netzen, die durch die Klasse ConstraintNet repräsentiert werden (siehe Abbildung 7.7).

Die Instanzen der Klasse ConstraintNet werden vom YCM erzeugt und verwaltet. Für jede vom StrategyReader gelieferte Strategie wird ein Constraint-Netz generiert und mit der entsprechenden Strategie belegt. Jedem Teilproblem bzw. jedem Constraint-Netz ist anschließend anhand der jeweils vorhandenen Strategie bekannt, welche Constraint-Solver in welcher Phase einzusetzen sind.

Um Ergebnisse von Suchalgorithmen speichern zu können, ist jedem Constraint-Netz eine Instanz der Klasse Solutions zugeordnet. Innerhalb dieser Container-Klasse können durch Constraint-Solver Lösungsobjekte, namentlich Instanzen der Klasse Solution, abgelegt werden (siehe Abbildung 7.7).


next up previous contents index
Nächste Seite: 7.7.3 Ausführungskontrolle Aufwärts: 7.7 Constraint-Lösungsstrategien Vorherige Seite: 7.7.1 Der XML-Parser   Inhalt   Index