HOME

TheInfoList



OR:

Java Agent Development Framework, or JADE, is a software framework for the development of
intelligent agent In artificial intelligence, an intelligent agent (IA) is anything which perceives its environment, takes actions autonomously in order to achieve goals, and may improve its performance with learning or may use knowledge. They may be simple or ...
s, implemented in
Java Java (; id, Jawa, ; jv, ꦗꦮ; su, ) is one of the Greater Sunda Islands in Indonesia. It is bordered by the Indian Ocean to the south and the Java Sea to the north. With a population of 151.6 million people, Java is the world's mos ...
. JADE system supports coordination between several agents FIPA and provides a standard implementation of the communication language
FIPA-ACL Agent Communication Language (ACL), proposed by the Foundation for Intelligent Physical Agents (FIPA), is a proposed standard language for agent communications. Knowledge Query and Manipulation Language (KQML) is another proposed standard. The ...
, which facilitates the communication between agents and allows the services detection of the system. JADE was originally developed by
Telecom Italia Gruppo TIM, legally TIM S.p.A. (formerly Telecom Italia S.p.A.), also known as the TIM Group in English, is an Italian telecommunications company with headquarters in Rome, Milan, and Naples, (with the Telecom Italia Tower) which provides fixed ...
and is distributed as
free software Free software or libre software is computer software distributed under terms that allow users to run the software for any purpose as well as to study, change, and distribute it and any adapted versions. Free software is a matter of liberty, no ...
.


Resume

JADE is a
middleware Middleware is a type of computer software that provides services to software applications beyond those available from the operating system. It can be described as "software glue". Middleware makes it easier for software developers to implement c ...
which facilitates the development of multi-agent systems under the standard FIPA for which purpose it creates multiple containers for agents, each of them can run on one or more systems. It's understood that a set of containers constitutes a platform. JADE provides: * An environment where JADE agents are executed * Class libraries to create agents using heritage and redefinition of behaviors * A graphical toolkit to monitoring and managing the platform of
intelligent agent In artificial intelligence, an intelligent agent (IA) is anything which perceives its environment, takes actions autonomously in order to achieve goals, and may improve its performance with learning or may use knowledge. They may be simple or ...
s


History

JADE was initially developed by Telecom Italia Lab. This sector is the R & D branch of Telecom Italia Group which is responsible for promoting technological innovation.
Telecom Italia Gruppo TIM, legally TIM S.p.A. (formerly Telecom Italia S.p.A.), also known as the TIM Group in English, is an Italian telecommunications company with headquarters in Rome, Milan, and Naples, (with the Telecom Italia Tower) which provides fixed ...
conceived and promoted JADE by basing it in 2000. The latest available dates from June 2017 (version 4.5). The first version of JADE distributed as
free software Free software or libre software is computer software distributed under terms that allow users to run the software for any purpose as well as to study, change, and distribute it and any adapted versions. Free software is a matter of liberty, no ...
is available from February 2000 (versión 1.3). In March 2003
Motorola Motorola, Inc. () was an American multinational telecommunications company based in Schaumburg, Illinois, United States. After having lost $4.3 billion from 2007 to 2009, the company split into two independent public companies, Motorol ...
and
Telecom Italia Gruppo TIM, legally TIM S.p.A. (formerly Telecom Italia S.p.A.), also known as the TIM Group in English, is an Italian telecommunications company with headquarters in Rome, Milan, and Naples, (with the Telecom Italia Tower) which provides fixed ...
created the JADE Governing Board with the objective of promoting the development and adoption of JADE in the mobile telecommunications industry as
middleware Middleware is a type of computer software that provides services to software applications beyond those available from the operating system. It can be described as "software glue". Middleware makes it easier for software developers to implement c ...
based. The JADE Governing Board accepts to any company and/or organization interested in the commercial use and exploitation of JADE to commit to its development and promotion. In 2021, the team that successfully developed JADE announced that they could not continue to work on it anymore. A team of researche
forked it
and is now pursuing the platform development.


Platform

JADE is a distributed agents platform, which has a container for each host where you are running the agents. Additionally, the platform has various debugging tools, mobility of code and content agents, the possibility of parallel execution of the behavior of agents, as well as support for the definition of languages and
ontologies In computer science and information science, an ontology encompasses a representation, formal naming, and definition of the categories, properties, and relations between the concepts, data, and entities that substantiate one, many, or all domains ...
. Each platform must have a parent container that has two special agents called AMS and DF. * The DF (Directory Facilitator) provides a directory which announces which agents are available on the platform. * The AMS (Agent Management System) controls the platform. It is the only one who can create and destroy other agents, destroy containers and stop the platform.


DF Agent

To access the DF agent the class "jade.domain.DFService" and its static methods are used: ''register, deregister, modify'' and ''Search''.


