Tecnología de Agentes

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 - Walqa, Enero 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

PRÁCTICAS:

Agentes móviles en SPRINGS

Sergio Ilarri - Walqa, Enero 2006

Agentes Software

Sergio Ilarri - Walqa, Enero 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)

Sergio Ilarri - Walqa, Enero 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

Sergio Ilarri - Walqa, Enero 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)

Sergio Ilarri - Walqa, Enero 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

Sergio Ilarri - Walqa, Enero 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
Sergio Ilarri - Walqa, Enero 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 ...
Sergio Ilarri - Walqa, Enero 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

Sergio Ilarri - Walqa, Enero 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

Sergio Ilarri - Walqa, Enero 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.

Sergio Ilarri - Walqa, Enero 2006

Metáfora de los agentes
Representante del usuario Énfasis en comunicación Autonomía Persistencia

Sergio Ilarri - Walqa, Enero 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 …

Sergio Ilarri - Walqa, Enero 2006

Los agentes no son
Asistentes Lenguajes de script Lenguajes de programación Redes neuronales Sistemas basados en reglas Sistemas expertos Objetos

Sergio Ilarri - Walqa, Enero 2006

Características de los agentes
P ro p ie d a d reac tivos autónom os proac tivos pers is tentes c om unic ativos adaptativos m óviles flex ibles c arác ter S ig n ifica d o res ponder a tiem po a c am bios en el entorno ejerc er c ontrol s obre las propias ac c iones orientados a objetivos no ac túan s im plem ente en res pues ta al entorno tem poralm ente c ontinuos s on proc es os que s e ejec utan c ontinuam ente s oc iables s e c om unic an c on otros agentes , quiz á pers onas que aprenden c am bian s u c om portam iento c on ex perienc ias previas s e pueden m over de m áquina a m áquina s us ac c iones no es tán pre-program adas pers onalidad y es tado em oc ional O tro s n o m b re s (s entir y ac tuar)

Sergio Ilarri - Walqa, Enero 2006

Clasificación (Jennings/Wooldridge)

Débiles Autonomía Sociabilidad Reactividad Proactividad Timeliness Persistencia

Fuertes Conocimiento/creencias Intenciones Deseos/Objetivos Obligaciones Capacidades

Otras propiedades Racionalalidad Sinceridad Benevolencia Movilidad Emociones

Sergio Ilarri - Walqa, Enero 2006

Arquitecturas (Wooldridge)
Basada en lógica Agentes reactivos Agentes BDI Por capas

Sergio Ilarri - Walqa, Enero 2006

Basada en lógica (I)
STRIPES: Estado actual/objetivo: fórmulas lógicas Operadores: precondición, postcondición (añadir/borrar) Planificación: encontrar una secuencia de acciones que lleve al estado final

Sergio Ilarri - Walqa, Enero 2006

Basada en lógica (II)
Estado inicial: estado(horno,sucio) & estado(frigorífico, sucio) & estado(suelo,limpio) & estado(fregadera, limpia) & estado(mesas, limpias) Estado final: estado(horno, limpio) & estado(frigorífico, limpio) & estado(suelo, limpio) & estado(fregadera, limpia) & estado(mesas, limpias)

Sergio Ilarri - Walqa, Enero 2006

Basada en lógica (III)
limpiar_horno: Pre:estado(horno, sucio) Post: Borrar: estado(horno, sucio) & estado(suelo, X) Añadir: estado(horno, limpio) & estado(suelo, sucio) Barrer_suelo: Pre: estado(suelo, sucio) Post: Borrar : estado(suelo, sucio) Añadir : estado(suelo, barrido)

Sergio Ilarri - Walqa, Enero 2006

Basada en lógica (IV)
Agente deliberativo  Representa un modelo simbólico del mundo y toma decisiones mediante razonamiento lógico Dos problemas:  Problema de traducción/representación: como traducir el mundo real en símbolos  Problema de razonamiento: cómo razonar con ellos

Sergio Ilarri - Walqa, Enero 2006

Agentes reactivos (I) A reactive system is one whose purpose is to maintain some ongoing interaction with its environment. (Fisher and Wooldridge)

No hay razonamiento simbólico

Sergio Ilarri - Walqa, Enero 2006

Agentes reactivos (II)
Entradas (sensores) Registro de estados

Acciones (actuadores)

