next up previous contents index
Nächste Seite: 7.7.2 Einbettung in Constraint-Netze Aufwärts: 7.7 Constraint-Lösungsstrategien Vorherige Seite: 7.7 Constraint-Lösungsstrategien   Inhalt   Index


7.7.1 Der XML-Parser

Der Parser zum Einlesen der Lösungsstrategien ist in der Klasse StrategyReader implementiert (siehe Abbildung 7.7). Der Konstruktor der Klasse StrategyReader bekommt vom YCM den Dateipfad zur XML-Datei übergeben und liest die darin gespeicherten Informationen aus. Der XML-Parser ist ein sog. Validating Parser, d.h. die Konsistenz der XML-Daten wird anhand einer Document Type Definition (DTD) überprüft.

Abbildung 7.7: Constraint-Lösungsstrategien und Constraint-Netze
\begin{figure}\centering
\includegraphics[scale=0.7]{images/implementierung_constraintnet}\ifx\pdfoutput\undefined
\fi
\end{figure}

In Anhang C ff. ist die verwendete DTD sowie eine Beispieldatei mit Definitionen für einfache Strategien dokumentiert. Entsprechend der DTD enthalten Strategien neben ihrem Namen als Parameter drei Abschnitte, welche die jeweilige Phase des Constraint-Lösungsprozesses repräsentieren: preprocessing, consistency und search. In jedem dieser Abschnitte lassen sich eine Reihe von Constraint-Solvern anhand ihres Klassennamens (inkl. des vollständigen Package-Pfades) spezifizieren.7.12 Diese Solver-Klassen werden vom StrategyReader instantiiert und einer Instanz der Klasse Strategy übergeben (siehe Abbildung 7.7). Jede Instanz von Strategy repräsentiert anschließend eine Strategie, wie sie innerhalb der XML-Datei spezifiziert wurde.



Fußnoten

...7.12
Die spezifizierten Constraint-Solver müssen die jeweilige abstrakte Solver-Klasse implementieren (vgl. Abschnitt 7.6).

next up previous contents index
Nächste Seite: 7.7.2 Einbettung in Constraint-Netze Aufwärts: 7.7 Constraint-Lösungsstrategien Vorherige Seite: 7.7 Constraint-Lösungsstrategien   Inhalt   Index