AMS agent

To access the AMS Service an agent is created which automatically runs the ''register'' method of the AMS by default before executing the method ''setup'' from the new agent. When an agent is destroyed it executes its ''takeDown()'' method by default and automatically calls the ''deregister'' method of the AMS.


Agent class

The Agent class is a superclass which allows the users to create JADE agents. To create an agent one needs to inherit directly from ''Agent''. Normally, each agent recorder several services which they should be implemented by one or more behaviors. This class provides methods to perform the basic tasks of the agents as: * Pass messages by objects ACLMessage, with pattern matching * Support the life cycle of an agent * Plan and execute multiple activities at the same time


JADE agent

The cycle of life of a JADE agent follows the cycle proposed by FIPA. These agents go through different states defined as: # Initiated: The agent has been created but has not registered yet the AMS. # Active: The agent has been registered and has a name. In this state, it can communicate with other agents. # Suspended: The agent is stopped because its thread is suspended. # Waiting: The agent is blocked waiting for an event. # Deleted: The agent has finished and his thread ended his execute and there is not any more in the AMS. # Transit: The agent is moving to a new location.


Agents' behaviour

The behavior defines the actions under a given event. This behavior of the agent is defined in the method ''setup'' using the method ''addBehaviour''. The different behaviors that the agent will adopt are defined from the abstract class Behaviour. The class Behaviour contains the abstract methods: * action (): Is executed when the action takes place. * done (): Is executed at the end of the performance. A user can override the methods ''onStart ()'' and'' OnEnd ()'' property. Additionally, there are other methods such as block'' ()'' and'' restart ()'' used for modifying the agent's behavior. When an agent is locked it can be unlocked in different ways. Otherwise the user can override the methods ''onStart()'' and ''onEnd()'' the agent possess.


Unlock an agent

# Receiving a message. # When the timeout happens associated with block (). # Calling restart.


ACL messages

Message passing ACL (Agent Communication Language) is the base of communication between agents. Sending messages is done by the method ''send'' of the class Agent. In this method, you have to pass an object of type ACLMessage that contains the recipient information, language, coding and content of the message. These messages are sent asynchronously, while messages are received they will be stored in a message queue. There are two types of receiving ACL messages, blocking or non-blocking. For this provide methods ''blockingReceive ()'' and ''receive ()'' respectively. In both methods, you can make filtering messages to be retrieved from the queue by setting different templates.


Extensions

JADE has an extension denominated
WADE Wade, WADE, or Wades may refer to: Places in the United States * Wade, California, a former settlement * Wade, Maine, a town * Wade, Mississippi, a census-designated place * Wade, North Carolina, a town * Wade, Ohio, an unincorporated communi ...
(Workflows and Agents Development Environment) which is a system of
workflow A workflow consists of an orchestrated and repeatable pattern of activity, enabled by the systematic organization of resources into processes that transform materials, provide services, or process information. It can be depicted as a sequence o ...
which allows create process by a graphic editor named WOLF.


See also

*
Multi-agent system A multi-agent system (MAS or "self-organized system") is a computerized system composed of multiple interacting intelligent agents.Hu, J.; Bhowmick, P.; Jang, I.; Arvin, F.; Lanzon, A.,A Decentralized Cluster Formation Containment Framework f ...
*
Autonomous agent An autonomous agent is an intelligent agent operating on a user's behalf but without any interference of that user. An intelligent agent, however appears according to an IBM white paper as: Intelligent agents are software entities that carry out ...
*
Intelligent agent In artificial intelligence, an intelligent agent (IA) is anything which perceives its environment, takes actions autonomously in order to achieve goals, and may improve its performance with learning or may use knowledge. They may be simple or ...
*
Cognitive architecture A cognitive architecture refers to both a theory about the structure of the human mind and to a computational instantiation of such a theory used in the fields of artificial intelligence (AI) and computational cognitive science. The formalized mod ...
*
Agent Communications Language Agent Communication Language (ACL), proposed by the Foundation for Intelligent Physical Agents (FIPA), is a proposed standard language for agent communications. Knowledge Query and Manipulation Language (KQML) is another proposed standard. The m ...


References


Jade news archiveWade User Guide''Developing Multi-Agent Systems with JADE''
Volume 7 Wiley Series in Agent Technology, Fabio Luigi Bellifemine, Giovanni Caire, Dominic Greenwood
and Trust in Agent-Oriented Middleware''
Sixth International, OTM 2003 Workshops. OTM 2003. Lecture Notes in Computer Science, vol 2889. Springer, Berlin, A Poggi, M Tomaiuolo, G Vitaglione.


External links

* {{Official website *

*

Agent-based software Java platform software Multi-agent systems