SOMA.agent.mobility
Class AgentManager

java.lang.Object
  extended bySOMA.agent.mobility.AgentManager
Direct Known Subclasses:
AgentManagerSecurity

public class AgentManager
extends java.lang.Object

Gestore degli agenti di un place.

Author:
Livio Profiri

Field Summary
 ClassManager agentClassManager
           
 int AgentIDCounter
           
(package private)  DirExplorerItem agentManagerDir
           
 AgentPositionStore agentPositionStore
           
(package private)  AgentSystem agentSystem
           
 AgentWorkerStore agentWorkerStore
          Memorizza i worker degli agenti.
(package private)  StringExplorerItem cache
           
 ClassManager cacheClassManager
           
(package private)  Environment env
           
 IndexHashtable indexStore
          Timeout standard: 1 minuto.
 int MAX_MESSAGE_ATTEMPTS
          Numero massimo di tentativi di ricerca di un agente per recapitargli un messaggio.
(package private)  StringExplorerItem path
           
 
Constructor Summary
AgentManager()
           
AgentManager(Environment env)
          Costruttore.
 
Method Summary
 void agentDeath(AgentID agentID)
          Fa le pulizie, oppure notifica la morte allo home place dell'agente.
 int agentsNumber()
          Restituisce il numero di worker e quindi di agenti del place.
 AgentWorker createAgent(java.lang.String agentName, java.lang.Object argument, boolean isSystemAgent, boolean traceable)
          Creazione di un agente.
 AgentWorker createWorker(Agent agent)
          Creazione del worker di un agente.
 void load()
           
 void load(java.lang.String fileName)
           
 void loadWorkers(java.util.List list)
           
 AgentID newAgentID()
          Creazione di un nuovo AgentID.
 AgentPacket packAgent(Agent agent)
          Impacchetta l'agente per il trasporto.
 void save()
           
 void save(java.lang.String fileName)
           
 void sendMessage(Message message)
          Spedizione di un messaggio ad un altro agente.
 void sendMessage(Message message, int attemptsCount)
           
 java.lang.String toString()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

env

Environment env

agentSystem

AgentSystem agentSystem

agentClassManager

public ClassManager agentClassManager

cacheClassManager

public ClassManager cacheClassManager

indexStore

public IndexHashtable indexStore
Timeout standard: 1 minuto.


path

StringExplorerItem path

cache

StringExplorerItem cache

AgentIDCounter

public int AgentIDCounter

agentWorkerStore

public AgentWorkerStore agentWorkerStore
Memorizza i worker degli agenti.


agentPositionStore

public AgentPositionStore agentPositionStore

agentManagerDir

DirExplorerItem agentManagerDir

MAX_MESSAGE_ATTEMPTS

public final int MAX_MESSAGE_ATTEMPTS
Numero massimo di tentativi di ricerca di un agente per recapitargli un messaggio.

See Also:
Constant Field Values
Constructor Detail

AgentManager

public AgentManager()

AgentManager

public AgentManager(Environment env)
Costruttore.

Parameters:
env - L'environment del place.
Method Detail

createAgent

public AgentWorker createAgent(java.lang.String agentName,
                               java.lang.Object argument,
                               boolean isSystemAgent,
                               boolean traceable)
Creazione di un agente.

Parameters:
agentName - Nome dell'agente.
argument - Parametro di inizializzazione, vedi Agent.putArgument( Object obj ).
isSystemAgent - Se a true si forza l'utilizzo del classloader di sistema
traceable - Se a true l'agente ha un è traceable ed ha una mailbox.

createWorker

public AgentWorker createWorker(Agent agent)
Creazione del worker di un agente.

Prima di creare il worker si verificano i sui diritti di accesso al place PlaceAccessPermission.


sendMessage

public void sendMessage(Message message)
Spedizione di un messaggio ad un altro agente.

Non e' possibile statilire se il messaggio sara' correttamente recapitato.

Questo metodo si interfaccia direttamente al NetworkManager.


sendMessage

public void sendMessage(Message message,
                        int attemptsCount)

agentDeath

public void agentDeath(AgentID agentID)
Fa le pulizie, oppure notifica la morte allo home place dell'agente.


newAgentID

public AgentID newAgentID()
Creazione di un nuovo AgentID.


agentsNumber

public int agentsNumber()
Restituisce il numero di worker e quindi di agenti del place.


packAgent

public AgentPacket packAgent(Agent agent)
Impacchetta l'agente per il trasporto.

Modificare questa funzione per introdurre nuovo AgentPacket.


loadWorkers

public void loadWorkers(java.util.List list)

load

public void load()
          throws java.io.IOException,
                 java.lang.ClassNotFoundException
Throws:
java.io.IOException
java.lang.ClassNotFoundException

save

public void save()
          throws java.io.IOException
Throws:
java.io.IOException

save

public void save(java.lang.String fileName)
          throws java.io.IOException
Throws:
java.io.IOException

load

public void load(java.lang.String fileName)
          throws java.io.IOException,
                 java.lang.ClassNotFoundException
Throws:
java.io.IOException
java.lang.ClassNotFoundException

toString

public java.lang.String toString()


Copyright © 2004 Luca Foschini