next up previous contents
Next: Types of Agents Up: Agent Architecture Previous: Agent Architecture

Agent Control Architecture

CASCADE implements an agent control architecture that provides for loosely coupled agents that can communicate with CASCADE, each other, and users. The agents that are run for any given user, or for different versions of CASCADE can be changed without any manipulation of the source code for CASCADE proper. This is done by installing an agent preference file in the CASCADE resource directory (see Appendix A on page gif).

It should be noted that while the architecture is fully defined, it is not yet completely implemented. Specifically, in terms of the description below, the existing agents are all ``client based'' with lifespan that is concurrent with a user CASCADE session.

CASCADE agents are defined by three dimensions:

  1. Location of Operation
  2. Initiation Rule
  3. Life Expectancy

When an agent is started, it will perform the following operations:

  1. Restore any state conditions from its memory
  2. Check for any messages left for it from other agents
  3. Open an interface to the user for input or output if necessary
  4. Engage its active or passive task.
  5. Report findings, update memory, or communicate with other agents
  6. If appropriate, terminate

While agents are intended to run as loosely coupled software entities that communicate through messages, they may be used in a tightly coupled form by embedded them in the CASCADE code on the client or on the server.

Michael Spring
Mon Dec 16 14:39:59 EST 1996