next up previous contents index
Nächste Seite: 8.4.1.3 Weitere Funktions-Constraints Aufwärts: 8.4.1 Modifikation der Wissensbasen Vorherige Seite: 8.4.1.1 Beispiel: Taktfrequenzen   Inhalt   Index

8.4.1.2 Beispiel: CD-ROM-Geschwindigkeit

Für ein intervallwertiges Constraint-Beispiel wird ebenfalls ein bestehendes Constraint modifiziert. So wird dem Konzept mit dem Namen CD_Rom für den Parameter Speed ein Werteintervall von 24 bis 40, und dem Parameter Transfer_Rate ein Werteintervall von 3600 bis 6000 zugewiesen:

(def-do
    :name CD_Rom
    :oberkonzept PC_Component
    :parameter ((Speed [24 40] (default 32))
                (Transfer_Rate [3600 6000])
                (Icon "cdrom" (non-config true))
                (Price {100 200})))

Die entsprechenden Unterkonzepte werden ebenfalls modifiziert. Nachfolgend ist die Constraint-Relation sowie das konzeptuelle Constraint für die Berechnung der Übertragungsgeschwindigkeit eines CD-ROM-Laufwerks aufgeführt. Das Constraint entspricht dem in Abschnitt 3.6.2 ff. beschriebenen Beispiel für ein Funktions-Constraint (vgl. Abbildung 3.9):

(def-constraint-relation
    :name                    func_CD_Rom
    :constraint-typ          :funktion
    :externe-pins            (A B)
    :beschraenkungs-funktion "A = B * [150,150];
                              B = A / [150,150];
                              # interval_consistency")

(def-konzeptuelles-constraint
    :name                    conc_CD_Rom
    :variablen-pattern-paare ((?c :name CD_Rom))
    :constraint-aufrufe      ((func_CD_Rom (?c Transfer_Rate)
                                           (?c Speed))))

Auch hier erfährt das konzeptuelle Constraint keinerlei Modifikation. Die Beschränkungsfunktion der Constraint-Relation hingegen wird entsprechend dem in YACS enthaltenen Intervall-Constraint-Solver angepasst, durch den sich ausschließlich vorgefertigte solution functions verarbeiten lassen. Außerdem ist auch hier durch ,,#`` als Trennzeichen der Name der für dieses Constraint zu nutzenden Constraint-Lösungsstrategie spezifiziert. Es ist wiederum nur ein einziger Constraint-Ausdruck, in diesem Fall bestehend aus zwei primitiven Constraints, erforderlich, der vom Constraint-Parser des YACS-Frameworks in einem Schritt geparst wird.


next up previous contents index
Nächste Seite: 8.4.1.3 Weitere Funktions-Constraints Aufwärts: 8.4.1 Modifikation der Wissensbasen Vorherige Seite: 8.4.1.1 Beispiel: Taktfrequenzen   Inhalt   Index