Rosenschein et al.

Sergio Ilarri - Walqa, Enero 2006

Agentes reactivos (III)
Selección de acción:
    

Objetivos que varían en el tiempo Contingencias/oportunidades Objetivos conflictivos Sensores “ruidosos” Reaccionar rápido

Sergio Ilarri - Walqa, Enero 2006

Agentes BDI (I)
BDI =
  

Beliefs: modelado del mundo Desires: estados que interesan Intentions: determinación de llegar a un estado objetivo

No todos nuestros deseos se hacen realidad…

Intenciones = deseos seleccionados

Sergio Ilarri - Walqa, Enero 2006

Agentes BDI (II)

-

Sergio Ilarri - Walqa, Enero 2006

Agentes BDI (III)
Determinar los conocimientos actuales, objetivos e intenciones Encontrar planes aplicables Decidir qué plan aplicar Ejecutar el plan

Sergio Ilarri - Walqa, Enero 2006

Arquitecturas por capas

Bonasso et. Al (1997)
Deliberación Secuenciamiento

Habilidades reactivas

Entorno
Sergio Ilarri - Walqa, Enero 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

Sergio Ilarri - Walqa, Enero 2006

Agentes Móviles

Sergio Ilarri - Walqa, Enero 2006

Agentes móviles: definición
Agentes software:  Se mueven de ordenador a ordenador  A petición del usuario, autónomamente

Sergio Ilarri - Walqa, Enero 2006

Caracterización de la movilidad
RPC, RSH, RMI, servlets, procedimientos almacenados Compuación Movilidad débil

Migración de procesos

móvil

Movilidad fuerte

Código móvil
Es m tad óv o il

Instalación remota, applets

Checkpointing

Sergio Ilarri - Walqa, Enero 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

Sergio Ilarri - Walqa, Enero 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

Sergio Ilarri - Walqa, Enero 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.

Sergio Ilarri - Walqa, Enero 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”); } } } Sergio Ilarri - Walqa, Enero 2006

