Table of contents
Next

Tutorial 1: JADE Architecture Overview

This tutorial provides an overview of the JADE Architecture introducing the notions of

Figure 1 represents the main JADE architectural elements. An application based on JADE is made of a set of components called Agents each one having a unique name. Agents execute tasks and interact by exchanging messages. Look at the JADE Programming Tutorial for a detailed explanation about how to develop agents and to make them execute tasks and communicate. Agents live on top of a Platform that provides them with basic services such as message delivery. A platform is composed of one or more Containers. Containers can be executed on different hosts thus achieving a distributed platform. Each container can contain zero or more agents. For instance, with reference to the picture below, container "Container 1" in host Host 3 contains agents A2 and A3. Even if in some particular scenarios this is not always the case, you can think of a Container as a JVM (so, 1 JVM ==> 1 container ==> 0 or many agents). A special container called Main Container exists in the platform. The main container is itself a container and can therefore contain agents, but differs from other containers as
  1. It must be the first container to start in the platform and all other containers register to it at bootstrap time
  2. It includes two special agents: the AMS that represents the authority in the platform and is the only agent able to perform platform management actions such as starting and killing agents or shutting down the whole platform (normal agents can request such actions to the AMS). The DF that provides the Yellow Pages service where agents can publish the services they provide and find other agents providing the services they need.

Figure 1. The JADE Architecture

It should be noticed that if another main container is started, as in host Host 4 in Figure 1, this constitutes a new platform.

Agent communication

Agents can communicate transparently regardless of whether they live in the same container (e.g. A2 and A3), in different containers (in the same or in different hosts) belonging to the same platform (e.g. A1 and A2) or in different platforms (e.g. A1 and A5). Communication is based on an asynchronous message passing paradigm. Message format is defined by the ACL language defined by FIPA, an international organization that issued a set of specifications for agent interoperability. An ACL Message contains a number of fields including


Table of contents
Next