Jade 1 Agents principios básicos
-
Upload
octavio-abundez -
Category
Software
-
view
523 -
download
1
Transcript of Jade 1 Agents principios básicos
![Page 1: Jade 1 Agents principios básicos](https://reader038.fdocument.pub/reader038/viewer/2022102607/58ed0b601a28ab9e1b8b46a9/html5/thumbnails/1.jpg)
AGENTES INTELIGENTES CON JAVA NETBEANS.
JADE.
Octavio C. Abundez Ramírezemail: [email protected]
Facebook: Octavio Abundez
• Taller: Agentes Inteligentes • México, D.F., 29-30 de Octubre de 2015
![Page 2: Jade 1 Agents principios básicos](https://reader038.fdocument.pub/reader038/viewer/2022102607/58ed0b601a28ab9e1b8b46a9/html5/thumbnails/2.jpg)
HISTORIA DE LA PROGRAMACIÓNLENGUAJE MÁQUINAPROGRAMACIÓN ESTRUCTURADAPROGRAMACIÓN
ORIENTADA A OBJETOSPROGRAMACIÓN
ORIENTADA A OBJETOS DISTRIBUIDOS
PROGRAMACIÓN ORIENTADA A COMPONENTESPROGRAMACIÓN ORIENTADA A
SERVICIOS
Constituyen subprogramas: Procedimientos, Funciones (Basic,
Pascal, C, Fortran, )Objeto = + Estado + Comportamiento Constituido por: objetos, clases, herencia, polimorfismo, encapsulación (C ++, Java, C #, .Middleware (objetos RMI distribuidos a través de múltiples máquinas, CORBA, JMS, .
Componente disponible para otras aplicaciones a través de protocolos heterogéneos remotos (http) datos de llevar: XML, JSON => JABÓN y REST)
Servicio de Inteligencia + + aprendizaje +
Lenguaje binario, cada familia tiene su propio cpu
PROGRAMACIÓN ORIENTADA A AGENTES
Objetos distribuidos, reutilizable, configurables, Intercambiable, escalable y móvil: recipiente (EJB)
![Page 3: Jade 1 Agents principios básicos](https://reader038.fdocument.pub/reader038/viewer/2022102607/58ed0b601a28ab9e1b8b46a9/html5/thumbnails/3.jpg)
1- ¿QUÉ ES UN AGENTE?No existe una definición universalmente
aceptada del término agente. “Un agente es algo que se puede ver
como Percibir entorno a través de
sensores y actuar sobre ese ambiente a través de
sensores."
![Page 4: Jade 1 Agents principios básicos](https://reader038.fdocument.pub/reader038/viewer/2022102607/58ed0b601a28ab9e1b8b46a9/html5/thumbnails/4.jpg)
2.- ¿QUÉ ES UN AGENTE?Los agentes inteligentes son entidades
de software que llevan a cabo un conjunto de operaciones por cuenta de un usuario u otro programa con cierto
grado de independencia o autonomía, y al hacerlo, emplean algún
conocimiento o representación de metas o deseos del usuario."
![Page 5: Jade 1 Agents principios básicos](https://reader038.fdocument.pub/reader038/viewer/2022102607/58ed0b601a28ab9e1b8b46a9/html5/thumbnails/5.jpg)
CARACTERÍSTICAS DE UN AGENTEUn agente puede ser un proceso, un robot, un ser humano, etc ...
Autonomía. Capacidad de actuar sin intervención humana directa o de otros agentesSociabilidad. Puede comunicarse con otros agentes con capacidades similares a estar vivoCapacidad de decisión. Es independiente para alcanzar los objetivos Razonan. Tiene unos objetivos específicos y siempre intenta llevarlos a cabo.
![Page 6: Jade 1 Agents principios básicos](https://reader038.fdocument.pub/reader038/viewer/2022102607/58ed0b601a28ab9e1b8b46a9/html5/thumbnails/6.jpg)
CARACTERÍSTICAS DE UN AGENTE Aprenden. Veracidad. No comunica información
falsa intencionadamente. Benevolencia. No tiene objetos
contradictorios. Pueden organizarse. Un agente es una
entidad. Desplazarse de un nodo a otro.
![Page 7: Jade 1 Agents principios básicos](https://reader038.fdocument.pub/reader038/viewer/2022102607/58ed0b601a28ab9e1b8b46a9/html5/thumbnails/7.jpg)
1.- APLICACIONES MAS(SISTEMA MULTI AGENTE)
Simulación de fenómenos complejos, Sistemas paralelos y distribuidos Robótica, Ingeniería Industrial y Telecomunicaciones Videojuegos Cine (Animación 3D)
![Page 8: Jade 1 Agents principios básicos](https://reader038.fdocument.pub/reader038/viewer/2022102607/58ed0b601a28ab9e1b8b46a9/html5/thumbnails/8.jpg)
El comercio electrónico, e-learning Urbanización y la gestión del tráfico por carretera Finanzas: Trading Auto Web Semántica
1.- APLICACIONES MAS(SISTEMA MULTI AGENTE)
![Page 9: Jade 1 Agents principios básicos](https://reader038.fdocument.pub/reader038/viewer/2022102607/58ed0b601a28ab9e1b8b46a9/html5/thumbnails/9.jpg)
2.- APLICACIONES MAS(SISTEMA MULTI AGENTE)
Sociología, la física de partículas, Química, Robótica,
En sociología, establece diferentes agentes de componentes. Mediante restricciones, podemos tratar de entender lo que va a ser el componente más efectivo lograr un resultado deseado (la construcción de puentes). Incluso permite experimentar con escenarios que no sería factible en las poblaciones reales, si por razones técnicas o éticos.
![Page 10: Jade 1 Agents principios básicos](https://reader038.fdocument.pub/reader038/viewer/2022102607/58ed0b601a28ab9e1b8b46a9/html5/thumbnails/10.jpg)
1.- ¿QUÉ ES ?Jade es básicamente dos cosas: Una plataforma: que permite “VIVIR” y “CONVIVIR” a los agentes dentro de
ella. Un conjunto de herramientas para el
desarrollo de agentes y sistemas de forma rápida.
![Page 11: Jade 1 Agents principios básicos](https://reader038.fdocument.pub/reader038/viewer/2022102607/58ed0b601a28ab9e1b8b46a9/html5/thumbnails/11.jpg)
Totalmente realizado en Java. (Portabilidad y
Movilidad). Software libre distribuido por TILAB en
código Fuente bajo LPGL.
ttp://jade.tilab.com/ El proyecto JADE es una iniciativa de
TILAB JADE cumple las especificaciones
FIPA
2.- ¿QUÉ ES ?
![Page 12: Jade 1 Agents principios básicos](https://reader038.fdocument.pub/reader038/viewer/2022102607/58ed0b601a28ab9e1b8b46a9/html5/thumbnails/12.jpg)
JADE es un middleware que facilita el desarrollo de:1. Arquitectura: Aplicaciones Multi-
agente Peer-to-Peer. Integración de diferentes aplicaciones,
incluso con plataformas de diferentes propietarios.
Foundation for Intelligent Physical Agents (FIPA) http://www.fipa.org
¿QUÉ ES ?
![Page 13: Jade 1 Agents principios básicos](https://reader038.fdocument.pub/reader038/viewer/2022102607/58ed0b601a28ab9e1b8b46a9/html5/thumbnails/13.jpg)
Servicios de agentes: ciclo de vida, páginas
blancas, páginas amarillas, transporte de mensajes,...
:
¿QUÉ ES ?
![Page 14: Jade 1 Agents principios básicos](https://reader038.fdocument.pub/reader038/viewer/2022102607/58ed0b601a28ab9e1b8b46a9/html5/thumbnails/14.jpg)
2.Lenguaje de comunicación empleado FIPA-ACL:transporte y análisis de mensajes Peer-to-peer.,seguridad.3. Planificación de las tareas del agente.Herramientas gráficas para la monitorización, logs, depuración. Conjunto de herramientas gráficas que soportan la depuración y ejecución de agentes (RMA, sniffer, ...)
¿QUÉ ES ?
![Page 15: Jade 1 Agents principios básicos](https://reader038.fdocument.pub/reader038/viewer/2022102607/58ed0b601a28ab9e1b8b46a9/html5/thumbnails/15.jpg)
1. Una aplicación basada en JADE consta decomponentes activas denominadas Agentes.2. Cada agente tiene un nombre (identificador)único.3. Cada agente es un participante (peer) capazde comunicar bidireccionalmente con otrosagentes.4. Cada agente vive en un contenedor.
¿QUÉ ES ?
![Page 16: Jade 1 Agents principios básicos](https://reader038.fdocument.pub/reader038/viewer/2022102607/58ed0b601a28ab9e1b8b46a9/html5/thumbnails/16.jpg)
¿QUÉ ES ?
112
34
![Page 17: Jade 1 Agents principios básicos](https://reader038.fdocument.pub/reader038/viewer/2022102607/58ed0b601a28ab9e1b8b46a9/html5/thumbnails/17.jpg)
The Foundation for Intelligent Physical Agents (FIPA) es la parte del desarrollo y configuración para estandares heterogeneos de computadoras e interactuen agentes basados en sistemas
¿QUÉ ES ?
![Page 18: Jade 1 Agents principios básicos](https://reader038.fdocument.pub/reader038/viewer/2022102607/58ed0b601a28ab9e1b8b46a9/html5/thumbnails/18.jpg)
Programación de java netbeans con jade
1.Descargar la aplicación JADE del siguiente link: http://jade.tilab.com2. Al menu Download da click a:3. Da click a: Continue y I AGREE4. Da click a ¨jadeAll¨
Instalación de
![Page 19: Jade 1 Agents principios básicos](https://reader038.fdocument.pub/reader038/viewer/2022102607/58ed0b601a28ab9e1b8b46a9/html5/thumbnails/19.jpg)
Descargamos el fichero (JADE-all-3.7.zip)Descomprimimos el fichero y nos salen cuatro nuevos ficheros:•JADE-doc-3.7.zip: la documentacion javadoc, el manual del administrador, el del programador y un tutorial.•JADE-src-3.7.zip: el codigo fuente sin compilar.•JADE-bin-3.7.zip: el codigo ya compilado y listo para ser invocado.JADE-e examples-3.7.zip: ejemplos de uso de la plataforma.
Instalación de
![Page 20: Jade 1 Agents principios básicos](https://reader038.fdocument.pub/reader038/viewer/2022102607/58ed0b601a28ab9e1b8b46a9/html5/thumbnails/20.jpg)
5. Descomprime el archivo de jade
6.Crea una carpeta en la unidad c:\jade
Instalación de
![Page 21: Jade 1 Agents principios básicos](https://reader038.fdocument.pub/reader038/viewer/2022102607/58ed0b601a28ab9e1b8b46a9/html5/thumbnails/21.jpg)
7. Extraigo mis archivos a la carpeta c:\jade
8.Selecciona el archivo «JADE-bin-4.3.3» y lo extraigo a la carpeta recién extraída
«c:\jade»
Instalación de
Instalación de
9.Selecciono –Copio todo el contenido de la carpeta y la mando a …
![Page 22: Jade 1 Agents principios básicos](https://reader038.fdocument.pub/reader038/viewer/2022102607/58ed0b601a28ab9e1b8b46a9/html5/thumbnails/22.jpg)
Programación de java netbeans con jade
10. Ir a PANEL DE CONTROLSistemaConfig.Avanzada del Sistema–Inicio+Pausa- Da click al botón VARIABLES DE ENTORNO como se muestra en la figura:A) En la sección Variables de sistema Da click al botón NuevoB) Escribe el nombre:
Instalación de
![Page 23: Jade 1 Agents principios básicos](https://reader038.fdocument.pub/reader038/viewer/2022102607/58ed0b601a28ab9e1b8b46a9/html5/thumbnails/23.jpg)
Programación de java netbeans con jade
11. Ahora ve a la linea de comando de WINDOWS. Ir a INICIO- Ejecutar--Escribe: cmd Direccionate
do:
12. Captura el siguiente comando: java jade.Boot -gui
12. Escribe la siguiente dirección para acceder a JADE
Instalación de
![Page 24: Jade 1 Agents principios básicos](https://reader038.fdocument.pub/reader038/viewer/2022102607/58ed0b601a28ab9e1b8b46a9/html5/thumbnails/24.jpg)
13. Se abrirá la aplicación de JADE COMO SE muestra:
14. Cierra jade
Instalación de
![Page 25: Jade 1 Agents principios básicos](https://reader038.fdocument.pub/reader038/viewer/2022102607/58ed0b601a28ab9e1b8b46a9/html5/thumbnails/25.jpg)
PROGRAMA_11.Abre Java netbeans2.Crea el proyecto: Dia13.Crea el paquete: baseA4.Crea la clase: HolaMundo5.Ir a libreríasclick botón derecho y seleccionaadd JAR/Folder6. Busca la librería ”jade.jar” c:\jade\lib\jade.jar7. Da click al botón abrir
![Page 26: Jade 1 Agents principios básicos](https://reader038.fdocument.pub/reader038/viewer/2022102607/58ed0b601a28ab9e1b8b46a9/html5/thumbnails/26.jpg)
PROGRAMA_18. Captura el siguiente código en la clase: HolaMundo
import jade.core.Agent;
public class HolaMundo extends Agent{ protected void setup() { System.out.println("Hola Mundo"); System.out.println("Mi nombre local
es"+getLocalName()); System.out.println("Mi GUI
es:"+getAID().getName()); System.out.println("Primer ejercicio de
jade ;)"); } }
![Page 27: Jade 1 Agents principios básicos](https://reader038.fdocument.pub/reader038/viewer/2022102607/58ed0b601a28ab9e1b8b46a9/html5/thumbnails/27.jpg)
PROGRAMA_19. Corrige los errores en rojo, colocando tu
puntero a lado izquierdo de los focos de advertencia y señala “add import…”
![Page 28: Jade 1 Agents principios básicos](https://reader038.fdocument.pub/reader038/viewer/2022102607/58ed0b601a28ab9e1b8b46a9/html5/thumbnails/28.jpg)
10. Ir a SourcePackages, botón izquierdopropierties-run y anota lo siguiente:
Da click al botón de ejecutar: Se abre Jade.
CONFIGURAR
![Page 29: Jade 1 Agents principios básicos](https://reader038.fdocument.pub/reader038/viewer/2022102607/58ed0b601a28ab9e1b8b46a9/html5/thumbnails/29.jpg)
12.Repite el paso anterior, sólo modifica en lo siguiente:
13. Da click al botón de ejecutar:14. Aparece lo siguiente en consola de java
netbans
CONFIGURAR
![Page 30: Jade 1 Agents principios básicos](https://reader038.fdocument.pub/reader038/viewer/2022102607/58ed0b601a28ab9e1b8b46a9/html5/thumbnails/30.jpg)
EJECUTARLO EN JAVA
![Page 31: Jade 1 Agents principios básicos](https://reader038.fdocument.pub/reader038/viewer/2022102607/58ed0b601a28ab9e1b8b46a9/html5/thumbnails/31.jpg)
QUE PASA EN Aparece abierto un
containercon el nombre que le
dimos alagente, sea !Hola! . Vamos
a ejecutar nuestro agente desde
JADE.a) Ir al Container, click botón
derecho y selecciona Start New Agent
b) Llena los campos como aparece en la figura:
c) Da click al Botón “OK”
![Page 32: Jade 1 Agents principios básicos](https://reader038.fdocument.pub/reader038/viewer/2022102607/58ed0b601a28ab9e1b8b46a9/html5/thumbnails/32.jpg)
EJECUTARLOQué apareció en java netbeans y en jade?
![Page 33: Jade 1 Agents principios básicos](https://reader038.fdocument.pub/reader038/viewer/2022102607/58ed0b601a28ab9e1b8b46a9/html5/thumbnails/33.jpg)
EJECUTARLO POR MS-DOS
Necesitamos la ubicación de la clase HolaMundo.java
1.En javaNetbeans ir a la clase HolaMundo, botón derecho del ratón –propierties-RUNTIME CLASSPATH, copia la ruta
después del 1er ; hasta el final
2. Abre ms-dos(Inicio+R)cmd(enter)cd \(alt+92) cd (click botón derecho y pegas la ruta que copiaste)
Cierra jade y las aplicaciones corriendo en java netbeans
![Page 34: Jade 1 Agents principios básicos](https://reader038.fdocument.pub/reader038/viewer/2022102607/58ed0b601a28ab9e1b8b46a9/html5/thumbnails/34.jpg)
EJECUTARLO POR MS-DOS 3. Captura los siguientes comandos para abrir jade. a)Ir a raíz b)Cambia ala ruta de copiaste de java y
abrir JADE
![Page 35: Jade 1 Agents principios básicos](https://reader038.fdocument.pub/reader038/viewer/2022102607/58ed0b601a28ab9e1b8b46a9/html5/thumbnails/35.jpg)
EJECUTARLO POR MS-DOS 4. Abrir ms-dos, seguir el procedimiento anterior
hasta: a)Ir a raíz cd \ b)Cambia ala ruta de copiaste de java cd c:\jade\src\examples\Dia1\build\
classes c) Escribe el siguiente comando para abrir ejecutar en
ms-dos el programa “HolaMundo”
Ejecución Contenedor Agente - Paquete - Clase
![Page 36: Jade 1 Agents principios básicos](https://reader038.fdocument.pub/reader038/viewer/2022102607/58ed0b601a28ab9e1b8b46a9/html5/thumbnails/36.jpg)
EJECUTARLO POR MS-DOS 4. QUE SUCEDIÓ EN LA EJECUCIÓN EN MS-DOS ?
5. QUE SUCEDIÓ EN JADE?
![Page 37: Jade 1 Agents principios básicos](https://reader038.fdocument.pub/reader038/viewer/2022102607/58ed0b601a28ab9e1b8b46a9/html5/thumbnails/37.jpg)
EJERCICIO# 1 HOLAMUNDO2Instrucciones:A)Abre un documento en word y toma evidencias de tu trabajo por medio de una foto(impr-pant) a cada resultado que se te pide en el ejercicio.B) El instructor irá a tu lugar si tienes dudas y a tomar nota de tu desempeño en caso de que hallas concluido el ejercicio.
Nota: Al finalizar la sesión 1. Podrás sacar una copia del archivo de la exposición para tu estudio y análisis.
![Page 38: Jade 1 Agents principios básicos](https://reader038.fdocument.pub/reader038/viewer/2022102607/58ed0b601a28ab9e1b8b46a9/html5/thumbnails/38.jpg)
EJERCICIO# 1 HOLAMUNDO21. En el mismo proyecto, crea otra clase llamada:
HolaTuNombre2. Captura el siguiente código:import jade.core.Agent;import jade.core.AID; public class HolaTuNombre extends Agent { protected void setup() {System.out.println("Hola! El agente "+getAID().getName()
+" está listo."); System.out.println(“Me llamo:TuNombre y aprendo las
bases de agentes."); }}
![Page 39: Jade 1 Agents principios básicos](https://reader038.fdocument.pub/reader038/viewer/2022102607/58ed0b601a28ab9e1b8b46a9/html5/thumbnails/39.jpg)
EJERCICIO# 1. HOLAMUNDO23. Correrlo por java netbeans-(Inserta imagen en
word).Total 8 Fotos Cuando abres jade por run Cuando llamas a tu agente por run Despliega el resultado en consola de java
4. Correrlo por JADE (Inserta imagen en word) Por Start le pones al agente :TuNombre, por run Despliega el resultado en consola de java 5. Correrlo por ms-dos (Inserta imagen en word) Cuando abres jade por msdos Cuando llamas a tu agente por msdos Despliega el resultado por msdos
![Page 40: Jade 1 Agents principios básicos](https://reader038.fdocument.pub/reader038/viewer/2022102607/58ed0b601a28ab9e1b8b46a9/html5/thumbnails/40.jpg)
PROGRAMA_2
package baseA;import jade.core.Agent;import static jade.tools.rma.StartDialog.getArguments;
public class Hola3 extends Agent{ protected void setup() { System.out.println("Hola Mundo! me
llamo"+getAID().getName()); Object[] args = getArguments(); if (args != null) {System.out.println("Mis argumentos son:"); for (int i = 0; i < args.length; ++i) {System.out.println("-"+args[i]); } } } }
![Page 41: Jade 1 Agents principios básicos](https://reader038.fdocument.pub/reader038/viewer/2022102607/58ed0b601a28ab9e1b8b46a9/html5/thumbnails/41.jpg)
package baseA;import jade.core.Agent;import static jade.tools.rma.StartDialog.getArguments;
public class Hola3 extends Agent{ protected void setup() { System.out.println("Hola Mundo! me
llamo"+getAID().getName()); Object[] args = getArguments(); if (args != null) {System.out.println("Mis argumentos son:"); for (int i = 0; i < args.length; ++i) {System.out.println("-"+args[i]); } } } }
PROGRAMA_2
![Page 42: Jade 1 Agents principios básicos](https://reader038.fdocument.pub/reader038/viewer/2022102607/58ed0b601a28ab9e1b8b46a9/html5/thumbnails/42.jpg)
PROGRAMA_2
1. Correrlo por java netbeans-(Inserta imagen en word).Total 8 Fotos
Cuando abres jade por run Cuando llamas a tu agente por run Despliega el resultado en consola de java
2. Correrlo por JADE (Inserta imagen en word) Por Start le pones al agente :TuNombre, por
run Despliega el resultado en consola de java 3. Correrlo por ms-dos (Inserta imagen en
word) Cuando abres jade por msdos Cuando llamas a tu agente por msdos Despliega el resultado por msdos
![Page 43: Jade 1 Agents principios básicos](https://reader038.fdocument.pub/reader038/viewer/2022102607/58ed0b601a28ab9e1b8b46a9/html5/thumbnails/43.jpg)
PROGRAMADefinir una clase Java que representa al agente (la
cual debe heredar de la clase jade.core.Agent). Implementar los comportamientos que va amanifestar.Un agente JADE cumple las siguientescaracterísticas:
Tiene un nombre único en el entorno de ejecución.Se implementa como un único hilo de ejecución (single-threaded).
![Page 44: Jade 1 Agents principios básicos](https://reader038.fdocument.pub/reader038/viewer/2022102607/58ed0b601a28ab9e1b8b46a9/html5/thumbnails/44.jpg)
![Page 45: Jade 1 Agents principios básicos](https://reader038.fdocument.pub/reader038/viewer/2022102607/58ed0b601a28ab9e1b8b46a9/html5/thumbnails/45.jpg)
PROGRAMACIÓN EN JADECreación de agentes.Un agente se crea heredando de la clase jade.core.Agent class y reescribiendo el método setup().
• Cada instancia de agente se idendifica por un AID (jade.core.AID).
• Un AID se compone de un nombre único más una dirección.
• Un agente puede recuperar su AID mediante el método getAID() de la clase Agent
![Page 46: Jade 1 Agents principios básicos](https://reader038.fdocument.pub/reader038/viewer/2022102607/58ed0b601a28ab9e1b8b46a9/html5/thumbnails/46.jpg)
PROGRAMACIÓN EN JADELos nombres son <local-name>@<platform-name>El nombre completo debe ser globalmente único.El nombre de la plataforma por defecto es <main-host>:<main-port>/JADEEl nombre de la plataforma puede establecerse con la opción – nameDentro de una plataforma JADE pueden ser designados sólo por susnombres.Dado el nombre de un agente su AID puede ser creado como
AID id = new AID(localname, AID.ISLOCALNAME);AID id = new AID(name, AID.ISGUID);
Las direcciones incluidas en un AID son las de los MTPs y se utilizanSOLO para comunicar entre agentes de diferentes plataformas FIPA.
![Page 47: Jade 1 Agents principios básicos](https://reader038.fdocument.pub/reader038/viewer/2022102607/58ed0b601a28ab9e1b8b46a9/html5/thumbnails/47.jpg)
CONTENEDORES Y PLATAFORMAS
-Un Solo contenedor principal especial debe estar siempre activo en una plataforma y todos los otros contenedores registrarse con él tan pronto como empiezan.
![Page 48: Jade 1 Agents principios básicos](https://reader038.fdocument.pub/reader038/viewer/2022102607/58ed0b601a28ab9e1b8b46a9/html5/thumbnails/48.jpg)
MAIN CONTAINER•AMS (Sistema de Gestión de Agente)-Proporciona El servicio de nombres y representa la autoridad en la plataforma.• DF (Directorio Facilitador)-Proporciona Un servicio de páginas amarillas por medio de los cuales un agente puede encontrar otros agentes que prestan los servicios que requiere para lograr sus metas.• RMA (Remote Management Agent)-Actuando como consola gráfica para la gestión de la plataforma y el control.
![Page 49: Jade 1 Agents principios básicos](https://reader038.fdocument.pub/reader038/viewer/2022102607/58ed0b601a28ab9e1b8b46a9/html5/thumbnails/49.jpg)
![Page 50: Jade 1 Agents principios básicos](https://reader038.fdocument.pub/reader038/viewer/2022102607/58ed0b601a28ab9e1b8b46a9/html5/thumbnails/50.jpg)
DIRECTORY FACILITATOR Proporciona un servicio de páginas amarillas por medio de los cuales un agente puede encontrar otros agentes que prestan los servicios que requiere para lograr sus metas.
![Page 51: Jade 1 Agents principios básicos](https://reader038.fdocument.pub/reader038/viewer/2022102607/58ed0b601a28ab9e1b8b46a9/html5/thumbnails/51.jpg)
REMOTE MONITORING AGENT
• Proporcionar a la interfaz gráfica de usuario para controlar el ciclo de vida de los agentes
![Page 52: Jade 1 Agents principios básicos](https://reader038.fdocument.pub/reader038/viewer/2022102607/58ed0b601a28ab9e1b8b46a9/html5/thumbnails/52.jpg)
• Canal de comunicación del agente (ACC)- Agente a Agente- Plataforma agente a Plataforma Agente
Message Transport System
![Page 53: Jade 1 Agents principios básicos](https://reader038.fdocument.pub/reader038/viewer/2022102607/58ed0b601a28ab9e1b8b46a9/html5/thumbnails/53.jpg)
•Agent identifier –<nickname>@<platform_name>
![Page 54: Jade 1 Agents principios básicos](https://reader038.fdocument.pub/reader038/viewer/2022102607/58ed0b601a28ab9e1b8b46a9/html5/thumbnails/54.jpg)
Un objeto es reactivaUn objeto es una entidad pasiva (o reactiva). Si nadie solicita el valorde un atributo o activa un método de el objeto, entonces no Pasa nada.
Un agente es ProActifUn agente tiene, además de los Atributos y métodos, procesos Internos función, incluso en ausencia de tensiones externas. Un agente puede actuar, por tanto, incluso si nadie le pregunta nada
![Page 55: Jade 1 Agents principios básicos](https://reader038.fdocument.pub/reader038/viewer/2022102607/58ed0b601a28ab9e1b8b46a9/html5/thumbnails/55.jpg)
DUMMY AGENT Herramienta útil para la depuración• Permite la interacción con otros agentes de envío,
recepción y visualización de mensajes de ACL• ¿Cómo poner en marcha:
-Desde La línea de comandosjava jade.Boot da: jade.tools.DummyAgent.DummyAgent
-Desde El GUI RMA• Elegir "Herramientas Iniciar DummyAgent"• Seleccione "Iniciar nueva Agent" y proporcionar
jade.tools.DummyAgent.DummyAgent como el nombre de la clase
![Page 56: Jade 1 Agents principios básicos](https://reader038.fdocument.pub/reader038/viewer/2022102607/58ed0b601a28ab9e1b8b46a9/html5/thumbnails/56.jpg)
DUMMY AGENT
![Page 57: Jade 1 Agents principios básicos](https://reader038.fdocument.pub/reader038/viewer/2022102607/58ed0b601a28ab9e1b8b46a9/html5/thumbnails/57.jpg)
Cuando un agente sniff (o un grupo), algunos mensajes son enviados a el agente, son visibles en una especie de diagrama UML de secuencia
• Cuando un agentes o contenedores son creados o destruidos, el Agente Sniffer es informado por la AMS
• ¿Cómo poner en marcha:-Desde La línea de comandos java jade.Boot snif: jade.tools.sniffer.Sniffer-Desde El GUI RMA• Elegir "Herramientas Iniciar Sniffer"• O seleccione "Iniciar nueva Agent" y proporcionar
jade.tools.sniffer.Sniffer como el nombre de la clase
SNIFFER AGENT
![Page 58: Jade 1 Agents principios básicos](https://reader038.fdocument.pub/reader038/viewer/2022102607/58ed0b601a28ab9e1b8b46a9/html5/thumbnails/58.jpg)
SNIFFER AGENT
![Page 59: Jade 1 Agents principios básicos](https://reader038.fdocument.pub/reader038/viewer/2022102607/58ed0b601a28ab9e1b8b46a9/html5/thumbnails/59.jpg)
SNIFFER AGENT • DF es un servicio de páginas amarillas: agentes
pueden registrar sus servicios o buscar en el DF• En cada plataforma, hay al menos un DF• Cómo iniciar la interfaz gráfica de usuario:-Desde El GUI RMA• Elegir "Herramientas Mostrar la GUI DF"
![Page 60: Jade 1 Agents principios básicos](https://reader038.fdocument.pub/reader038/viewer/2022102607/58ed0b601a28ab9e1b8b46a9/html5/thumbnails/60.jpg)
INTROSPECTORAGENTMonitoriza el ciclo de vida de un agente: mensajes enviados recibido, cola / comportamiento• ¿Cómo poner en marcha:-Desde El GUI RMA• elegir "Herramientas -Iniciar IntrospectorAgent"
![Page 61: Jade 1 Agents principios básicos](https://reader038.fdocument.pub/reader038/viewer/2022102607/58ed0b601a28ab9e1b8b46a9/html5/thumbnails/61.jpg)
EL CICLO DE VIDA DE LOS AGENTES Y LA MOVILIDAD.
INICIADO: el objeto Agente está construido, pero no se ha
registrado en sí pero con la AMS, no tiene nombre ni una
dirección y no puede comunicarse con otros agentes.
ACTIVO: el objeto Agente se ha registrado en el AMS, tiene un
nombre regular y la dirección y puede acceder a todas las
diversas características JADE.
SUSPENDIDO: el objeto del agente se detiene en ese momento.
su rosca interna se suspende y no se está ejecutando el
comportamiento del agente. doSuspend ()
![Page 62: Jade 1 Agents principios básicos](https://reader038.fdocument.pub/reader038/viewer/2022102607/58ed0b601a28ab9e1b8b46a9/html5/thumbnails/62.jpg)
ESPERA: el objeto Agente está bloqueado, esperando algo. Su rosca
interna es durmiendo en un monitor de Java y se despierta cuando se cumple alguna condición (por lo general, cuando un mensaje llega). doWait ()
ELIMINADO: el agente es definitivamente muerto. La rosca interna ha terminado su ejecución y el Agente no es más registrado en el AMS.
TRÁNSITO: un agente móvil entra en este estado mientras se está migrando a la nueva ubicación. Los sistema continúa para amortiguar los mensajes que luego serán enviados a su nueva ubicación.
EL CICLO DE VIDA DE LOS AGENTES Y LA MOVILIDAD.
![Page 63: Jade 1 Agents principios básicos](https://reader038.fdocument.pub/reader038/viewer/2022102607/58ed0b601a28ab9e1b8b46a9/html5/thumbnails/63.jpg)
EL CICLO DE VIDA DE LOS AGENTES Y LA MOVILIDAD.
![Page 64: Jade 1 Agents principios básicos](https://reader038.fdocument.pub/reader038/viewer/2022102607/58ed0b601a28ab9e1b8b46a9/html5/thumbnails/64.jpg)
CREACIÓN DE AGENTES
Hay dos formas de ejecutar un agente: desde el GUI de JADE y desde la línea de comandos.
Desde la línea de comandos.java jade.Boot –container <nombre_agente>:
<paquete_.class> Ejecución remota de agentesjade.Boot -container -host nombreHost
<nombre_agente>:<ruta_agente.class>
![Page 65: Jade 1 Agents principios básicos](https://reader038.fdocument.pub/reader038/viewer/2022102607/58ed0b601a28ab9e1b8b46a9/html5/thumbnails/65.jpg)
EJERCICIOS 2ª PARTE 1. Captura los ejercicios y ejecutalos
desde javaNetbeans.2. Imprime en pantalla el resultado que
obtuviste.
![Page 66: Jade 1 Agents principios básicos](https://reader038.fdocument.pub/reader038/viewer/2022102607/58ed0b601a28ab9e1b8b46a9/html5/thumbnails/66.jpg)
![Page 67: Jade 1 Agents principios básicos](https://reader038.fdocument.pub/reader038/viewer/2022102607/58ed0b601a28ab9e1b8b46a9/html5/thumbnails/67.jpg)
ENTONCES…¿QUÉ ES UN AGENTE? "Los agentes autónomos son sistemas
computacionales que habitan en algún complejo entorno dinámico, sienten y actúan de forma autónoma en este
entorno, y al hacerlo, se dan cuenta de un conjunto de metas o tareas para las
que han sido diseñados."
![Page 68: Jade 1 Agents principios básicos](https://reader038.fdocument.pub/reader038/viewer/2022102607/58ed0b601a28ab9e1b8b46a9/html5/thumbnails/68.jpg)
QUÉ ES UN COMPORTAMIENTO EN JADE?
Un comportamiento o behaviour hace referencia a una funcionalidad que incorpora el agente.
Los comportamientos especifican tareas o servicios que realiza un agente para lograr sus objetivos. Cada comportamiento puede realizar una tarea simple como "Envia este mensaje" o "compra X " aunque también se pueden crear comportamientos compuestos.
Cada tarea del agente sará una instancia de una clase que deber heredar de la clase Behaviour.
class MiComportamiento extends Behaviour{ … }LIBRERÍA: jade.core.behaviours.*
![Page 69: Jade 1 Agents principios básicos](https://reader038.fdocument.pub/reader038/viewer/2022102607/58ed0b601a28ab9e1b8b46a9/html5/thumbnails/69.jpg)
QUÉ ES UN COMPORTAMIENTO EN JADE?
Los agentes están programados en base a sus comportamientos. La programación basada en comportamientos debe realizar los siguientes pasos:
1. Determinar qué debe ser capaz de hacer el agente.2. Asociar cada funcionalidad con un comportamiento.3. Escoger el tipo de comportamientos4. Dejar a JADE la tarea del scheduling (un solo 5. comportamiento se está ejecutando en cada instante).En el ejemplo ANTERIOR se puede ver como se añade un
comportamiento desde el método setup() del agente.
![Page 70: Jade 1 Agents principios básicos](https://reader038.fdocument.pub/reader038/viewer/2022102607/58ed0b601a28ab9e1b8b46a9/html5/thumbnails/70.jpg)
QUÉ ES UN COMPORTAMIENTO EN JADE?
Además de añadir nuevos comportamientos, también se pueden eliminar comportamientos de un agente con el método removeBehaviour(Behaviour).Así, si en el ejemplo anterior quisiéramos borrar el primer comportamiento desde el segundo comportamiento bastaría con hacer una llamada a removeBehaviour() dentro del método action del segundo comportamiento: