next up previous contents
Next: 5.2.4 Klasse AgentManager Up: 5.2 Agentensystem-Modell Previous: 5.2.2 IDL-Schnittstelle AgentSystemService

5.2.3 Klasse AgentSystem

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: 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
\begin{figure}
 \begin{center}
 
\epsfig {file=Bilder/AgentSystem0.3.epsi,width=\textwidth}
 \end{center}\end{figure}


next up previous contents
Next: 5.2.4 Klasse AgentManager Up: 5.2 Agentensystem-Modell Previous: 5.2.2 IDL-Schnittstelle AgentSystemService
Copyright Munich Network Management Team