EMA-XPS Online
DEFINE-TASK
DEFINE-TASK
===========
Syntax: (define-task <Task-Name>
<Task-Argumente>
[:DOCUMENTATION <Dokumentation>]
[:EXPLANATION <Erklärung>]
[:SUBTASKS {nil | (<Task-Name>*)}]
ACTIONS <Task-Aktionen>)
Warnung: Der Erklärungseintrag wird durch
EMA-XPS nicht unterstützt, d.h.
:explanation und :subtasks werden
ignoriert.
Mit der Definition von Tasks können Sie fest-
legen, wie auf das Wissen in Ihrer Wissensbasis
zugegriffen werden soll. Eine spezielle Task,
die ausgeführt werden soll, wenn die Wissens-
basiskonsulation gestartet wird, muß explizit
als Start-Task angegeben werden. Jede parameter-
lose Task kann als Start-Task gesetzt werden.
Tasks können andere Tasks mit Parametern ver-
sorgen und aktivieren. Nach Ende der Abarbei-
tung liefern Tasks einen Rückgabewert. Tasks
sind benannt und müssen immer einer Wissens-
basis zugeordnet werden.
ACTIONS
Bezeichnet den Aktionsteil einer Task. Hier
können Sie alle zur Verfügung stehenden
babylon-Ausdrücke und Lisp-Ausdrücke ver-
wenden. Zusätzlich stehen noch zwei spezielle
Lisp-Ausdrücke zur Verfügung:
(start <Task-Name> [<Task-Argument>*])
startet die Task <Task-Name> mit den notwendigen
Parametern als übergebenen Argumenten <Task-
Argumente>.
(stop-this-task <Task-Rückgabewert>
<Task-Rückgabecode>)
Warnung: Der <Task-Rückgabecode> wird ignoriert,
da EMA-XPS anders mit der Task-Steuerung
umgeht!
beendet unmittelbar die Abarbeitung der aktuel-
len Task. Es hat zwei Argumente. Das erste ist
der Rückgabewert der Task. Das Zweite dient
zum Setzen des momentanen Task-Status der auf-
rufenden Task. Diese Funktion ist allerdings
nur für Ausnahmefälle gedacht, wenn die nor-
male Verarbeitung abgebrochen werden muß.
Beispiel: >(define-task
initialisiere-Staedte ()
:subtasks ()
actions
(ask [AND [Stadt _stadt]
[land _stadt _land]]
(tell [staedte _land _stadt]))
(ask [AND [Stadt _stadt]
[Angebote _stadt _x]]
(tell [Ort _x _stadt])))
>(define-task ABLAUFSTEUERUNG ()
:subtasks (INITIALISIERE-STAEDTE
URLAUBSANGEBOT BEGRUESSUNG)
actions
(start 'initialisiere-staedte)
(start 'begruessung)
(start 'urlaubsangebot
(instance-of kunde)))
EMA-XPS Online