1 / 47

Tecnología de Agentes Móviles

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/. Índice. PRIMERA PARTE: Agentes software

emma
Download Presentation

Tecnología de Agentes Móviles

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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/ Sergio Ilarri - Sistemas de Información, Mayo 2006

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

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

  4. ¿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) Sergio Ilarri - Sistemas de Información, Mayo 2006

  5. ¿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 Sergio Ilarri - Sistemas de Información, Mayo 2006

  6. ¿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) Sergio Ilarri - Sistemas de Información, Mayo 2006

  7. ¿Qué es un agente? “encapsulated computer system, situated in some environment, and capable of flexibleautonomous 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 Sergio Ilarri - Sistemas de Información, Mayo 2006

  8. ¿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 Sergio Ilarri - Sistemas de Información, Mayo 2006

  9. 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 ... Sergio Ilarri - Sistemas de Información, Mayo 2006

  10. 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 Sergio Ilarri - Sistemas de Información, Mayo 2006

  11. 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 Sergio Ilarri - Sistemas de Información, Mayo 2006

  12. ¿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. Sergio Ilarri - Sistemas de Información, Mayo 2006

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

  14. 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 • … Sergio Ilarri - Sistemas de Información, Mayo 2006

  15. 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 Sergio Ilarri - Sistemas de Información, Mayo 2006

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

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

  18. 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 Sergio Ilarri - Sistemas de Información, Mayo 2006

  19. 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 www.multiagent.com Sergio Ilarri - Sistemas de Información, Mayo 2006

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

  21. 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 Sergio Ilarri - Sistemas de Información, Mayo 2006

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

  23. 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 Sergio Ilarri - Sistemas de Información, Mayo 2006

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

  25. 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... Sergio Ilarri - Sistemas de Información, Mayo 2006

  26. 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) Sergio Ilarri - Sistemas de Información, Mayo 2006

  27. 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 Sergio Ilarri - Sistemas de Información, Mayo 2006

  28. 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, ... • ... Sergio Ilarri - Sistemas de Información, Mayo 2006

  29. 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 Sergio Ilarri - Sistemas de Información, Mayo 2006

  30. 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 Sergio Ilarri - Sistemas de Información, Mayo 2006

  31. 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. Sergio Ilarri - Sistemas de Información, Mayo 2006

  32. 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”); } } } Sergio Ilarri - Sistemas de Información, Mayo 2006

  33. 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"); } Callback Sergio Ilarri - Sistemas de Información, Mayo 2006

  34. 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 Sergio Ilarri - Sistemas de Información, Mayo 2006

  35. 0,1 M 0,2 M 0,45 M 1 M 2 M 4 M 8 M 16 M 33 M 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 Sergio Ilarri - Sistemas de Información, Mayo 2006

  36. 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) Sergio Ilarri - Sistemas de Información, Mayo 2006

  37. 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 Sergio Ilarri - Sistemas de Información, Mayo 2006

  38. 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… … … … Sergio Ilarri - Sistemas de Información, Mayo 2006

  39. 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 Sergio Ilarri - Sistemas de Información, Mayo 2006

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

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

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

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

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

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

  46. 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) • Interacción humanos/agentes, control y gestión de agentes, seguridad, movilidad, comunicación, etc.. • FIPA ACL (derivado de KQML) Sergio Ilarri - Sistemas de Información, Mayo 2006

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

More Related