La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Sergio Ilarri - Sistemas de Información, Mayo 2006 Tecnología de Agentes Móviles Sergio Ilarri Centro Politécnico Superior Edificio Ada Byron Área de Lenguajes.

Presentaciones similares


Presentación del tema: "Sergio Ilarri - Sistemas de Información, Mayo 2006 Tecnología de Agentes Móviles Sergio Ilarri Centro Politécnico Superior Edificio Ada Byron Área de Lenguajes."— Transcripción de la presentación:

1 Sergio Ilarri - Sistemas de Información, Mayo 2006 Tecnología de Agentes Móviles Sergio Ilarri Centro Politécnico Superior Edificio Ada Byron Área de Lenguajes y Sistemas Informáticos Dpto. de Informática e Ingeniería de Sistemas silarri@unizar.es http://webdiis.unizar.es/~silarri/

2 Sergio Ilarri - Sistemas de Información, Mayo 2006 Índice PRIMERA PARTE: Agentes software Agentes móviles SEGUNDA PARTE: Agentes móviles en computación móvil Sistemas basados en agentes móviles

3 Sergio Ilarri - Sistemas de Información, Mayo 2006 Agentes Software

4 Sergio Ilarri - Sistemas de Información, Mayo 2006 ¿Qué es un agente? “encapsulated computer system, situated in some environment, and capable of flexible autonomous action in that environment in order to meet its design objectives” (Wooldridge)

5 Sergio Ilarri - Sistemas de Información, Mayo 2006 ¿Qué es un agente? “encapsulated computer system, situated in some environment, and capable of flexible autonomous action in that environment in order to meet its design objectives” (Wooldridge) control sobre el estado interno y comportamiento

6 Sergio Ilarri - Sistemas de Información, Mayo 2006 ¿Qué es un agente? “encapsulated computer system, situated in some environment, and capable of flexible autonomous action in that environment in order to meet its design objectives” (Wooldridge) control sobre el estado interno y comportamiento “siente” el entorno (sensores) y actúa sobre él (actuadores)

7 Sergio Ilarri - Sistemas de Información, Mayo 2006 ¿Qué es un agente? “encapsulated computer system, situated in some environment, and capable of flexible autonomous action in that environment in order to meet its design objectives” (Wooldridge) control sobre el estado interno y comportamiento “siente” el entorno (sensores) y actúa sobre él (actuadores) reactivo: responde a cambios en el entorno

8 Sergio Ilarri - Sistemas de Información, Mayo 2006 ¿Qué es un agente? “encapsulated computer system, situated in some environment, and capable of flexible autonomous action in that environment in order to meet its design objectives” (Wooldridge) control sobre el estado interno y comportamiento “siente” el entorno (sensores) y actúa sobre él (actuadores) reactivo: responde a cambios en el entorno proactivo: actúa para conseguir sus objetivos

9 Sergio Ilarri - Sistemas de Información, Mayo 2006 Orígenes Agentes y sistemas multiagentes: Conceptos con origen en la Inteligencia Artificial Auge en los 90 de los sistemas multiagentes y los agentes móviles:  paradigma de software adecuado para el desarrollo y explotación de entornos altamente distribuidos y abiertos (ej.: Internet) La idea de agentes y sistemas multiagentes parece emerger o fusionarse en múltiples dominios de aplicación El área de los sistemas multiagentes está influenciada e inspirada por muchos otros campos:  Teoría de juegos, lógica, ecología, ciencias sociales, economía, filosofía...

10 Sergio Ilarri - Sistemas de Información, Mayo 2006 Tecnologías padre Inteligencia artificial Ingeniería del software Sistemas distribuidos Ciencia de las organizaciones Bases de datos Economía Teoría de juegos Vida artificial

11 Sergio Ilarri - Sistemas de Información, Mayo 2006 Agentes inteligentes Son programas: Autónomos Actúan en representación de alguien Tienen una agenda de objetivos “Inteligentes”, aprenden Pueden también ser: Cooperativos Móviles Nuevo paradigma de diseño de software: AOSE = Agent Oriented Software Engineering

