16
Cristina Campos Campos Mª Luz López Jaspe http://programacionjade.wikispaces.com/Movilidad 1

Movilidad en jade

Embed Size (px)

Citation preview

Cristina Campos Campos

Mª Luz López Jaspe

http://programacionjade.wikispaces.com/Movilidad

1

Tabla de Contenidos Soporte de la movilidad en JADE

API de JADE para movilidad

Ontología JADE para movilidad

Accediendo al AMS para movilidad

Referencias Bibliográficas

Agradecimientos

Ejercicios

2

Soporte de la Movilidad en JADE La movilidad de un agente es la habilidad para que este

migre o haga un clon a través de uno o múltiples nodosde una red.

El soporte de movilidad en JADE consiste en unconjunto de clases, métodos y una ontología específicade movilidad (MobilityOntology).

Las clases y métodos permiten a un agente ejecutar lasacciones requeridas por sí mismo o por el AMS (AgentManagement System).

3

Soporte de la Movilidad en JADE Esta versión de JADE soporta solo movilidad dentro de la

misma plataforma. Esto quiere decir que un agente móvil sepuede mover a través de contenedores pero está limitado auna sola plataforma.

Existe un proyecto de la Universidad Autónoma deBarcelona que implementa el servicio de movilidad inter-plataforma de movilidad llamado IPMS.

La movilidad en JADE implica: Involucrar varios hosts.

Que cada host tenga su contenedor.

Y que la migración puede suceder a petición del propio agente.

4

Soporte de la Movilidad en JADE Ventajas:

Proceso independiente y asíncrono

Tolerancia a fallos

Apropiados para conjuntos grandes de datos

Desventajas:

Escalabilidad y rendimiento

Seguridad

Portabilidad y estandarización

5

Soporte de la Movilidad en JADE Movilidad Inter-Plataforma (IPMS) Es un complemento de Jade que se ha creado para

permitir la movilidad de agentes entre plataformas.

Mensajes FIPA-ACL como medio de transporte. Seespecifican dos acciones en la ontología: move

power-up

Algunos conceptos de la ontología aseguran lacompatibilidad entre plataformas. Conceptos: mobile-agent-description que contienen toda la información

del agente. Estos conceptos

mobile-agent-profile

6

Soporte de la Movilidad en JADE El proceso es el siguiente: Se envía un Request a la plataforma destino esperando

respuesta.

Si obtenemos un Inform el agente puede serializarse yenviarse dentro de un mensaje a la plataforma destino.

Sino se desharán todos los cambios.

La ventaja de utilizar mensajes ACL es que no esnecesario abrir otro canal de comunicación entreplataformas. La desventaja es que el rendimiento no esparticularmente alto debido al proceso de codificación ydecodificación del propio mensaje ACL.

Ejemplo gráfico de movilidad en Jade.

7

Soporte de la Movilidad en JADE java jade.Boot –host hostRemoto –container a1:Agente

JADE soporta movilidad de código y estado de ejecución.

Métodos para llevar a cabo la movilidad y la clonación:

doMove(Location destino)

beforeMove()

afterMove()

doClone(Location destino, String nombre)

beforeClone()

afterClone()

import jade.core.*;

8

API de JADE para Movilidad doMove(Location destino)

doClone(Location destino, String nombre)

Mover un agente implica enviar su código y su estado. JADEproporciona métodos para gestionar los recursos usadorpor el agente móvil. beforeClone() y afterClone()

beforeMove()

afterMove()

Ejemplo AgenteMovil. Un agente se mueve al contenedorindicado por el usuario para leer la información quecontiene un fichero remoto.

9

Ontología JADE para Movilidad Para la movilidad y comunicación entre los agentes

necesitaremos una ontología que proporcione una descripción del sistema y acciones que se pueden llevar a cabo. import jade.domain.mobility.*;

MobilityOntolgy contiene: mobile-agent-description

MobilityOntology.MobileAgentDescription

mobile-agent-profileMobilityOntology.MobileAgentProfile.

mobile-agent-systemMobilityOntology.MobileAgentSystem.

mobile-agent-languageMobilityOntology.MobileAgentLanguage.

mobile-agent-os MobilityOntology.MobileAgentOS.

10

Ontología JADE para Movilidad locationMobilityOntology.Location.

move-agentMobilityOntology.MoveAction.

clone-agentMobilityOntology.CloneAction.

where-is-agentMobilityOntology.WhereIsAgent.

query-platform-locationsMobilityOntology.QueryPlatformLocations.

Esta ontología no se ajusta a ninguna especificación FIPA.

Ejemplo Host. Uso de la ontología de movilidad para decir a un agente que se mueva a un Location en concreto

11

Accediendo al AMS para Movilidad El AMS provee algunas extensiones que dan soporte a la movilidad de

agentes y es capaz de realizar las acciones presentes en el jade-mobility-ontology.

Un comportamiento típico para un agente móvil será preguntar al AMS por localizaciones, luego el agente será capaz de decidir si, cuando y a donde migrar import jade.domain.JADEAgentManagement.*;

Acciones para la movilidad: move-agent. Esta acción toma un mobile-agent-description como su

parámetro. Mueve el agente identificado por los slots name y address del mobile-agent-description al lugar indicado en el slot destination. Ejemplo, class MoverAgenteBehaviour (Host.java).

clone-agent. Similar a la acción move-agent, pero en este caso tiene un argumento más de tipo String, en el que se pasa el nuevo nombre del agente que resulta del proceso de clonación..

12

Accediendo al AMS para Movilidad Otras acciones relacionadas con la movilidad y que

están definidas en JADEManagementOntology:

where-is-agent. Se le pasa el AID del agente que se quiere localizar y devuelve el lugar del agente, que se coloca en el slot content del mensaje ACL inform.

query-platform-locations. Devuelve un conjunto de todos los objetos Location disponibles actualmente en la plataforma JADE.

13

Referencias Bibliográficas Giovanni Caire (TILab S.p.a), 2001 . Description of the examples:

Mobile. Enlace: http://jade.tilab.com/doc/examples/mobile.html, último acceso 23 de mayo de 2010

Fabio Bellifemine, Giovanni Caire, Tiziana Trucco (TILAB, formerly CSELT), Giovanni Rimassa (University of Parma), 2010. JADE Programmer´s Guide.Enlace: http://jade.tilab.com/doc/programmersguide.pdf , último acceso 23 de mayo de 2010

Jean Vaucher. Université de Montréal. Capítulo 9, Exploringmobility. Enlace: http://www.iro.umontreal.ca/~vaucher/Agents/Jade/Mobility.html, último acceso 23 de mayo de 2010

Inter-Platform Mobility Project, Universidad Autonómica de Barcelona, 2006. Enlace: https://tao.uab.cat/ipmp/, último acceso 23 de mayo de 2010

14

Agradecimientos Gracias a los todos los compañeros que han hecho esta

wiki antes.

15

Ejercicios Enviad el ejercicio de codificación completado y las

respuestas de las preguntas a la dirección de correo [email protected] indicando:

Nombre y apellidos.

D.N.I.

Grupo.

16