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:
- classes: Contains all .java and .class files as
well as some Makefiles.
- scripts: C shell scripts for simplifying
execution.
- working: Contains directories in which agents
can store files during execution, including logfiles.
- files: Contains directories for files and
classes which will be shared between agents.
- api: javadoc generated documenation.
- applet: html files for applet execution.
- documentation: html documentation you are
reading.
frost@cdr.stanford.edu