JADE - Computer Science | SIU

Download Report

Transcript JADE - Computer Science | SIU

JADE
Java Agent Development Framework
An Overview
Introduction - Basic





JADE – software framework to develop agent-based
applications
Complies with FIPA specifications for interoperable
intelligent multi-agent systems.
JADE is a “middleware” that enables faster time-tomarket for developing multi-agent distributed
applications.
It is Open Source distributed under LGPL license.
Fully developed in Java by TILAB (Italy).
Introduction - Features





Provides Agent life cycle management.
Peer-to-Peer communication.
White pages and yellow pages services.
Provides a set of graphical tools that supports
the debugging, management and monitoring
phases.
Support for agent code and execution state
migration.
JADE Architecture






A JADE-based application is composed of a collection of
active components called “Agents”.
Each agent is a peer and has a unique name.
Each running instance of the JADE runtime environment
is called a Container as it can contain several agents.
Each agent lives in a “Container”.
The set of active containers is called a Platform.
The Platform provides a homogeneous layer that hides
to agents the complexity and the diversity of the
underlying tires (h/w, OS)



One container plays the role of a “Main Container” (where AMS,
DF live) to which all other containers must register as soon as
they start.
The main container differs from normal containers as it holds
two special agents (automatically started when the main
container is launched).
Two Special Agents:


The AMS (Agent Management System) that provides the naming
service and represents the authority in the platform.
The DF (Directory Facilitator) that provides a Yellow Pages
service by means of which an agent can find other agents
providing the services he requires in order to achieve his goals.
Internal architecture of the JADE run-time
Fig. JADE RMA Agent
Programmers Point of View

JADE provides a library of classes that programmers have to/can
use to develop their agents.
1.
The Agent Class


2.
The Behaviour Class


3.
for carrying out the actual tasks
action(), done()
The ACLMessage Class


4.
for creating a JADE agent
setup(), getAID(), doDelete(), takeDown()
Format : Agent Communication Language (ACL) as defined by FIPA
Asyncronous message passing paradigm
The DFService Class

To publish and search for services through method calls.
For further information

http://jade.tilab.com