EMA-XPS Online


DEFINE-BEHAVIOR

DEFINE-BEHAVIOR
===============

Syntax: (define-behavior <Behavior-Name>
           {:PRIMARY | :BEFORE | :AFTER}
           <Behavior-spezialisierte-Lambda-Liste>
           [:DOCUMENTATION <Dokumentation>]
           [:EXPLANATION <Erklärung>]
           <Behavior-Rumpf>)

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

DEFINE-BEHAVIOR definiert ein Behavior. Ein Behavior
besteht aus einem Namen, der das Behavior näher be-
zeichnet, einem <qualifier>, der angibt, ob es sich
um ein zentrales Behavior oder ein Ergänzungs-
behavior handelt, einer Lambda-Liste, mit der die
Parameter des Verhaltens festgelegt werden und
schließlich dem Behavior-Rumpf, in dem angegeben
wird, was das Behavior tun soll. Dokumentation und
Erklärung sind optional.
Außerdem gibt es noch die besonderen Behaviors
NOTIFY-READ-DEPENDENT und NOTIFY-WRITE-DEPENDENT,die
Sie immer erstellen müssen, wenn Sie eine Lese-
oder Schreibeabhängigkeit durchführen wollen.
Folgende Syntax ist zu beachten:

syntax: (define-behavior notify-read-dependent
           :primary
           ((<Platzhalter für Empfänger Rahmen-Typ>
           (<Platzhalter für Sender Rahmen-Typ>)
           Relations-Name Wert)
           <Behavior-Rumpf>)

Der <qualifier> kann entweder :before, :after oder
:primary sein. :primary bezeichnet immer das
zentrale Behavior, während :before und :after
Ergänzungen sind, die vor bzw. nach der zentralen
Methode ausgeführt werden.

Die <Lambda-Liste> erlaubt folgende Einträge:
Der erste Eintrag der spezialisierten Lambda-Liste
muß ein Paar (<Variablenname> <Rahmen-Typ>) sein.

Die weiteren positionalen Parameter können durch
(<Variablenname> <Rahmen-Name>) beschrieben werden.

In den Behavior-Argument-Listen kann auch ein Rest-
Argument angegeben werden. Dies geschieht in der
Form:

(define-behavior <Behavior-Name> <qualifier>
      ((Arg-1 <Rahmen-Name>) &rest Arg-liste)...)

Beispiel: >(define-behavior kunde-zufrieden
            :primary ((ein-kunde Kunde)
                      (ein-angebot Angebot))
            (kb-confirm "Sind Sie mit dem Angebot
            ~A zufrieden?" ein-angebot))


EMA-XPS Online