ISSUES and IMPLEMENTATION TASKS:

7/19/97

 

1. Because a program needs a way of embedding the AgentOS kernel and launching an agent, we will implement two ways of launching an agent:

 

A. Launch an agent from an URL. The URL target could be an agent module (".agent") or a single class representing an agent. It may be remote ("http://") or local ("file://")

 

public boolean launchAgent(String agentClassName, URL agentClassURL)

URL could be a single class ("MyAgent.class") or an agent module ("MyAgent.agent")

 

B. Launch an agent from a single class dynamically created in a program. This method offers a convenient, quick way to launch simple agents from within a program. The agentClass may be nested, i.e. contain inner classes.

public boolean launchAgent(String agentClassName, Class agentClass)

 

Convert agentClass into byteArray (using Scott's technique) before putting it into

the AgentSuitcase

 

2. Remove the ClassFileLocator.FILE type

change

private static final int MAX_TYPE = 4;

back to

private static final int MAX_TYPE = 3;

 

 

3. Make sure Kernel can be embedded in an Applet and agent can dispatch itself to

the applet's originating host

 

 

4. Nested (Inner) classes:

Convert a nested class into a byteArray and put into AgentModule

Serialize a nested class and put into AgentPackage (see if execSerialization

still works with nested classes)

 

5. Write a more complex test agent to hop more than 2 nodes.

 

-------------------------------------------------------------------------------

6. Agent Module should not include classes that already exist at the destination host

 

7. Allow agentos.cfg to specify whether Kernel is to be embedded in an Applet or

run as a stand-alone daemon

Stand-alone daemons should use ThreadGroups, kernels embedded in Applets should not

 

8. Implement framework for FSM in agent to make programming agents easier

A. Specify the next method to be executed at the next node

B. Specify an itinerary which maps methods to nodes, i.e. which method is

executed when the agent arrives at a particular node