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 ).
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:
When an agent is started, it will perform the following operations:
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.