12 Sergio Ilarri - Sistemas de Información, Mayo 2006 ¿Son éstos agentes? Web crawler = spider = ant Cliente de email Virus Is it an Agent, or just a Program?: A Taxonomy for Autonomous Agents. Stan Franklin and Art Graesser. Proceedings of the Third International Workshop on Agent Theories, Architectures, and Languages, Springer-Verlag, 1996.

13 Sergio Ilarri - Sistemas de Información, Mayo 2006 Metáfora de los agentes Representante del usuario Énfasis en comunicación Autonomía Persistencia

14 Sergio Ilarri - Sistemas de Información, Mayo 2006 Utilidad de los agentes Capacidad de operación en un entorno dinámico, abierto, impredecible Potencial para explotar Internet Interacción con software legado Modelado de entornos complejos Potencial para software más inteligente Nivel de abstracción natural, modularidad, división de problemas …

15 Sergio Ilarri - Sistemas de Información, Mayo 2006 Los agentes no son Asistentes Lenguajes de script Lenguajes de programación Redes neuronales Sistemas basados en reglas Sistemas expertos Objetos Autónomos: mismo método, distintas respuestas Comportamiento proactivo, reactivo y social Hilo de control

16 Sergio Ilarri - Sistemas de Información, Mayo 2006 Características de los agentes

17 Sergio Ilarri - Sistemas de Información, Mayo 2006 Clasificación Jennings/Wooldridge

18 Sergio Ilarri - Sistemas de Información, Mayo 2006 Sistemas multiagente Red de agentes software que interactúan para resolver problemas que van más allá de las capacidades individuales o del conocimiento de cada uno (K. Sycara) Capaces de desarrollar acciones autónomas para la realización de sus tareas Capaces de interaccionar (cooperar, coordinar, negociar) con otros para realizar sus tareas Comunicación: ACLs: KQML, FIPA-ACL, … Intercambio de conocimiento

19 Sergio Ilarri - Sistemas de Información, Mayo 2006 www.multiagent.com Akira Agent Factory Bee-gent Framework Cougaar Excalibur Jadex BDI JATLite Java Communicating Agents JACK JESS MAP OAA PRS SIM_AGENT Zeus Agent UML BB1

20 Sergio Ilarri - Sistemas de Información, Mayo 2006 Agentes Móviles

21 Sergio Ilarri - Sistemas de Información, Mayo 2006 Agentes móviles: definición Agentes software: Se mueven de ordenador a ordenador A petición del usuario, autónomamente Ejemplo: gestión de viajes

22 Sergio Ilarri - Sistemas de Información, Mayo 2006 Caracterización de la movilidad Código móvil Compuación móvil Estado móvil RPC, RSH, RMI, servlets, procedimientos almacenados Instalación remota, applets Checkpointing Movilidad débil Movilidad fuerte Migración de procesos Adaptado de una transparencia de Niranjan Suri (nsuri@ai.uwf.edu)

23 Sergio Ilarri - Sistemas de Información, Mayo 2006 Agentes móviles Programa que se ejecuta en un cierto contexto de ejecución o place, y viaja de place a place Capaces de transportarse a sí mismos entre ordenadores Necesita cierta infraestructura (plataforma de agentes) Agentes móviles  código móvil Alternativa a RPC

24 Sergio Ilarri - Sistemas de Información, Mayo 2006 Agentes Móviles Espera un poco… Toma el resultado Usando conexión inalámbrica

25 Sergio Ilarri - Sistemas de Información, Mayo 2006 Modelo de Agentes Móviles (I) Agente móvil: programa que puede cambiar de ordenador (código+ datos+ estado) para llevar acabo su tarea Entorno de ejecución El entorno comprueba sus credenciales Se ejecuta autónomamente Para realizar su tarea: trasladarse a otras máquinas, usar recursos locales/remotos, interactuar con otros agentes, crear nuevos agentes y diseminarlos, etc.. Una vez realizada su tarea, el agente lleva o envía los resultados al cliente, u otro servidor, destinatario, etc...