Movilidad débil (Voyager)
public class AgenteMovDebil extends Aglet { 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"); }
Sergio Ilarri - Walqa, Enero 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
Sergio Ilarri - Walqa, Enero 2006

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

0,1 M

0,2 M

0,45 M

1M

2M

4M

8M

16 M

33 M

Sergio Ilarri - Walqa, Enero 2006

Plataformas de agentes móviles
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
 

Problemas de escalabilidad en el modelo de comunicación 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 - Walqa, Enero 2006

SPRINGS (I)
Scalable Platform foR movING Software

•Proxies dinámicos •Escalable, supera otras populares plataformas •Minimiza la probabilidad de livelock •Servicio de nombres: agentes, contextos •Fácil de usar

http://sid.cps.unizar.es/SPRINGS/
Sergio Ilarri - Walqa, Enero 2006

SPRINGS (II)

Sergio Ilarri - Walqa, Enero 2006

Estándares de agentes (móviles)
Mobile Agent System Interoperability Facility - MASIF (OMG)  interoperabilidad entre sistemas de agentes  Definición de servicios básicos y de interfaces a nivel de sistemas de agentes (no entre el agente y el sistemas de agentes) Foundation for Intelligent Physical Agents - FIPA (www.fipa.org)  Organización sin animo de lucro cuyo objetivo en el desarrollo de estándares es promover el uso y desarrollo de las tecnologías basadas en agentes y maximizar la interoperabilidad entre las plataformas de desarrollo y las aplicaciones basadas en agentes  Abarca múltiples temas: interacción humanos/agentes, control y gestión de agentes, seguridad, movilidad, comunicación, etc..

Sergio Ilarri - Walqa, Enero 2006

Agentes Móviles: Prácticas
Práctica básica de agentes móviles  Agente que se traslada a dos ordenadores, accediendo a sendas BDs, y regresa para mostrar el resultado al usuario  Seleccionar una plataforma de agentes para implementarlo y comentar la experiencia Adaptación del sistema de información de Bases de Datos Distribuidas  Identificar que módulos podrían convertirse en agentes para mejorar el diseño del sistema

Sergio Ilarri - Walqa, Enero 2006

Agentes Móviles en Computación Móvil

Sergio Ilarri - Walqa, Enero 2006

Modelos de Computación Móvil
Modelo Cliente/Servidor Modelo Cliente/Agente/Servidor Modelo Cliente/Interceptor/Servidor Modelos Peer-to-Peer Agentes Móviles

Sergio Ilarri - Walqa, Enero 2006

Modelo Cliente/Servidor
Una parte de una aplicación, parte cliente, solicita un servicio ofrecido por la parte servidor de la aplicación. Normalmente, parte cliente y servidor situadas en distintos sistemas o máquinas En computación móvil, el dispositivo móvil solicita servicios de los servidores estáticos...
Com. inalámbrica Red fija

Aplicación cliente
Dispositivo móvil

Aplicación servidor

Sergio Ilarri - Walqa, Enero 2006

Modelo Cliente/Servidor
Modelo Cliente/servidor clásico:  Servidores fiables que almacenan los datos  Múltiples clientes que pueden acceder de forma eficiente y segura a los servidores  Técnicas de optimización y seguridad aplicables  Modelo escalable Suposiciones:  Clientes estáticos  Comunicaciones fiables y rápidas  Clientes fiables y relativamente potentes

Sergio Ilarri - Walqa, Enero 2006

Impacto en el modelo Cliente/Servidor
La comunicación inalámbrica entre cliente y servidor puede interrumpirse en cualquier momento Optimización y adaptabilidad a las comunicaciones inalámbricas  y a ser posible, a las características de los dispositivos Otros: en arquitecturas con múltiples servidores, el sistema puede asignar al cliente el servidor más cercano, de forma transparente, o puede gestionarlo la aplicación.  Esta característica tiene mayor impacto en computación móvil

Sergio Ilarri - Walqa, Enero 2006

Modelo Cliente/Agente/Servidor (three-tier)
Un agente intermediario o proxy en la red fija  Cualquier comunicación entre el cliente y el servidor se realiza a través del proxy  El proxy actúa como delegado o representante, permanente, del cliente móvil en la red fija  Recibe y encola los mensajes entre ambas parte (cliente y servidor)  Aísla al servidor de la movilidad e intermitencia en la conexión del cliente Red fija
Com. inalámbrica

Aplicación cliente
Dispositivo móvil

Proxy

Aplicación servidor

Sergio Ilarri - Walqa, Enero 2006

Modelo Cliente/Agente/Servidor (three-tier)
Múltiples posibilidades:  Un proxy por dispositivo móvil en la red fija  Un proxy por servidor (atendiendo a múltiples clientes)  Un proxy por cliente y por aplicación (o tipo de)  Un proxy por servidor y aplicación (o tipo de), atendiendo a múltiples clientes La posición del proxy en la red puede variar dependiendo de su papel:  Más cerca del cliente o del servidor  Puede seguir al cliente o no

Sergio Ilarri - Walqa, Enero 2006

Modelo Cliente/Agente/Servidor (three-tier)

Adapta las comunicaciones de cara a la red fija o a la inalámbrica, según corresponda, comunica con ambas partes de forma independiente Puede descargar al cliente de parte del trabajo, realizado tareas de su parte en la red fija  Clientes “ligeros” El proxy puede descargar de trabajo al servidor, y sobre todo al cliente El proxy puede realizar optimizaciones para adaptar los datos a transmitir a la comunicaciones disponibles (compresión, filtrado, etc) Puede ser más o menos activo, avisando al cliente de ciertos eventos, (tecnología push), etc. Mantiene la presencia del dispositivo móvil en la red fija, pero no puede optimizar las comunicaciones que parten del móvil El modelo requiere cambios en la parte cliente  todo pasa por el proxy Sergio Ilarri - Walqa, Enero 2006

Modelo Cliente/Interceptor/Servidor
También llamado Cliente/Agente/Agente/Servidor o Cliente/Servidor Extendido Añade un proxy en la parte cliente, para reducir la transmisión de datos, mejorar la disponibilidad y dar soporte al dispositivo móvil de forma interrumpida Para el cliente: hay un representante del servidor en local
Com. inalámbrica Red fija

Aplicación cliente

Client-side proxy

Server-side proxy

Aplicación servidor

Dispositivo móvil

Sergio Ilarri - Walqa, Enero 2006

Modelo Cliente/Interceptor/Servidor
Múltiples posibilidades de optimización:  Distribuir la carga entre los proxies  Separación de roles y responsabilidades entre los proxies  Pueden adelantarse a las necesidades  Mayor flexibilidad en el manejo de las desconexiones  Protocolos de comunicación entre los proxies para reducir el intercambio de datos, y su optimización al entorno inalámbrico y al estado y características de la unidad móvil  Clientes relativamente pesados  Requiere cambios tanto en la parte cliente como en la parte servidora

Sergio Ilarri - Walqa, Enero 2006

Modelo Peer-to-Peer
Arquitectura distribuida entre iguales No hay distinción entre clientes y servidores  Cada dispositivo tiene la funcionalidad completa de cliente y de servidor  los dispositivos móviles deberán soportar aplicaciones o clientes “pesados”  Ejemplo: usuarios trabajando conjuntamente con los datos disponibles en el conjunto de sus portátiles Robustez  La red no tiene puntos débiles Éxito demostrado  Napster    Emule
Sergio Ilarri - Walqa, Enero 2006

Agentes Móviles
Agente móvil: programa en ejecución que tiene la capacidad de trasladarse (código+ datos+ estado) de un ordenador a otro en la red para llevar acabo su tarea  El agente se aloja en un entorno de ejecución, situado en la máquina  El entorno puede comprobar la autentificación y las credenciales del agente antes de permitir su ejecución.  Una vez creado, se ejecuta autónomamente, de forma independiente de la aplicación que lo creó  Para realizar su tarea el agente puede: trasladarse a otras máquinas, usar los recursos locales o 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 - Walqa, Enero 2006

Agentes Móviles
Algunas características interesantes  Autonomía  Requieren poca o ninguna interacción con el cliente que los creó  Interoperabilidad  Los agentes pueden ejecutarse en diversas plataformas: de forma independiente del hardware, SO, etc...  Reactividad  Capacidad para reaccionar a cambios y eventos producidos en su entorno  Cooperación  Interacción con otros agentes para conseguir un objetivo común  Movilidad  Pueden vagar por la red yendo de unas máquinas a otras  “Inteligencia” Sergio Ilarri - Walqa, Enero 2006

Agentes Móviles en Computación Móvil
Permiten adaptarse de forma natural a un entorno con desconexiones intermitentes, redes lentas, clientes “ligeros” Pueden actuar de intermediarios (proxies) durante las desconexiones, tanto en el cliente como en la red fija Además  El cliente puede enviar un agente a la red fija para que trabaje  El servidor puede enviar un agente a la unidad móvil, para que interactué con el usuario, incluso mientras la unidad esté desconectada de la red Contribuyen a limitar el uso de las comunicaciones inalámbricas:  Pueden reducir la cantidad de datos a intercambiar por el enlace inalámbrico  Pueden evitar interacciones entre cliente y servidor
Sergio Ilarri - Walqa, Enero 2006

Sistemas Basados en Agentes Móviles (I)
Simulador de Entornos Móviles

Sergio Ilarri - Walqa, Enero 2006

Simulación de Entornos Móviles
•Entorno móvil: -Proxies -Objetos móviles Place Agente móvil

•Objetivo: transparente al servicio de datos •Simulación distribuida •Plug & Execute: aplicaciones complejas basadas en agentes móviles
Sergio Ilarri - Walqa, Enero 2006

Simulación de Aplicaciones Multiagente
•Moving Object Agents (MOA) •Internal Agents (IAs)
Se mueven juntos!

Sergio Ilarri - Walqa, Enero 2006

Simulador de Objetos Móviles

Sergio Ilarri - Walqa, Enero 2006

Sistemas Basados en Agentes Móviles (II)
Recopilación de citas bibliográficas

Sergio Ilarri - Walqa, Enero 2006

Sergio Ilarri - Walqa, Enero 2006

Sistemas Basados en Agentes Móviles (III)
Servicio de Obtención de Software (SRS)

Sergio Ilarri - Walqa, Enero 2006

Servicio de Obtención de Software
Alternativa a sistemas tipo Tucows Uso de una ontología de software

Construida automáticamente

Vista del software disponible Sensible a las necesidades de distintos usuarios Tecnología de agentes: creación, explotación (gestión del conocimiento)
Sergio Ilarri - Walqa, Enero 2006

Servicio de Obtención de Software

Sergio Ilarri - Walqa, Enero 2006

Sistemas Basados en Agentes Móviles (IV)
Generación Indirecta de Interfaces de Usuario en Dispositivos Móviles (ADUS)

Sergio Ilarri - Walqa, Enero 2006

ADUS (I)

Sergio Ilarri - Walqa, Enero 2006

ADUS (II)

Sergio Ilarri - Walqa, Enero 2006

Servicios Basados en Agentes Móviles (V)
Servicio de Alquiler de Lockers (LRS)

Sergio Ilarri - Walqa, Enero 2006

LRS
Espacio de datos en la red fija Agente Locker:
El sistema decide si sigue al usuario

Extensión de disco Ahorro de batería Optimización de las comunicaciones

Sergio Ilarri - Walqa, Enero 2006

Sistemas Basados en Agentes Móviles (V)
Procesamiento de Preguntas Dependientes de la Localización en Entornos Móviles (LOQOMOTION)

Sergio Ilarri - Walqa, Enero 2006

Preguntas dependientes de la localización

•Procesamiento eficiente de consultas dependientes de la localización •Consultas Continuas •Usuario y objetos móviles •Entorno distribuido “Obtener la gasolinera más cercana” “Obtener unidades de policía situadas “Obtener las los taxis cercanos libres” cerca de un coche robado (para detenerlo), y (mientras vamos vamoscasaun coche) o (mientras hacia en un día lluvioso) los coches de policía que pueden ayudar relevar al actual coche de policía perseguidor”
Sergio Ilarri - Walqa, Enero 2006

LOcation-dependent Queries Proxies On •Información de localización (distribuida): Moving •Base de datos de objetos móviles (MOD) ObjecTs •Flujo de datos (data streams) •Contexto para la ejecución de agentes In mObile Networks Objetos Móviles
•Dispositivos móviles •Acceden a los proxies y emiten preguntas
Sergio Ilarri - Walqa, Enero 2006

Procesamiento: Arquitectura

Arquitectura basada en agentes móviles
•Seguimiento de objetos móviles de interés •Soporte para el procesamiento distribuido de consultas •Optimización de comunicaciones inalámbricas •Adaptación a las condiciones del entorno •Autonomía •Solución descentralizada: escalable, extensible •No necesidad de mantener procesos en los servidores

Sergio Ilarri - Walqa, Enero 2006

Red de agentes

P4 P6

P3

(3) (3) (3) P1 P5 DMS P2 (3) (2) P0 (1) Monitor Updater (2) MonitorTracker Tracker (3)

Sergio Ilarri - Walqa, Enero 2006

Ejecución de consultas

http://sid.cps.unizar.es/ANTARCTICA/LDQP/index.html

Sergio Ilarri - Walqa, Enero 2006

Interacciones entre Agentes
Agent(i-1)

. . .

Agent(i)

. . .

Agent(i+1)

. . .

(1): comunicación deadline a i (2): estimación deadline de i+1 (3): comunicación deadline i+1 (4): tareas agente (5): comunicación resultados a i (6): correlación datos (7): comunicación resultados a i-1

(1)

Comm. (2) (3) (4) (5) (6) Comm. ... ...

Deadline i+1 (7) Deadline i ...

Sergio Ilarri - Walqa, Enero 2006

Agentes adaptativos

Agente(i-1)

•Cambio en las condiciones ... •Agentes adaptativos

. . .

Agente(i)

. . .

Agente(i+1)

. . .

Deadline i

Deadline i+1

Periodo de refresco

•Objetivo: mantener frec. •Cómo:  incertidumbre
. . . Sergio Ilarri - Walqa, Enero 2006 . . . . . .

Sincronización: Java3D

PFC: Juan Luis Serrano

Sergio Ilarri - Walqa, Enero 2006

Sistemas Basados en Agentes Móviles (VI)
Otros

Sergio Ilarri - Walqa, Enero 2006

Otros
REMOTE: Request Management fOr Task Execution Música que sigue al usuario

Sergio Ilarri - Walqa, Enero 2006

Gracias por su atención
http://webdiis.unizar.es/~silarri/
Sergio Ilarri - Walqa, Enero 2006

Agradecimientos
Parte del material presentado está basado en trabajos de Leon Sterling (University of Melbourne) y Niranjan Suri (University of West Florida).

Sergio Ilarri - Walqa, Enero 2006

Sign up to vote on this title
UsefulNot useful