What it is

Copyright (C) 1998 by the University of Otago.


Bryce McKinlay

Emanuela Moreale

Research Grant

Otago Research Grant JDL B02 1997
"Tools and Techniques for Distributed Software Agent Cooperation"

Principal investigators

Stephen Cranefield

Martin Purvis


Department of Information Science,
University of Otago,
PO Box 56,
New Zealand.


This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

See the GNU General Public License for more details:

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.

Bugs and comments can be sent to:

Emanuela Moreale

by email:

by snail mail:

Open University
Knowledge Media Institute (KMI)
Walton Hall, Milton Keynes



The JATLiteBean is a JavaBean component encapsulating and extending the functionality of the JATLite agent toolkit.

platform-neutral component architecture (for Java).

JavaBeans component architecture extends "Write Once, Run AnywhereTM" capability to reusable component development.

JavaBeans components interoperate with ActiveX. JavaBeans architecture connects via bridges into other component models such as ActiveX. Software components that use JavaBeans APIs are thus portable to containers including Internet Explorer, Visual Basic, Microsoft Word, Lotus Notes, and others.

Details on JavaBeans can be found at: Sun's JavaBeans site
The JavaBeans specification can be found at: http://java.sun.com/beans/docs/spec.html


JATLite (Java Agent Template, Lite) is a package of programs written in the Java language that allow users to quickly create new software "agents" that communicate robustly over the Internet.

JATLite alone does not endow agents with specific capabilities beyond those needed for communication and interaction. In particular, JATLite does not, by itself, construct "intelligent agents".

However, JATLite does facilitate the construction of agents, particularly those that communicate by sending and receiving messages using the emerging standard communications language KQML (see http://www.cs.umbc.edu/kqml/ for the current KQML standard). The communications are built on open Internet standards, TCP/IP, SMTP, and FTP. However, developers may easily build agent systems using other agent languages, such as the FIPA ACL using the JATLite layers.

For more information on JATLite, check out the JATLite homepage.

As said above, the JATLiteBean takes this KQML-speaking functionality of JATLite and wraps it up into a JavaBean together with a few other useful features. As a result, the JATLiteBean possesses the following features and characteristics:

JATLiteBean Features

Management Briefing

  • Improved, easier-to-use interface to JATLite features including KQML message parsing, receiving, and sending.
  • Extensible architecture for message handling and agent "thread of control" management
  • Useful functions for parsing of simple KQML message content
  • JATLiteBean supports automatic advertising of agent capabilities to facilitator agents
  • Automatic, optional, handling of the "forward" performative
  • Generic configuration file parser
  • KQML syntax checker

More in detail

  • Easier creation of new KQML-speaking agents thanks to JavaBeans component architecture: no need to subclass JATLite classes or even know about JATLite. In Visual development environments, the bean can be visually "dropped" onto a project or GUI frame when constructing individual agents within a visual development environment. Agent properties can be set visually and event-handling methods created automatically.
  • Agent capability management and automatic advertising of agent capabilities to facilitator
  • More robust creation and handling of messages: JATLiteBean contains an extensible framework for responding to messages from other agents. This framework is used both internally by the bean itself (for handling "forward" requests, for example), and by the agent using the bean (to handle message types specific to each agent implementation).
  • JATLiteBean provides a generic configuration file parser which is capable of setting configuration parameters for the bean itself as well as for any object which contains JavaBean-style properties.
  • Inclusion of a KQML syntax parser which can be used to validate messages as they are formed, thus avoiding having to handle invalid KQML messages later on. The "knowledge base" used by the KQML syntax parser can be easily customised to allow custom performatives or fields (if you don't mind losing generality or perhaps for testing purposes) and can be easily updated each time the KQML syntax changes.

A good place to start building your own agents with JATLiteBean is to have a look at:


Go to the download page.

Mirrors: If this server seems slow, you can try the download page on the mirror server. The two mirrors are:

Open University
http://kmi.open.ac.uk/people/emanuela/JATLiteBean/ England mirror
University of Otago http://waitaki.otago.ac.nz/JATLiteBean/ New Zealand mirror

Page by:
First Created: Sunday, June 13, 1999
Last Updated: Friday, February 4, 2000 9:26