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-to- market 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 for creating a JADE agent setup(), getAID(), doDelete(), takeDown() 2. The Behaviour Class for carrying out the actual tasks action(), done() 3. The ACLMessage Class Format : Agent Communication Language (ACL) as defined by FIPA Asyncronous message passing paradigm 4. The DFService Class To publish and search for services through method calls.
For further information