EMA-XPS Online


DEFINE-CONSTRAINT

DEFINE-CONSTRAINT
=================

Syntax: (define-constraint <Constraint-Name> OF
            <constraint-pattern-Name>
            [:DOCUMENTATION <Dokumentation>]
            [:EXPLANATION <Erklärung>]
            [FOR-EACH
            (<bab-Var> <bab-lisp-Ausdruck>)]
            WITH <einfache-Prädikation>+)

Warnung: Der Erklärungseintrag wird durch 
         EMA-XPS nicht unterstützt, d.h.
         :documentation und :explanation
         werden ignoriert.

Mit einem Constraint definieren Sie die Aus-
prägungen für die Parameter des Constraint-
Pattern. Im Constraint-Pattern legen Sie fest,
wie bestimmte Werte verknüpft werden sollen.
Im Constraint legen Sie die konkreten Werte für
die Verknüpfung fest. Sie können dabei Attribut-
werte einer einzelnen wie auch mehrerer Instanzen
verknüpfen.

FOR-EACH erwartet eine Liste mit einer Variablen
gefolgt von einem Lisp-Ausdruck. Der Lisp-Ausdruck
muß zu einer Liste mit gültigen Bedingungen eva-
luieren. Durch die FOR-EACH Deklaration kann z.B.
für jede Instanz eines bestimmten Rahmens ein
Constraint erzeugt werden.

WITH erwartet eine einfache Prädikation. Die
Prädikationen in den WITH-Klauseln dürfen
nicht aufeinander aufbauen. Für jeden Parameter
des Patterns muß genau eine WITH-Klausel exis-
tieren.

Beispiel: >(define-constraint-pattern
             berechne-reale-kosten)
             (_reale-Kosten _Landes-Wuensche)
             :documentation "Berechnet die 
             entstehenden Kosten für den Kunden
             bei Besuch der Länder
             _Landes-Wuensche."
             RULES
             (KNOWN (_Landes-Wuensche)
             THEN (is _reale-Kosten (berechne-kosten-
             der-kunde _Landes-Wuensche))))
          >(define-constraint berechne-kosten-fuer-
             kunden
             OF berechne-reale-kosten
             FOR-EACH (ein-kunde (instances-of
             'Kunde)))
             WITH
             [entstehende-Kosten ein-Kunde
             _reale-Kosten]
             [ziele ein-Kunde _Landes-Wuensche])


EMA-XPS Online