26 Sergio Ilarri - Sistemas de Información, Mayo 2006 Modelo de Agentes Móviles (II) Algunas características interesantes Autonomía: no/mínima interacción con el creador Interoperabilidad: hardware, SO, etc. Reactividad: cambios/eventos del entorno Cooperación: objetivo común “Inteligencia” (especialistas) Movilidad Agentes móviles en particular (sinergia)

27 Sergio Ilarri - Sistemas de Información, Mayo 2006 Modelo de Agentes Móviles (III) Ventajas: Evitan instalaciones innecesarias “Salvan” la latencia de red: comm. local Encapsulan protocolos (BDs, etc.) Asíncronos/autónomos: desconexiones Adaptativos: Reaccionar entorno Moverse: balanceado de carga, localidad datos Integración de sistemas heterogéneos Robustez/tolerancia a fallos

28 Sergio Ilarri - Sistemas de Información, Mayo 2006 Modelo de Agentes Móviles (IV) Aplicaciones: Recuperación de información distribuida Procesamiento paralelo Asistente personal Diseminación de información E-commerce Gestión de red  heterogeneidad, monitorización, personalización, enrutamiento. Aplicaciones de worflow Brokering Entornos distribuidos: entornos móviles, pervasivos, inteligentes, P2P,......

29 Sergio Ilarri - Sistemas de Información, Mayo 2006 Modelo de Agentes Móviles (V) Apropiados para computación inalámbrica: Desconexiones:  Breve conexión: enviar agente a red fija  Antes de desconexión: coger agente de red fija Descarga de trabajo del cliente Contribuyen a limitar el uso de las comunicaciones inalámbricas:  Reducir los datos a intercambiar por el enlace inalámbrico  Evitar interacciones entre cliente y servidor  Sólo comunicar agente y resultado

30 Sergio Ilarri - Sistemas de Información, Mayo 2006 Movilidad: cómo funciona Los agentes móviles se crean en places Viajan entre places moveTo(newHost) Se interrumpe la ejecución del thread Se serializa el código, datos y (quizá) el estado del agente El agente se reconstruye en el place destino y continúa su ejecución Movilidad fuerte/débil

