next up previous contents index
Nächste Seite: 8.4.2 Konfigurierung mit EngCon Aufwärts: 8.4.1 Modifikation der Wissensbasen Vorherige Seite: 8.4.1.2 Beispiel: CD-ROM-Geschwindigkeit   Inhalt   Index

8.4.1.3 Weitere Funktions-Constraints

Die Wissensbasis PC_Advanced.lisp enthält daneben zwei weitere Funktions-Constraints, welche für eine Konfigurierung unter Verwendung von YACS ebenfalls angepasst werden müssen. Die nachfolgende Constraint-Relation, die festlegt, dass für einen bestimmten Prozessortyp das in der Konfiguration enthaltene Netzgerät des Computergehäuses eine erhöhte Leistungsabgabe aufweisen muss, wird lediglich um die zu nutzende Constraint-Lösungsstrategie erweitert. Das konzeptuelle Constraint erfährt keinerlei Modifikation:

(def-constraint-relation
    :name                    func_Power_Supply
    :constraint-typ          :funktion
    :externe-pins            (A)
    :beschraenkungs-funktion "A = 300; # low_consistency")

(def-konzeptuelles-constraint
    :name                    conc_Power_Supply
    :variablen-pattern-paare ((?v :name Processor
                                  :parameter((Type 'Slot_A)))
                              (?m :name Tower))
    :constraint-aufrufe      ((func_Power_Supply (?m power_supply))))

Da es sich hier lediglich um ein unäres Constraint handelt, ist die Constraint-Lösungsstrategie für Knotenkonsistenz mit dem Namen low_consistency ausreichend.

Das letzte zu modifizierende Funktions-Constraint dient dazu sicherzustellen, dass sich nach der Auswahl einer Grafikkarte mit AGP-Schnittstelle ausschließlich Mainboard-Konzepte in der Teilkonfiguration befinden, die einen entsprechenden AGP-Slot aufweisen. Das Constraint entspricht dem in Abschnitt 3.6.1 f. dargelegten Beispiel (vgl. Abbildung 3.8):

(def-constraint-relation
    :name                    func_AGP_Mainboard
    :constraint-typ          :funktion
    :externe-pins            (A)
    :beschraenkungs-funktion "A = 1; # low_consistency")

(def-konzeptuelles-constraint
    :name                    conc_AGP_Mainboard
    :variablen-pattern-paare ((?v :name VGA_Card
                                  :parameter((Bus 'agp)))
                              (?m :name Mainboard))
    :constraint-aufrufe      ((func_AGP_Mainboard (?m AGP_Slot))))

Auch diese Constraint-Relation muss lediglich um die zu verwendende Constraint-Lösungsstrategie erweitert werden, wobei auch hier Knotenkonsistenz ausreichend ist. Das konzeptuelle Constraint erfährt keinerlei Modifikation.

In dem folgenden Abschnitt wird beispielhaft eine Konfigurierung mit den hier beschriebenen Constraints und dem Konfigurierungswerkzeug ENGCON durchgeführt.


next up previous contents index
Nächste Seite: 8.4.2 Konfigurierung mit EngCon Aufwärts: 8.4.1 Modifikation der Wissensbasen Vorherige Seite: 8.4.1.2 Beispiel: CD-ROM-Geschwindigkeit   Inhalt   Index