Information Technology Reference
In-Depth Information
chend initialisiert. Der
Customizer
kann durch Anklicken des Punktes
Properties
im Menü Edit aufgerufen werden.
Ist ein Agent erzeugt worden, wird er im Feld
Agentlist
im Fenster der Anwendung
angezeigt. Für jeden Agenten werden der Name, der Typ, der Zustand und die jeweilige
Aufgabe aufgeführt. Man kann dabei einen Agenten durch Anklicken der Zeile auswählen,
die seine Informationen enthält. Wurde ein Agent ausgewählt, kann sein Status über das
Menü
edit
geändert werden. Ist ein Agent initialisiert worden, ändert sich sein Status
zu initialisiert (
INITIATED
) und die Auswahlmöglichkeit zum Starten des Prozesses ist
im Menü
edit
verfügbar. Der Menüeintrag
START PROCESSING
wird verwendet,
um einen Agenten durch Aufruf der Methode
startAgentProcessing()
im aus-
gewählten Agenten zu aktivieren. Der Zustand des Agenten ist nun aktiv (
ACTIVE
). Ist
ein Agent aktiv, läuft sein Zeitgeber und erzeugt Signale und Ereignisse. Die Ausführung
eines Agenten kann durch Auswahl des Menüeintrages
Suspend Processing
unter-
brochen und durch
Resume Processing
fortgesetzt werden. Diese Aktionen rufen
die entsprechenden Agenten-Methoden
suspendAgentProcessings()
und
resu-
meAgentProcessing()
auf. Der Menüpunkt
CUT
wird verwendet, um einen ausge-
wählten Agenten durch Aufruf der Methode
stopAgentProcessing()
zu beenden.
Sie entfernt einen Agenten außerdem von der Plattform. Der Eintrag
Clear
im Menu
File
kann dazu verwendet werden, um alle Agenten zu beenden und von der Plattform
zu entfernen.
9.3.3
Alarmierungs-Agenten
Die nächste Implementierungsvariante eines Agenten stellt eine überaus nützliche Funk-
tion zur Verfügung. Ein
SchedulerAgent
kann zur Einstellung von einmaligen Alar-
men eingesetzt werden, die sich nach einer festgelegten Zeit abschalten, oder für Alarme,
die in festgelegten Intervallen periodisch wiederholt werden. Wenn eine Alarmbedingung
eintritt, sendet der
SchedulerAgent
an alle seine eingetragenen Listener ein
Agen-
tEvent
. Folglich kann er für die Zeitplanung der Aufgaben anderer Agenten genutzt
werden, indem zu einem festgelegten Zeitpunkt oder nach Ablauf einer bestimmten Zeit-
spanne ein Ereignis an die Agenten gesendet wird.
Der
SchedulerAgent
verfügt über verschiedene Datenelemente. Das Element
interval
enthält einen Wert in Millisekunden für Alarme, die intervallweise ausgelöst
werden. Das boolesche Flag
oneShot
zeigt an, ob dieser Agent zu einer festgelegten
Zeit ein einmaliges Ereignis oder jedes Mal nach Ablauf der in
interval
angegebenen
Zeit ein Ereignis senden wird. Das Element
time
enthält das Datum und die Zeit für
jeden einmaligen Alarm und das Element
actionString
legt die Zeichenfolge für die
Aktion des generierten
AgentEvents
fest. Die Methode
initialize()
prüft, ob der
SchedulerAgent
so eingestellt ist, dass er einen einmaligen oder einen sich regelmä-
ßig wiederholenden Alarm auslöst. Wenn der Agent zur Planung einer einmaligen Ausfüh-
rung dienen soll, wird in die Variable
interval
die Anzahl der Sekunden zwischen der