Tecnolog - PowerPoint PPT Presentation

About This Presentation
Title:

Tecnolog

Description:

rea de Lenguajes y Sistemas Inform ticos. Dpto. de Inform tica e ... Languages, Springer-Verlag, 1996. Sergio Ilarri - Sistemas de Informaci n, Mayo 2006 ... – PowerPoint PPT presentation

Number of Views:44
Avg rating:3.0/5.0
Slides: 48
Provided by: nachoCp
Category:
Tags: langues | tecnolog

less

Transcript and Presenter's Notes

Title: Tecnolog


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_at_unizar.es
  • http//webdiis.unizar.es/silarri/

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

3
Agentes Software
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)
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

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)

7
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
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
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
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
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
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
Metáfora de los agentes
  • Representante del usuario
  • Énfasis en comunicación
  • Autonomía
  • Persistencia

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

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

16
Características de los agentes
17
Clasificación
Jennings/Wooldridge
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

19
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
Agentes Móviles
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

22
Caracterización de la movilidad
Adaptado de una transparencia de Niranjan
Suri (nsuri_at_ai.uwf.edu)
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

24
Agentes Móviles
Espera un poco
Toma el resultado
Usando conexión inalámbrica
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...

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)
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

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, ...
  • ...

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

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

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.

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)

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.edu8000")

Callback
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

35
Utilizando agentes móviles
  • Eficiencia? ? RPC
  • Robustez frente a desconexiones
  • Mejor diseño delegación de tareas
  • Facilidad de programación
  • Plataformas de agentes
  • Interoperabilidad
  • Fiabilidad
  • Escalabilidad

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)

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

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

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

40
Proxies Dinámicos
Proxy a Agente1
Contexto C1
Estoy en C3
Contexto C2
Contexto C4
Contexto C3
41
Problema de Livelock
Proxy a Agente1
Contexto C1
Contexto C2
Contexto C4
Contexto C3
42
Problema de Livelock
Contexto C1
Contexto C2
Contexto C4
-Primero actualizar proxies, luego reanudar
agente -Retardar agentes muy rápidos
Contexto C3
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

44
Escalabilidad
45
Comparativa
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)

47
Gracias por su atención http//webdiis.unizar.
es/silarri/
Write a Comment
User Comments (0)
About PowerShow.com