Академический Документы
Профессиональный Документы
Культура Документы
Sergio Ilarri
Centro Politcnico Superior Edificio Ada Byron rea de Lenguajes y Sistemas Informticos Dpto. de Informtica e Ingeniera de Sistemas silarri@unizar.es http://webdiis.unizar.es/~silarri/
ndice
PRIMERA PARTE:
SEGUNDA PARTE:
PRCTICAS:
Agentes Software
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)
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
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 acta sobre l (actuadores)
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 acta sobre l (actuadores) reactivo: responde a cambios en el entorno
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 acta sobre l (actuadores) reactivo: responde a cambios en el entorno proactivo: acta para conseguir sus objetivos
Sergio Ilarri - Walqa, Enero 2006
Orgenes
Agentes y sistemas multiagentes: Conceptos con origen en la Inteligencia Artificial Auge en los 90 de los sistemas multiagentes y los agentes mviles: paradigma de software adecuado para el desarrollo y explotacin de entornos altamente distribuidos y abiertos (ej.: Internet) La idea de agentes y sistemas multiagentes parece emerger o fusionarse en mltiples dominios de aplicacin El rea de los sistemas multiagentes est influenciada e inspirada por muchos otros campos: Teora de juegos, lgica, ecologa, ciencias sociales, economa, filosofa ...
Sergio Ilarri - Walqa, Enero 2006
Tecnologas padre
Inteligencia artificial Ingeniera del software Sistemas distribuidos Ciencia de las organizaciones Bases de datos Economa Teora de juegos Vida artificial
Agentes inteligentes
Son programas: Autnomos Actan en representacin de alguien Tienen una agenda de objetivos Inteligentes, aprenden Pueden tambin ser: Cooperativos Mviles Nuevo paradigma de diseo de software:
Clasificacin (Jennings/Wooldridge)
Arquitecturas (Wooldridge)
Basada en lgica Agentes reactivos Agentes BDI Por capas
Agentes reactivos (I) A reactive system is one whose purpose is to maintain some ongoing interaction with its environment. (Fisher and Wooldridge)
Acciones (actuadores)
Rosenschein et al.
Objetivos que varan en el tiempo Contingencias/oportunidades Objetivos conflictivos Sensores ruidosos Reaccionar rpido
Beliefs: modelado del mundo Desires: estados que interesan Intentions: determinacin de llegar a un estado objetivo
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
Agentes Mviles
Caracterizacin de la movilidad
RPC, RSH, RMI, servlets, procedimientos almacenados Compuacin Movilidad dbil
Migracin de procesos
mvil
Movilidad fuerte
Cdigo mvil
Es m tad v o il
Checkpointing
Agentes mviles
Programa que se ejecuta en un cierto contexto de ejecucin o place, y viaja de place a place Capaces de transportarse a s mismos entre ordenadores Necesita cierta infraestructura (plataforma de agentes) Agentes mviles cdigo mvil Alternativa a RPC
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 estndar -Mltiples threads -Ficheros abiertos, etc.
0,1 M
0,2 M
0,45 M
1M
2M
4M
8M
16 M
33 M
Miles de agentes (en la misma mquina) Lento, basado en eventos, mono-thread, no transp. Localiz. Otros: Jade, Tracy, Mole, SeMoa, etc
SPRINGS (I)
Scalable Platform foR movING Software
Proxies dinmicos Escalable, supera otras populares plataformas Minimiza la probabilidad de livelock Servicio de nombres: agentes, contextos Fcil de usar
http://sid.cps.unizar.es/SPRINGS/
Sergio Ilarri - Walqa, Enero 2006
SPRINGS (II)
Modelo Cliente/Servidor
Una parte de una aplicacin, parte cliente, solicita un servicio ofrecido por la parte servidor de la aplicacin. Normalmente, parte cliente y servidor situadas en distintos sistemas o mquinas En computacin mvil, el dispositivo mvil solicita servicios de los servidores estticos...
Com. inalmbrica Red fija
Aplicacin cliente
Dispositivo mvil
Aplicacin servidor
Modelo Cliente/Servidor
Modelo Cliente/servidor clsico: Servidores fiables que almacenan los datos Mltiples clientes que pueden acceder de forma eficiente y segura a los servidores Tcnicas de optimizacin y seguridad aplicables Modelo escalable Suposiciones: Clientes estticos Comunicaciones fiables y rpidas Clientes fiables y relativamente potentes
Aplicacin cliente
Dispositivo mvil
Proxy
Aplicacin servidor
Adapta las comunicaciones de cara a la red fija o a la inalmbrica, segn 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 (compresin, filtrado, etc) Puede ser ms o menos activo, avisando al cliente de ciertos eventos, (tecnologa push), etc. Mantiene la presencia del dispositivo mvil en la red fija, pero no puede optimizar las comunicaciones que parten del mvil El modelo requiere cambios en la parte cliente todo pasa por el proxy Sergio Ilarri - Walqa, Enero 2006
Modelo Cliente/Interceptor/Servidor
Tambin llamado Cliente/Agente/Agente/Servidor o Cliente/Servidor Extendido Aade un proxy en la parte cliente, para reducir la transmisin de datos, mejorar la disponibilidad y dar soporte al dispositivo mvil de forma interrumpida Para el cliente: hay un representante del servidor en local
Com. inalmbrica Red fija
Aplicacin cliente
Client-side proxy
Server-side proxy
Aplicacin servidor
Dispositivo mvil
Modelo Cliente/Interceptor/Servidor
Mltiples posibilidades de optimizacin: Distribuir la carga entre los proxies Separacin de roles y responsabilidades entre los proxies Pueden adelantarse a las necesidades Mayor flexibilidad en el manejo de las desconexiones Protocolos de comunicacin entre los proxies para reducir el intercambio de datos, y su optimizacin al entorno inalmbrico y al estado y caractersticas de la unidad mvil Clientes relativamente pesados Requiere cambios tanto en la parte cliente como en la parte servidora
Modelo Peer-to-Peer
Arquitectura distribuida entre iguales No hay distincin entre clientes y servidores Cada dispositivo tiene la funcionalidad completa de cliente y de servidor los dispositivos mviles debern soportar aplicaciones o clientes pesados Ejemplo: usuarios trabajando conjuntamente con los datos disponibles en el conjunto de sus porttiles Robustez La red no tiene puntos dbiles xito demostrado Napster Emule
Sergio Ilarri - Walqa, Enero 2006
Agentes Mviles
Agente mvil: programa en ejecucin que tiene la capacidad de trasladarse (cdigo+ datos+ estado) de un ordenador a otro en la red para llevar acabo su tarea El agente se aloja en un entorno de ejecucin, situado en la mquina El entorno puede comprobar la autentificacin y las credenciales del agente antes de permitir su ejecucin. Una vez creado, se ejecuta autnomamente, de forma independiente de la aplicacin que lo cre Para realizar su tarea el agente puede: trasladarse a otras mquinas, 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 enva los resultados al cliente, u otro servidor, destinatario, etc...
Sergio Ilarri - Walqa, Enero 2006
Agentes Mviles
Algunas caractersticas interesantes Autonoma Requieren poca o ninguna interaccin 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 Cooperacin Interaccin con otros agentes para conseguir un objetivo comn Movilidad Pueden vagar por la red yendo de unas mquinas a otras Inteligencia Sergio Ilarri - Walqa, Enero 2006
Objetivo: transparente al servicio de datos Simulacin distribuida Plug & Execute: aplicaciones complejas basadas en agentes mviles
Sergio Ilarri - Walqa, Enero 2006
Construida automticamente
Vista del software disponible Sensible a las necesidades de distintos usuarios Tecnologa de agentes: creacin, explotacin (gestin del conocimiento)
Sergio Ilarri - Walqa, Enero 2006
ADUS (I)
ADUS (II)
LRS
Espacio de datos en la red fija Agente Locker:
El sistema decide si sigue al usuario
Procesamiento eficiente de consultas dependientes de la localizacin Consultas Continuas Usuario y objetos mviles Entorno distribuido Obtener la gasolinera ms cercana Obtener unidades de polica situadas Obtener las los taxis cercanos libres cerca de un coche robado (para detenerlo), y (mientras vamos vamoscasaun coche) o (mientras hacia en un da lluvioso) los coches de polica que pueden ayudar relevar al actual coche de polica perseguidor
Sergio Ilarri - Walqa, Enero 2006
LOcation-dependent Queries Proxies On Informacin de localizacin (distribuida): Moving Base de datos de objetos mviles (MOD) ObjecTs Flujo de datos (data streams) Contexto para la ejecucin de agentes In mObile Networks Objetos Mviles
Dispositivos mviles Acceden a los proxies y emiten preguntas
Sergio Ilarri - Walqa, Enero 2006
Procesamiento: Arquitectura
Red de agentes
P4 P6
P3
(3) (3) (3) P1 P5 DMS P2 (3) (2) P0 (1) Monitor Updater (2) MonitorTracker Tracker (3)
Ejecucin de consultas
http://sid.cps.unizar.es/ANTARCTICA/LDQP/index.html
. . .
Agent(i)
. . .
Agent(i+1)
. . .
(1): comunicacin deadline a i (2): estimacin deadline de i+1 (3): comunicacin deadline i+1 (4): tareas agente (5): comunicacin resultados a i (6): correlacin datos (7): comunicacin resultados a i-1
(1)
Agentes adaptativos
Agente(i-1)
. . .
Agente(i)
. . .
Agente(i+1)
. . .
Deadline i
Deadline i+1
Periodo de refresco
Sincronizacin: Java3D
Otros
REMOTE: Request Management fOr Task Execution Msica que sigue al usuario
Agradecimientos
Parte del material presentado est basado en trabajos de Leon Sterling (University of Melbourne) y Niranjan Suri (University of West Florida).