Jadex Home VSIS Group at Univ. Hamburg
 

Features

The following sections highlight some of the current features of Jadex. In summary, Jadex is a Java based, FIPA compliant agent environment, and allows to develop goal oriented agents following the BDI model. Jadex provides a framework and a set of development tools to simplify the creation and testing of agents.

Java based

The Jadex project aims to make the development of agent based systems as easy as possible without sacrificing the expressional power of the agent paradigm. To foster a smooth transition from traditional distributed systems to the development of (multi-) agent systems, well established object-oriented concepts and technologies should be employed wherever possible. With Jadex you are able to create agent systems without having to learn a new programming language. Jadex is designed to facilitate the implementation of agents in the widespread Java programming language, therefore allowing to reuse a vast amout of existing tools and libraries.

FIPA Compliant

One of the primary success factors of a new technology is the timely availability of standards to guarantee interoperability between evolving products. In order to facilitate the interoperability of independently developed (multi-) agent systems, the Foundation for Intelligent Physical Agents (FIPA) released a set of specifications, which are commonly referred to as "the FIPA standard". As shown in the figure, the FIPA standard specifies an agent platform architecture, which defines services such as agent management and a directory facilitator. This architecture enables agents to communicate using a common agent communication language.

FIPA Agen Management
FIPA Agent Management

To achieve FIPA-compliancy, Jadex is based on the JADE Agent Framework, an open source development by the Telecom Italia Lab. JADE provides the platform architecture and the core services and message transport mechanisms as required by the FIPA specifications. Further advantages of using JADE arise from its stability, features such as agent deployment and debugging tools, and its large and active user base.

Goal Oriented Agents

The agent concept is regarded as a powerful software development paradigm, well suited to address the complexity of todays large software systems. It allows to view a system as being composed of autonomous interacting entities which pursue their own goals and act in a rational manner. The internal state and decision process of agents is therefore modelled in an intuitive manner following the notion of mental attitudes. Goal orientation means that, instead of directly requesting the agents to perform certain actions, the developer can define more abstract goals for the agents, thereby providing a certain degree of flexibility on how to achieve the goals.

BDI Architecture
Jadex BDI Architecture

The BDI Model, based on the mental attitudes belief, desire and intention, was first introduced as a philosophical model for modelling rational (human) agents, but later adopted and transformed into an execution model for software agents, based on the notion of beliefs, goals, and plans. Jadex incorporates this model into JADE agents, by introducing beliefs, goals and plans as first class objects, that can be created an manipulated inside the agent. In Jadex, agents have beliefs, which can be any kind of Java object and are stored in a belief base. Goals are implicit or explicit descriptions of states to be achieved. To achieve its goals the agent executes plans, which a procedural recipes coded in Java.

Framework

The Jadex framework consists of an API, an execution model, and predefined reusable generic functionality. The API provides access to the Jadex concepts when programming plans. Plans are plain Java classes, extending a specific abstract class, which provides useful methods e.g. for sending messages, dispatching sub goals or waiting for events. Plans able to read and alter the beliefs of the agent using the API of the belief base. A special feature of Jadex is that in addition to directly retrieving stored facts, an intuitive OQL-like query language allows to formulate arbitrary complex expressions using the objects contained in the belief base.

In addition to the plans coded in Java, the developer provides an XML based Agent Definition File (ADF), which specifies the initial beliefs, goals, and plans of an agent. The Jadex runtime engine reads this file to instantiate an agent model, and executes the agent by keeping track of its goals while contiunously selecting and executing plan steps, based on internal events and messages from other agents. Jadex is supplied with some predefined functionality e.g. to access a directory facilitator service. The functionality, coded in separate plans, is composed in reusable agent modules called capabilities, described in a format similar to the ADF, and can easily be plugged into existing agents.

Development Tools

An important quality aspect of any development environment is the available tool support. For one, Jadex is built on top of JADE and therefore a lot of readily available tools can also be used with Jadex. This is not only true for the tools included in JADE, such as the Sniffer or the DummyAgent, but also regards third party tools like the beangenerator plug-in for the ontology design tool Protégé.

On the other hand, the new concepts introduced by Jadex have to be supported as well. Therefore tools have been realized to aid the developer in dealing with these aspects e.g. related to the BDI model. The BDI Viewer tool allows to view the internal state of a Jadex agent, that is, its current beliefs, goals, and plans (see picture). The Jadex Introspector is similar to the JADE Introspector, allowing to monitor and influence the execution of an agent, by observing and influencing how incoming events are handled. For debugging purposes the Introspector also allows to put an agent into single-step mode (shown in the screenshot). In addition to the Jadex specific tools, a Logger Agent is provided, which allows to collect and view log messages from JADE and Jadex agents, following the Java Logging API.

BDI Viewer
BDI Viewer Screenshot

Introspector
Introspector Screenshot

Copyright (C) 2002-2008 Lars Braubach, Alexander Pokahr - University of Hamburg