Java(tm) Agent Template, Version 0.3

JAT Overview

The JAT provides a fully functional template, written entirely in the Java language, for constructing software agents which communicate peer-to-peer with a community of other agents distributed over the Internet. Although portions of the code which define each agent are portable, JAT agents are not migratory but rather have a static existance on a single host. This behavior is in contrast to many other "agent" technologies. (However, using the Java RMI, JAT agents could dynamically migrate to a foriegn host via an agent resident on that host). Currently, all agent messages use KQML as a top-level protocol or message wrapper. The JAT includes functionality for dynamically exchanging "Resources", which can include Java classes (e.g. new languages and interpreters, remote services, etc.), data files and information inlined into the KQML messages. JAT agents can be executed as either standalone applications or as applets via the appletviewer (browsers such as the Netscape Navigator will not work without special extensions due to restrictions on networking and file IO). Both configurations support graphical and non-graphical agents. Coordination is provided by an Agent Name Server. The architecture of the JAT was specially designed to allow for the replacement and specialization of major functional components including the GUI, low-level messaging, message interpretation and resource handling. Consequently, the JAT should be used as a platform for building a wide range of agents for different domain applications.

The JAT_0.3 includes the core JAT packages (JavaAgent.context, JavaAgent.agent and JavaAgent.resource), the packages which support a remote service paradigm (RemoteService.context, RemoteService.agent, RemoteService.resource and ImageSelector) and the packages which implement the examples included in this documentation (test, FDATI and SModeling). Documenation, scripts and example files are also included. Specifically, the following directories should be found under the JAT_0.3/ directory: