Next: 5.2.4 Klasse AgentManager
Up: 5.2 Agentensystem-Modell
Previous: 5.2.2 IDL-Schnittstelle AgentSystemService
Die Klasse AgentSystem implementiert die Schnittstelle
AgentSystemService und damit auch MAFAgentSystem. Sie ist
die wichtigste Klasse des Agentensystems. Damit diese Klasse
überschaubar bleibt, werden alle zu implementierenden Methoden, welche die
Handhabung der Agenten betreffen, von der Klasse AgentManager
übernommen (siehe Abbildung 5.3). So wird z. B. die
Methode get_agent_status() aus
der Schnittstelle MAFAgentSystem nur 'durchgeschleift',
public AgentStatus get_agent_status(Name agent_name)
throws AgentNotFound {
return _agentManager.get_agent_status(agent_name);
}
wobei die Variable _agentManager ein Attribut von
AgentSystem und vom Typ AgentManager ist.
Das erklärt auch die Bezeichnung 'implements part of' bei der Assoziation
zwischen AgentSystem bzw. AgentManager und der IDL-Schnittstelle
AgentSystemService .
Die Attribute der Klasse AgentSystem sind:
- _url: die Homepage des Agentensystems
- _boa: Objektreferenz des BOAs, zum
Binden des Agentensystems an den ORB.
- _agentSystemService: CORBA-Objektreferenz des Agentensystems
- _initContext: Objektreferenz des CORBA Naming Service
- _agentSystemInfo: in [GMD97] spezifizierte Informationen
über das Agentensystem
- _agentManager: Verwaltung der Agenten (siehe
Unterabschnitt 5.2.4)
AgentSystem implementiert die Methode main(), ist also das
Hauptprogramm der gesamten Implementierung. Pro JVM wird genau
eine Instanz der Klasse AgentSystem gestartet. Die Durchsetzung dieser
Anforderung
wird einfach dadurch erreicht, daß der Konstruktor
AgentSystem() den Sichtbarkeitsindikator 'private' hat und somit
von keiner anderen Klasse aufgerufen werden kann. AgentSystem dient als
Laufzeitumgebung, auf dem beliebig viele Agenten ausgeführt werden können.
Informationen über das Agentensystem kann man über die Operation
get_agent_system_info() erlangen. Man bekommt als Rückgabewert
eine Instanz der Klasse AgentSystemInfo. Diese Klasse wird in der
MAF-Spezifikation festgelegt und enthält noch die Klassen Name
(der Name dieser Instanz) und die Klasse LanguageMap, welche eine Liste
der unterstützten Ausführungssprachen und Serialisierungsarten enthält.
Abbildung 5.3:
Teilmodell: Agentensystem
 |
Next: 5.2.4 Klasse AgentManager
Up: 5.2 Agentensystem-Modell
Previous: 5.2.2 IDL-Schnittstelle AgentSystemService
Copyright Munich Network Management Team