JADE (Java Agent Development Environment) is a
software framework to make easy the development of agent applications
in compliance with the FIPA specifications for
interoperable intelligent multi-agent systems. The goal of JADE
is to ease development while ensuring standard compliance through a
comprehensive set of system services and agents.
To achieve such a goal, JADE offers the following features to
the agent programmer:
- FIPA-compliant Agent Platform, including the
AMS, the ACC and the default DF mandatory
system agents. All these three agents are automatically activated at
platform startup.
- Distributed Agent Platform. The agent platform can be
split on several hosts and only one Java Virtual Machine is executed
on each node. Agents are implemented as Java threads and a suitable
transport is chosen for message delivery, depending upon relative
location of sender and receiver agents.
- Multiple Domains support. A number of
FIPA compliant DF agents can be started at
runtime and linked in a federation, thereby implementing a multiple
domain agent environment.
- Multithreaded execution environment with two-level
scheduling. Every JADE agent runs within its own thread of
control, but also is able to run multiple behaviours
concurrently. A preemptive scheduling is performed among all agents
within a single Java Virtual Machine, whereas cooperative scheduling
is used for the various task of a single agent.
- Oject Oriented programming environment. Most concepts
present in FIPA specifications are represented as Java
classes, so that a uniform programming interface is presented to
users. For example, ACL messages and
fipa-agent-management
ontology objects all have a
suitable Java counterpart.
- Library of interaction protocols. Ready to use behaviour
objects are provided for the standard interaction protocols such as
fipa-request
and fipa-contract-net
. To build
an agent that can act according to an interaction protocol,
application developers just need to implement domain specific actions,
while all application independent protocol logic will be carried out
by JADE framework.
- Administration GUI. Common platform management operations
can be performed through a graphical user interface, showing active
agents and agent containers. Using this GUI, platform
administrators can create, destroy, suspend and resume agents, besides
creating domain hierarchies with multiple federated DF agents.
JADE is entirely written using the Java programming
language, exploiting such advanced features as Java RMI,
Java CORBA IDL, Java Serialization and Java
Reflection API.
JADE is a trademark of {@link
CSELT}; JADE has been developed jointly by
{@link CSELT} and the
{@link Computer
Engineering Group} of {@link University of Parma}.