Tecnología de AgentesTecnología de...
Transcript of Tecnología de AgentesTecnología de...
Tecnología de AgentesTecnología de Agentes
Sergio IlarriCentro Politécnico Superior
Edificio Ada ByronEdificio Ada ByronÁrea de Lenguajes y Sistemas Informáticos
Dpto. de Informática e Ingeniería de Sistemassilarri@unizar [email protected]
http://webdiis.unizar.es/~silarri/
Sergio Ilarri - Walqa, Enero 2006
ÍÍndice
PRIMERA PARTE:PRIMERA PARTE: Agentes software Agentes móviles
SEGUNDA PARTE:Agentes móviles en computación móvil 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 SoftwareAgentes 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)ti d bi l t• 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)ti d bi l t• 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 yparadigma 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 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: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 artificialInteligencia artificialIngeniería del softwareSistemas distribuidosCiencia de las organizacionesBases de datosEconomíaTeoría de juegosVida artificialVida artificial
Sergio Ilarri - Walqa, Enero 2006
Agentes inteligentes
Son programas:Son programas: Autónomos Actúan en representación de alguien Tienen una agenda de objetivos “Inteligentes”, aprenden
P d t biéPueden también ser: Cooperativos Móviles 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 = antWeb crawler = spider = ant Cliente de emailVirus
Is it an Agent, or just a Program?: A Taxonomy for Autonomous Agents Stan F anklin and A t G aesse P o eedings of the Thi dAgents. Stan Franklin and Art Graesser. Proceedings of the ThirdInternational Workshop on Agent Theories, Architectures, and
Languages, Springer-Verlag, 1996.
Sergio Ilarri - Walqa, Enero 2006
Metáfora de los agentes
Representante del usuarioRepresentante del usuarioÉnfasis en comunicaciónAutonomíaPersistencia
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 M d l d d t l jModelado de entornos complejosPotencial para software más inteligenteNivel de abstracción natural modularidad división de problemasNivel de abstracción natural, modularidad, división de problemas…
Sergio Ilarri - Walqa, Enero 2006
Los agentes no son
AsistentesLenguajes de scripte guajes de sc pLenguajes de programación Redes neuronalesSistemas basados en reglasSistemas expertosObjetosObjetos
Sergio Ilarri - Walqa, Enero 2006
Características de los agentes
Propiedad Otros nombres Significadoreactivos (sentir y actuar) responder a tiempo a cambios en el entornoreactivos (sentir y actuar) responder a tiempo a cambios en el entorno
autónomos ejercer control sobre las propias accionesproactivos orientados a objetivos no actúan simplemente en respuesta al entorno
persistentes temporalmente continuos son procesos que se ejecutan continuamentecomunicativos sociables se comunican con otros agentes, quizá personas
adaptativos que aprenden cambian su comportamiento con experiencias previasmóviles se pueden mover de máquina a máquinaflexibles sus acciones no están pre-programadasp p gcarácter personalidad y estado emocional
Sergio Ilarri - Walqa, Enero 2006
Clasificación (Jennings/Wooldridge)
Débiles Fuertes Otras propiedadesDébiles Fuertes Otras propiedadesAutonomía Conocimiento/creencias RacionalalidadSociabilidad Intenciones SinceridadReactividad Deseos/Objetivos Benevolenciaeact dad eseos/Objet os e e o e c aProactividad Obligaciones MovilidadTimeliness Capacidades EmocionesPersistencia
Sergio Ilarri - Walqa, Enero 2006
Arquitecturas (Wooldridge)
Basada en lógicaAgentes reactivosge tes eact osAgentes BDIPor capas
Sergio Ilarri - Walqa, Enero 2006
Basada en lógica (I)
STRIPES:Estado actual/objetivo: fórmulas lógicass ado ac ua /obje o ó u as óg casOperadores: precondición, postcondición (añadir/borrar)Planificación: encontrar una secuencia de acciones que lleve al
t d fi lestado final
Sergio Ilarri - Walqa, Enero 2006
Basada en lógica (II)
Estado inicial:estado(horno,sucio) & estado(frigorífico, sucio) & ( , ) ( g , )
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: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ógicoDos problemas: Problema de traducción/representación: como traducir el mundoProblema 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 itsmaintain some ongoing interaction with its environment.
(Fi h d W ld id )(Fisher and Wooldridge)
No hay razonamiento simbólicoNo hay razonamiento simbólico
Sergio Ilarri - Walqa, Enero 2006
Agentes reactivos (II)
Entradas (sensores)
Registro deestados
Acciones(sensores) 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 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 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 intencionesEncontrar planes aplicablesco t a p a es ap cab esDecidir qué plan aplicarEjecutar 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
Entorno
www.multiagent.com
AkiraAgent Factory
JACKJESSge t acto y
Bee-gent FrameworkCougaar
J SSMAPOAA
ExcaliburJadex BDIJATLite
PRSSIM_AGENTZeusJATLite
Java Communicating AgentsZeusAgent UMLBB1
Sergio Ilarri - Walqa, Enero 2006
Agentes MóvilesAgentes Móviles
Sergio Ilarri - Walqa, Enero 2006
Agentes móviles: definición
Agentes software: Se mueven de ordenador a ordenadorSe ue e de o de ado a o de ado A petición del usuario, autónomamente
Sergio Ilarri - Walqa, Enero 2006
óCaracterización de la movilidad
RPC, RSH, RMI, servlets,procedimientos almacenados Movilidad
débil
puac
ión
móv
il
débil
MovilidadMigración
Com
p m Movilidadfuertede
procesos
Códigomóvil
Instalación remota,applets
Checkpointing
Sergio Ilarri - Walqa, Enero 2006
A t ó ilAgentes móviles
Programa que se ejecuta en un cierto contexto de ejecución oPrograma 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 RPCAlternativa a RPC
Sergio Ilarri - Walqa, Enero 2006
Movilidad: cómo funciona
Los agentes móviles se crean en places Viajan entre 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
l l l d ú El agente se reconstruye en el place destino y continúa su ejecución
Movilidad fuerte/débilMovilidad fuerte/débil
Sergio Ilarri - Walqa, Enero 2006
Movilidad fuertepublic class AgenteMovFuerte extends Agentepublic class AgenteMovFuerte extends Agente{
public static void main(String[] args){{
System.out.println(“En ordenador origen”);moveTo(destino);System out println(“En ordenador destino”);System.out.println(“En ordenador destino”);
}}
-No Java estándar-Múltiples threadsFi h bi t t-Ficheros abiertos, etc.
Sergio Ilarri - Walqa, Enero 2006
Movilidad débil (Aglets)public class AgenteMovDebil extends Aglet {public class AgenteMovDebil extends Aglet {
boolean enRemoto = false;public void onCreation (Object init) {
addMobilityListener (new MobilityAdapter() {
public void onArrival (MobilityEvent e) {enRemoto = true;
}}}
);}bli id () {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)p blic class AgenteMo Debil e tends Aglet {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"); St i Cl "A t M D bil"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()
E l i t d i i i l i j En el origen, antes de iniciar el viaje preArrival()
En el destino antes de la reconstrucciónEn 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
En el origen, en paralelo con el callback del destino
Utilizando agentes móviles
Eficiencia? RPC
Robustez frente a desconexiones Mejor diseño: delegación de tareas Facilidad de programaciónFacilidad de programación Plataformas de agentes
• InteroperabilidadFi bilid d• Fiabilidad
• Escalabilidad
Sergio Ilarri - Walqa, Enero 2006
0,1 M 0,2 M 0,45 M 1 M 2 M 4 M 8 M 16 M 33 M
Plataformas de agentes móviles
A l tAglets Buen API para agentes móviles JDK 1.1 código abierto Java 2g Mono-thread, bloqueo mensajes síncronos, no transp. localiz.
VoyagerCORBA + agentes móviles encadenamiento de proxies 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.
Sergio Ilarri - Walqa, Enero 2006
Otros: Jade, Tracy, Mole, SeMoa, etc…
SPRINGS (I)SScalable
PlatformPlatform
foRING
•Proxies dinámicosmovING
Software
•Escalable, supera otras populares plataformas•Minimiza la probabilidad de livelock•Servicio de nombres: agentes, contextosServicio 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)Mobile Agent System Interoperability Facility - MASIF (OMG) interoperabilidad entre sistemas de agentes Definición de servicios básicos y de interfaces a nivel de
i t d t ( t l t l i t dsistemas 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 p / g ,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 ge te que se t as ada a dos o de ado es, acced e do a
sendas BDs, y regresa para mostrar el resultado al usuario Seleccionar una plataforma de agentes para implementarlo
y comentar la experienciay comentar la experienciaAdaptació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
A t Mó ilAgentes Móviles en Computación MóvilComputación Móvil
Sergio Ilarri - Walqa, Enero 2006
Modelos de Computación Móvil
Modelo Cliente/ServidorModelo Cliente/Agente/Servidorode o C e te/ ge te/Se doModelo Cliente/Interceptor/ServidorModelos Peer-to-PeerAgentes 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áquinasEn computación móvil el dispositivo móvil solicita servicios deEn computación móvil, el dispositivo móvil solicita servicios de los servidores estáticos...
Com. inalámbrica Red fija
Aplicación cliente
Aplicación servidorcliente servidor
Dispositivo móvil
Sergio Ilarri - Walqa, Enero 2006
Modelo Cliente/Servidor
Modelo Cliente/servidor clásico: Servidores fiables que almacenan los datosSe do es ab es que a ace a os datos Múltiples clientes que pueden acceder de forma eficiente y
segura a los servidoresTé i d ti i ió id d li bl Técnicas de optimización y seguridad aplicables
Modelo escalableSuposiciones: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ámbricasibl l t í ti d l di iti y a ser posible, a las características de los dispositivos
Otros: en arquitecturas con múltiples servidores el sistemaOtros: 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.
E t t í ti ti i t t ió 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 fijag p y j Cualquier comunicación entre el cliente y el servidor se realiza
a través del proxyEl proxy actúa como delegado o representante permanente 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 jservidor)
Aísla al servidor de la movilidad e intermitencia en la conexión del clientedel cliente
Aplicación Aplicación
Com. inalámbrica Red fija
Aplicación cliente
Aplicación servidor
Dispositivo móvil
Proxy
Sergio Ilarri - Walqa, Enero 2006
Dispositivo móvil
Modelo Cliente/Agente/Servidor (three-tier)Múltiples posibilidades: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 clientesmúltiples clientesLa 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 independientePuede descargar al cliente de parte del trabajo, realizado tareas g p jde su parte en la red fija Clientes “ligeros”
El proxy puede descargar de trabajo al servidor y sobre todo alEl proxy puede descargar de trabajo al servidor, y sobre todo al clienteEl proxy puede realizar optimizaciones para adaptar los datos a transmitir a la comunicaciones disponibles (compresión filtradotransmitir a la comunicaciones disponibles (compresión, filtrado, etc)Puede ser más o menos activo, avisando al cliente de ciertos eventos (tecnología push) etceventos, (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óvilEl d l i bi l li
Sergio Ilarri - Walqa, Enero 2006
El modelo requiere cambios en la parte cliente todo pasa por el proxy
Modelo Cliente/Interceptor/Servidor
También llamado Cliente/Agente/Agente/Servidor o Cliente/Servidor ExtendidoAñ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 interrumpidamóvil de forma interrumpidaPara el cliente: hay un representante del servidor en local
Com. inalámbrica Red fija
Aplicación cliente
Aplicación servidor
Server-side proxy
Client-side proxycliente servidor
Dispositivo móvil
p yp y
Sergio Ilarri - Walqa, Enero 2006
Modelo Cliente/Interceptor/Servidor
Múltiples posibilidades de optimización: Distribuir la carga entre los proxiesst bu a ca ga e t e os p o es 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 entornointercambio 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-PeerArquitectura distribuida entre igualesArquitectura 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 p p p
clientes “pesados” Ejemplo: usuarios trabajando conjuntamente con los datos
disponibles en el conjunto de sus portátilesdisponibles en el conjunto de sus portátiles
RobustezL d ti t débil La red no tiene puntos débiles
Éxito demostrado
Sergio Ilarri - Walqa, Enero 2006
Napster Emule
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 tareala red para llevar acabo su tarea El agente se aloja en un entorno de ejecución, situado en la
máquinaEl t d b l t tifi ió l 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 d d d l l ó l ó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
Sergio Ilarri - Walqa, Enero 2006
, gresultados al cliente, u otro servidor, destinatario, etc...
Agentes MóvilesAlgunas características interesantesAlgunas características interesantes Autonomía
Requieren poca o ninguna interacción con el cliente que l ólos creó
Interoperabilidad Los agentes pueden ejecutarse en diversas plataformas: g p j p
de forma independiente del hardware, SO, etc... Reactividad
Capacidad para reaccionar a cambios y eventos Capacidad para reaccionar a cambios y eventos producidos en su entorno
CooperaciónI t ió t t i bj ti Interacción con otros agentes para conseguir un objetivo común
Movilidad
Sergio Ilarri - Walqa, Enero 2006
Pueden vagar por la red yendo de unas máquinas a otras “Inteligencia”
Son especialistas en la tarea a realizar aprenden
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 fijaAdemá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 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:Contribuyen a limitar el uso de las comunicaciones inalámbricas: Pueden reducir la cantidad de datos a intercambiar por el
enlace inalámbrico P d it i t i t li t id
Sergio Ilarri - Walqa, Enero 2006
Pueden evitar interacciones entre cliente y servidor
Si t B d A tSistemas Basados en Agentes Móviles (I)Móviles (I)
óSimulador de Entornos Móviles
Sergio Ilarri - Walqa, Enero 2006
ó óSimulación de Entornos Móviles
•Entorno móvil:
-Proxies
Obj ó il
Place
A t ó il-Objetos móviles
Obj ti t t l i i d d t
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
en agentes móviles
Simulación de Aplicaciones Multiagente
•Moving Object Agents (MOA)I l A (IA )
Se mueven juntos!•Internal Agents (IAs)
Sergio Ilarri - Walqa, Enero 2006
Simulador de Objetos MóvilesSimulador de Objetos Móviles
Sergio Ilarri - Walqa, Enero 2006
Si t B d A tSistemas Basados en Agentes Móviles (II)Móviles (II)
ó áRecopilación de citas bibliográficas
Sergio Ilarri - Walqa, Enero 2006
Sergio Ilarri - Walqa, Enero 2006
Si t B d A tSistemas Basados en Agentes Móviles (III)Móviles (III)
óServicio de Obtención de Software (SRS)( )
Sergio Ilarri - Walqa, Enero 2006
Servicio de Obtención deServicio de Obtención de Software
Alternativa a sistemas tipo TucowsUso de una ontología de software Construida automáticamenteVista del software disponibleSensible a las necesidades de distintosSensible a las necesidades de distintos usuariosT l í d ióTecnología de agentes: creación, explotación (gestión del conocimiento)
Sergio Ilarri - Walqa, Enero 2006
Servicio de Obtención de SoftwareSoftware
Sergio Ilarri - Walqa, Enero 2006
Si t B d A tSistemas Basados en Agentes Móviles (IV)Móviles (IV)
óGeneración Indirecta de Interfaces de Usuario en Dispositivos Móviles(ADUS)(ADUS)
Sergio Ilarri - Walqa, Enero 2006
ADUS (I)ADUS (I)
Sergio Ilarri - Walqa, Enero 2006
ADUS (II)ADUS (II)
Sergio Ilarri - Walqa, Enero 2006
S i i B d A tServicios Basados en Agentes Móviles (V)Móviles (V)
Servicio de Alquiler de Lockers (LRS)( )
Sergio Ilarri - Walqa, Enero 2006
LRS
Espacio de datos en la red fijaAgente Locker:
El sistema decide si sigue al usuariogExtensión de discoAhorro de bateríaAhorro de bateríaOptimización de las comunicaciones
Sergio Ilarri - Walqa, Enero 2006
Si t B d A tSistemas Basados en Agentes Móviles (V)Móviles (V)
Procesamiento de Preguntas Dependientes de la Localización pen Entornos Móviles(LOQOMOTION)(LOQOMOTION)
Sergio Ilarri - Walqa, Enero 2006
Preguntas dependientes de la localización•Procesamiento eficiente de consultas•Procesamiento eficiente de consultas dependientes de la localización•Consultas Continuas•Usuario y objetos móviles
•Entorno distribuido
y j
“Obtener las unidades de policía situadas “Obtener la gasolinera más cercana”“Obtener los taxis cercanos libres”cerca de un coche robado (para detenerlo), y
los coches de policía que pueden ayudar o l l t l h d li í id ”
(mientras vamos en un coche)(mientras vamos hacia casa un día lluvioso)
Sergio Ilarri - Walqa, Enero 2006
relevar al actual coche de policía perseguidor”
Procesamiento: ArquitecturaOLOcation-dependent
Queries ProxiesQueries
On
M
Proxies•Información de localización (distribuida):
•Base de datos de objetos móviles (MOD)Moving
ObjecTs
•Flujo de datos (data streams)•Contexto para la ejecución de agentesj
In
ObilObjetos Móviles
mObile
Networks
•Dispositivos móviles•Acceden a los proxies y emiten preguntas
Sergio Ilarri - Walqa, Enero 2006
Arquitectura basada en agentes móviles
•Soporte para el procesamiento distribuido de consultas•Seguimiento de objetos móviles de interés
•Adaptación a las condiciones del entorno•Optimización de comunicaciones inalámbricasSoporte para el procesamiento distribuido de consultas
Adaptación a las condiciones del entorno
•Solución descentralizada: escalable, extensible•AutonomíaSolución descentralizada: escalable, extensible
•No necesidad de mantener procesos en los servidores
Sergio Ilarri - Walqa, Enero 2006
Red de agentesRed de agentes
P4 P3
P6
P4
P1
(3)(3)
(3)(3)
P2P5
P1
P0
(2)(2)
(3)
DMS
MonitorTracker
DMS
MonitorTracker
Monitor
P0
(1)Tracker
Updater
Tracker
Updater
Sergio Ilarri - Walqa, Enero 2006
Ejecución de consultas
Sergio Ilarri - Walqa, Enero 2006http://sid.cps.unizar.es/ANTARCTICA/LDQP/index.html
Interacciones entre AgentesAgent(i-1) Agent(i) Agent(i+1)Agent(i 1) ...
......
g ( ) g ( )
Comm.(1)(1): comunicación deadline a i (2)(2): estimación deadline de i+1( )
(3)(3): comunicación deadline i+1(4)(4): tareas agente
(5): comunicación resultados a iDeadline i+1 (5)(5): comunicación resultados a i
(6)(6): correlación datos
(7)(7): comunicación resultados a i-1
Deadline i
(7)Comm.
Sergio Ilarri - Walqa, Enero 2006
... ... ...
...Agente(i-1) ...
Agente(i) ...Agente(i+1)Agentes adaptativos
•CambioPeriodo de refresco
Deadlinei
Deadline i+1
•Cambio en las condiciones ...
•Agentes adaptativos•Agentes adaptativos•Objetivo: mantener frec.j
•Cómo: incertidumbre
Sergio Ilarri - Walqa, Enero 2006
...... ...
Sincronización: Java3D
PFC: Juan Luis Serrano
Sergio Ilarri - Walqa, Enero 2006
Si t B d A tSistemas Basados en Agentes Móviles (VI)Móviles (VI)
Otros
Sergio Ilarri - Walqa, Enero 2006
Otros
REMOTE: Request Management fOr Task E tiExecutionMúsica que sigue al usuarioq g
Sergio Ilarri - Walqa, Enero 2006
Graciasió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