Está en la página 1de 17

HISTORIA

JADE fue desarrollado inicialmente por


Telecom Italia Lab.
Telecon italia concibi y promovi
JADE, fundndolo en el ao 2000.
En Marzo de 2003 Motorola y Telecon
italia crearon
la JADE
Governing
Board con el objetivo de promover la
evolucin y la adopcin de JADE en la
industria de las telecomunicaciones
mviles como middleware de base

INTRODUCCIN

JADE (Java Agent DEvelopment Framework) es una plataforma


desarrollada ntegramente en Java para la creacin de sistemas
multi-agente.
Compuesto por:
Entorno de ejecucin
Libreras JAVA para implementar agentes
Herramientas grficas

Caractersticas:

Modelo peer-to-peer P2P


Interoperabilidad: basado en el estndar FIPA (Foundation
for Intelligent Physical Agents)
Portabilidad
Intuitiva

CARACTERSTICAS

Los agentes tienen nombres nicos y


proporcionan servicios.
Utilizan mensajes asncronos, FIPA-ACL
(Agent Comunication Language) como
lenguaje de comunicacin.
Cada agente se implementa como un
thread
Distintas plataformas pueden comunicarse
via protocolos http o iiop.
Incorpora un conjunto de agentes
auxiliares

ESTNDARES

Foundation for Intelligent Physical Agents


(FIPA)
Arquitectura:
Integracin
de
diferentes
aplicaciones,
incluso con plataformas de diferentes propietarios.
Lenguaje de comunicacin empleado FIPA-ACL.

Servicios de agentes: ciclo de vida, pginas


blancas, pginas amarillas, transporte de
mensajes,...

Conjunto de herramientas grficas que


soportan la depuracin y ejecucin de agentes
(RMA, sniffer, ...)

PLATAFORMAS
Se trata de una plataforma de agentes distribuida, que tiene un
contenedor por cada host en el que se estn ejecutando los agentes

Cada plataforma debe tener un contenedor


principal que tiene dos agentes especiales
denominados AMS y DF.
El DF (Directory Facilitator) proporciona un directorio que anuncia qu
agentes hay disponibles en la plataforma.
El AMS (Agent Management System) controla la plataforma. Es el
nico que puede crear y destruir a otros agentes, destruir contenedores y
parar la plataforma.

CLASE AGENT

La clase Agent es una super clase comn que permite a


los usuarios crear software de agentes JADE
Esta clase suministra mtodos que permiten ejecutar las
tareas bsicas de los agentes como:
Pasar mensajes utilizando objetos ACLMessage, con
correspondencia de patrones.
Dar soporte al ciclo de vida de un agente.
Planificar y ejecutar mltiples actividades al mismo
tiempo.

AGENTE JADE
El ciclo de vida de un agente JADE sigue el ciclo propuesto por FIPA.
Estos agentes pasaran por diferentes estados definidos como:
1.Initiated/ Iniciado: El agente se ha creado pero no se ha registrado
todava el AMS.
2.Active/ Activo: El agente ya ha sido registrado y posee nombre. En
este estado puede comunicar con otros agentes.
3.Suspended/ Suspendido: El agente se encuentra parado porque su
hilo de ejecucin se encuentra suspendida.
4.Waiting/ Esperando: Se encuentra bloqueado a la espera de un
suceso.
5.Deleted/ Eliminado: El agente ha terminado por tanto el hilo termin
su ejecucin y ya no estar ms en el AMS.
6.Transit/ Transito: El agente se est migrando a una nueva
ubicacin.

EXTENSIONES

JADE tiene una extensin denominada


WADE (Workflows and Agents Development
Environment) que es un sistema de
WORFLOW que permite crear procesos
mediante un editor grfico llamado WOLF.

ENTORNO JADE

Los agentes necesitan del entorno de


ejecucin para poder vivir.
Contenedor:
instancia del entorno de ejecucin.
Plataforma:
capa que oculta el entorno donde se ha
decidido ejecutar la aplicacin,
conjunto de contenedores activos,

Main Container + Agentes


Auxiliares.

ENTORNO

RMA

Permite:

Iniciar, suspender, reiniciar agentes


Matar agentes o contenedores
Mandar mensajes
Clonar agentes
Aadir o quitar plataformas remotas

Arranque

java jade.Boot myConsole:jade.tools.rma.rma


java jade.Boot gui (cuando se lanza JADE)

ENTORNO

Dummy Agent
Permite de forma sencilla interactuar con agentes.

Componiendo y enviando mensajes ACL


Estos mensajes pueden ser almacenados y
empleados posteriormente

Puede ser iniciado desde el RMA

ENTORNO

Sniffer Agent

Es un agente que muestra las interacciones que se


producen
Puede ser iniciado desde el RMA
El usuario selecciona que agentes desea monitorizar
Permite ver el contenido de cada mensaje

ENTORNO

DF GUI

Es un interfaz del Directory Facilitator

Permite:

Ver descripciones de los agentes registrados


Registrar y desregistrar agentes
Modificar registros
Buscar descripciones

Puede ser iniciado desde el RMA

ENTORNO

Introspector Agent
Permite monitorizar y controlar el
ciclo de vida de un agente
Muestra las colas de entrada y salida
de mensajes
Puede ser iniciado desde el RMA

ESTRUCTURA AGENTE

Un agente JADE es una instancia de una clase de


JAVA definida por el usuario que extiende la
clase AGENTE bsica.
public class MI_AGENTE extends
Agent { ...

El ciclo de vida de un agente JADE sigue el ciclo


de FIPA

El mtodo setup es donde se inicializa el agente

Las tareas que realiza un agente en JADE se


estructuran en comportamientos

EJEMPLO

Debemos de crear un agente cuya misin


sea imprimir un Hola Mundo
package ej01;
import jade.core.Agent;
public class Ejercicio01 extends Agent {
protected void setup() {
System.out.println(Hola Mundo.);
}
}