EXPONER JADEmodificado
-
Upload
marcelo-inca-aquino -
Category
Documents
-
view
253 -
download
0
description
Transcript of EXPONER JADEmodificado
![Page 1: EXPONER JADEmodificado](https://reader035.fdocuments.net/reader035/viewer/2022081505/55cf8f67550346703b9c0524/html5/thumbnails/1.jpg)
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](https://reader035.fdocuments.net/reader035/viewer/2022081505/55cf8f67550346703b9c0524/html5/thumbnails/2.jpg)
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](https://reader035.fdocuments.net/reader035/viewer/2022081505/55cf8f67550346703b9c0524/html5/thumbnails/3.jpg)
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](https://reader035.fdocuments.net/reader035/viewer/2022081505/55cf8f67550346703b9c0524/html5/thumbnails/4.jpg)
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](https://reader035.fdocuments.net/reader035/viewer/2022081505/55cf8f67550346703b9c0524/html5/thumbnails/5.jpg)
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](https://reader035.fdocuments.net/reader035/viewer/2022081505/55cf8f67550346703b9c0524/html5/thumbnails/6.jpg)
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](https://reader035.fdocuments.net/reader035/viewer/2022081505/55cf8f67550346703b9c0524/html5/thumbnails/7.jpg)
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](https://reader035.fdocuments.net/reader035/viewer/2022081505/55cf8f67550346703b9c0524/html5/thumbnails/8.jpg)
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](https://reader035.fdocuments.net/reader035/viewer/2022081505/55cf8f67550346703b9c0524/html5/thumbnails/9.jpg)
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](https://reader035.fdocuments.net/reader035/viewer/2022081505/55cf8f67550346703b9c0524/html5/thumbnails/10.jpg)
![Page 11: EXPONER JADEmodificado](https://reader035.fdocuments.net/reader035/viewer/2022081505/55cf8f67550346703b9c0524/html5/thumbnails/11.jpg)
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](https://reader035.fdocuments.net/reader035/viewer/2022081505/55cf8f67550346703b9c0524/html5/thumbnails/12.jpg)
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](https://reader035.fdocuments.net/reader035/viewer/2022081505/55cf8f67550346703b9c0524/html5/thumbnails/13.jpg)
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](https://reader035.fdocuments.net/reader035/viewer/2022081505/55cf8f67550346703b9c0524/html5/thumbnails/14.jpg)
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](https://reader035.fdocuments.net/reader035/viewer/2022081505/55cf8f67550346703b9c0524/html5/thumbnails/15.jpg)
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](https://reader035.fdocuments.net/reader035/viewer/2022081505/55cf8f67550346703b9c0524/html5/thumbnails/16.jpg)
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](https://reader035.fdocuments.net/reader035/viewer/2022081505/55cf8f67550346703b9c0524/html5/thumbnails/17.jpg)
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