next up previous contents
Next: Controlling of (System) Agents Up: AgentSystem Class Previous: Creation of a System   Contents

Creation of an Agent

The Agents are created different. One difference is that an Agent can, when the AgentClassLoader supports it, be loaded over the net from a ftp or web server. Remember that this is still not implemented in this version of TAgents. This is also valid for the third possibility to create an Agent, to fetch the classes from another Agent System. So we will only have a look at the creation of an Agent with its class files in the current CLASSPATH. The parameters are the name of the class (like with a System Agent) and an Authority for the Agent.

The first step is to create a new AgentID for the Agent arising. This step has to be done first to check the security for this Agent before instantiating it. So the next call goes to the AgentSecurityManager to check if the Agent is allowed to execute here (checkExecution()). Now the Agent can be created. The biggest part is taken over by the AgentLoader which is called now to instantiate the new Agent. It calls the AgentClassLoader to get a new Agent class back to make it easy to be used for Agents from other sources. Then the Agent gets its AgentHelper and the AgentLoader is instructed to initialize and start the Agent. The the AgentLoader is put with its ID into the agents Hashtable. At last the System tells every admin System Agent that there has been created a new Agent to keep their lists of Agents up to date.

For details which is done at initializing and starting of a System Agent, see the Section [*].


next up previous contents
Next: Controlling of (System) Agents Up: AgentSystem Class Previous: Creation of a System   Contents
Thomas Letsch 2001-02-21