exponer jademodificado

17
JADE fue desarrollado inicialmente por Telecom Italia Lab. Telecon italia concibió y promovió JADE, fundándolo en el año 2000. En Marzo de 2003 Motorola y Telecon italia crearon la JADE Governing Board con el objetivo de promover la evolución y la adopción de JADE en la industria de las HISTORIA

Upload: marcelo-inca-aquino

Post on 06-Feb-2016

240 views

Category:

Documents


0 download

DESCRIPTION

fffffffffffff

TRANSCRIPT

Page 1: EXPONER JADEmodificado

JADE fue desarrollado inicialmente por Telecom Italia Lab.Telecon italia concibió y promovió JADE, fundándolo en el año 2000.En Marzo de 2003 Motorola y Telecon italia crearon la JADE Governing Board con el objetivo de promover la evolución y la adopción de JADE en la industria de las telecomunicaciones móviles como middleware de base

HISTORIA

Page 2: EXPONER JADEmodificado

INTRODUCCIÓN

JADE (Java Agent DEvelopment Framework) es una plataforma desarrollada íntegramente en Java para la creación de sistemas multi-agente.

Compuesto por:

Entorno de ejecución

Librerías JAVA para implementar agentes

Herramientas gráficas

Características:

Modelo peer-to-peer P2P

Interoperabilidad: basado en el estándar FIPA (Foundation for Intelligent Physical Agents)

Portabilidad

Intuitiva

Page 3: EXPONER JADEmodificado

CARACTERÍSTICAS

Los agentes tienen nombres únicos y proporcionan servicios.

Utilizan mensajes asíncronos, FIPA-ACL (Agent Comunication Language) como lenguaje de comunicación.

Cada agente se implementa como un thread

Distintas plataformas pueden comunicarse via protocolos http o iiop.

Incorpora un conjunto de agentes auxiliares

Page 4: EXPONER JADEmodificado

ESTÁNDARES

Foundation for Intelligent Physical Agents (FIPA) Arquitectura: Integración de diferentes

aplicaciones,

incluso con plataformas de diferentes propietarios. Lenguaje de comunicación empleado FIPA-ACL. Servicios de agentes: ciclo de vida, páginas

blancas, páginas amarillas, transporte de mensajes,...

Conjunto de herramientas gráficas que soportan la depuración y ejecución de agentes (RMA, sniffer, ...)

Page 5: EXPONER JADEmodificado

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

PLATAFORMAS

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.

Page 6: EXPONER JADEmodificado

CLASE AGENT

La clase Agent es una super clase común que permite a los usuarios crear software de agentes JADE

Esta clase suministra métodos que permiten ejecutar las tareas básicas 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 múltiples actividades al mismo tiempo.

Page 7: EXPONER JADEmodificado

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 todavía 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 ejecución 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 ejecución y ya no estará más en el AMS.6.Transit/ Transito: El agente se está migrando a una nueva ubicación.

Page 8: EXPONER JADEmodificado

EXTENSIONES

JADE tiene una extensión denominada WADE (Workflows and Agents Development Environment) que es un sistema de WORFLOW que permite crear procesos mediante un editor gráfico llamado WOLF.

Page 9: EXPONER JADEmodificado

ENTORNO JADE

Los agentes necesitan del entorno de ejecución para poder “vivir”.

Contenedor: instancia del entorno de ejecución.

Plataforma: capa que oculta el entorno donde se ha

decidido ejecutar la aplicación, conjunto de contenedores activos, Main Container + Agentes

Auxiliares.

Page 10: EXPONER JADEmodificado
Page 11: EXPONER JADEmodificado

ENTORNO

RMA

Permite:

Iniciar, suspender, reiniciar agentes

Matar agentes o contenedores

Mandar mensajes

Clonar agentes

Añadir o quitar plataformas remotas

Arranque

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

java jade.Boot –gui (cuando se lanza JADE)

Page 12: EXPONER JADEmodificado

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

Page 13: EXPONER JADEmodificado

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

Page 14: EXPONER JADEmodificado

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

Page 15: EXPONER JADEmodificado

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

ENTORNO

Page 16: EXPONER JADEmodificado

ESTRUCTURA AGENTE

Un agente JADE es una instancia de una clase de JAVA definida por el usuario que extiende la clase AGENTE básica.

public class MI_AGENTE extends Agent { ... El ciclo de vida de un agente JADE sigue el ciclo

de FIPA El método setup es donde se inicializa el agente Las tareas que realiza un agente en JADE se

estructuran en comportamientos

Page 17: EXPONER JADEmodificado

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

Debemos de crear un agente cuya misiónsea imprimir un “Hola Mundo”

EJEMPLO