31 Sergio Ilarri - Sistemas de Información, Mayo 2006 Movilidad fuerte public class AgenteMovFuerte extends Agente { public static void main(String[] args) { System.out.println(“En ordenador origen”); moveTo(destino); System.out.println(“En ordenador destino”); } -No Java estándar -Múltiples threads -Ficheros abiertos, etc.

32 Sergio Ilarri - Sistemas de Información, Mayo 2006 Movilidad débil (Aglets) public class AgenteMovDebil extends Aglet { boolean enRemoto = false; public void onCreation (Object init) { addMobilityListener ( new MobilityAdapter() { public void onArrival (MobilityEvent e) { enRemoto = true; } ); } public void run() { if (! enRemoto) { System.out.println (“En ordenador origen”); dispatch(destination); } else { System.out.println (“En ordenador destino”); }

33 Sergio Ilarri - Sistemas de Información, Mayo 2006 Movilidad débil (Voyager) public class AgenteMovDebil extends Agent { public void metodoDestino (Object init) { System.out.println (“En ordenador destino”); } public void move(String destino) { Iagent proxy = Agent.of(this); System.out.println (“En ordenador origen”); proxy.moveTo(destino, “metodoDestino”); } public static void main(String[] args) { Voyager.startup("8000"); String serverClass = "AgenteMovDebil"; AgenteMovDebil ag = new AgenteMovDebil(); ag.move("tcp://fargo.sdsu.edu:8000"); }

34 Sergio Ilarri - Sistemas de Información, Mayo 2006 Control de los saltos Problemas con el moveTo (red, permisos, etc.) excepción place origen (política de reintentos) Notificación de movimiento (Ej: Voyager, SPRINGS) preDeparture()  En el origen, antes de iniciar el viaje preArrival()  En el destino, antes de la reconstrucción postArrival()  En el destino, agente reconstruido correctamente, justo antes del callback postDeparture()  En el origen, en paralelo con el callback del destino

35 Sergio Ilarri - Sistemas de Información, Mayo 2006 Utilizando agentes móviles Robustez frente a desconexiones Mejor diseño: delegación de tareas Facilidad de programación  Plataformas de agentes Interoperabilidad Fiabilidad Escalabilidad Eficiencia?  RPC 0,1 M 0,2 M 0,45 M 1 M 2 M 4 M 8 M 16 M 33 M

36 Sergio Ilarri - Sistemas de Información, Mayo 2006 Soporte software para los agentes móviles (I) Agencia: entorno de ejecución Sistema de agentes móviles: conjunto de agencias en una aplicación Toolkit: implementación concreta Plataforma de agentes móviles Place (contexto)

37 Sergio Ilarri - Sistemas de Información, Mayo 2006 Soporte software para los agentes móviles (II) Soporte para movilidad Soporte para comunicación RPC vs. paso de mensajes (ACLs) Transparencia de localización:  Tracking: fuerza bruta, cadena de punteros, actualización  Servicio de nombres Seguridad

38 Sergio Ilarri - Sistemas de Información, Mayo 2006 Plataformas de agentes móviles (Toolkits) Aglets Buen API para agentes móviles JDK 1.1  código abierto  Java 2 Mono-thread, bloqueo mensajes síncronos, no transp. localiz. Voyager CORBA + agentes móviles, encadenamiento de proxies El ataque de los clones, viajes infinitos con DNS,... Bugs, escalabilidad Transp. localiz.: regiones Miles de agentes (en la misma máquina) Lento, basado en eventos, mono-thread, no transp. localiz. Otros: Jade, Tracy, Mole, SeMoa, etc… … … …

39 Sergio Ilarri - Sistemas de Información, Mayo 2006 Motivación Las plataformas existentes no van bien: problema de escalabilidad Facilitar la vida al programador Transparencia de localización:  Llamadas: proxies dinámicos  Movimientos Reintentos automáticos Prevención de livelock

40 Sergio Ilarri - Sistemas de Información, Mayo 2006 Proxies Dinámicos Proxy a Agente1 Contexto C1 Contexto C4 Contexto C2 Contexto C3 C1 Estoy en C2 C2 Estoy en C3 C3

41 Sergio Ilarri - Sistemas de Información, Mayo 2006 Problema de Livelock Proxy a Agente1 Contexto C1 Contexto C4 Contexto C2 Contexto C3 C1 Estoy en C2 C2 ERROR

42 Sergio Ilarri - Sistemas de Información, Mayo 2006 Problema de Livelock Contexto C1 Contexto C4 Contexto C2 Contexto C3 -Primero actualizar proxies, luego reanudar agente -Retardar agentes muy rápidos

43 Sergio Ilarri - Sistemas de Información, Mayo 2006 Evaluación en Entorno Dinámico Ciclo de vida de un agente: 1) Elegir agente destino (al azar) 2) Moverse al azar a otro contexto 3) Llamar al agente destino 4) Si (num. iteraciones = 50), tarea terminada 5) Repetir hasta que todos los agentes terminen

44 Sergio Ilarri - Sistemas de Información, Mayo 2006 Escalabilidad

45 Sergio Ilarri - Sistemas de Información, Mayo 2006 Comparativa Todos acaban 4600, acaban 89 2600, acaban 0 2040, acaban 33 600, acaban 1

46 Sergio Ilarri - Sistemas de Información, Mayo 2006 Estándares de agentes (móviles) Mobile Agent System Interoperability Facility - MASIF (OMG) Interoperabilidad entre sistemas de agentes Foundation for Intelligent Physical Agents - FIPA (www.fipa.org)www.fipa.org Interacción humanos/agentes, control y gestión de agentes, seguridad, movilidad, comunicación, etc.. FIPA ACL (derivado de KQML)

47 Sergio Ilarri - Sistemas de Información, Mayo 2006 Gracias por su atención http://webdiis.unizar.es/~silarri/


Descargar ppt "Sergio Ilarri - Sistemas de Información, Mayo 2006 Tecnología de Agentes Móviles Sergio Ilarri Centro Politécnico Superior Edificio Ada Byron Área de Lenguajes."

Presentaciones similares


Anuncios Google