introducción a los agentes -...
TRANSCRIPT
![Page 1: Introducción a los Agentes - eolo.cps.unizar.eseolo.cps.unizar.es/docencia/masterserviciosweb/WebSemantica1... · Problemade razonamiento: cómo razonar con ellos El agente decide](https://reader034.vdocuments.net/reader034/viewer/2022051405/5a7a41727f8b9ac3118befc4/html5/thumbnails/1.jpg)
Introducción a los Agentes
Máster en Servicios Web y Comercio Electrónico
Curso 2006/2007
Curso de Web Semántica
Sergio Ilarri [email protected]
![Page 2: Introducción a los Agentes - eolo.cps.unizar.eseolo.cps.unizar.es/docencia/masterserviciosweb/WebSemantica1... · Problemade razonamiento: cómo razonar con ellos El agente decide](https://reader034.vdocuments.net/reader034/viewer/2022051405/5a7a41727f8b9ac3118befc4/html5/thumbnails/2.jpg)
Índice
Introducción al concepto de agenteCaracterísticas de los agentesArquitecturas de agentesPlataformas de agentes
![Page 3: Introducción a los Agentes - eolo.cps.unizar.eseolo.cps.unizar.es/docencia/masterserviciosweb/WebSemantica1... · Problemade razonamiento: cómo razonar con ellos El agente decide](https://reader034.vdocuments.net/reader034/viewer/2022051405/5a7a41727f8b9ac3118befc4/html5/thumbnails/3.jpg)
Tres Áreas Relacionadas
Teoría de agentesQué es un agente, cómo se pueden representar sus propiedades formalmente y razonar sobre ellas
Arquitecturas de agentes:Cómo diseñar componentes software que tengan propiedades de agente
Lenguajes de agentes:Cómo programar los agentes
![Page 4: Introducción a los Agentes - eolo.cps.unizar.eseolo.cps.unizar.es/docencia/masterserviciosweb/WebSemantica1... · Problemade razonamiento: cómo razonar con ellos El agente decide](https://reader034.vdocuments.net/reader034/viewer/2022051405/5a7a41727f8b9ac3118befc4/html5/thumbnails/4.jpg)
¿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)
![Page 5: Introducción a los Agentes - eolo.cps.unizar.eseolo.cps.unizar.es/docencia/masterserviciosweb/WebSemantica1... · Problemade razonamiento: cómo razonar con ellos El agente decide](https://reader034.vdocuments.net/reader034/viewer/2022051405/5a7a41727f8b9ac3118befc4/html5/thumbnails/5.jpg)
¿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
![Page 6: Introducción a los Agentes - eolo.cps.unizar.eseolo.cps.unizar.es/docencia/masterserviciosweb/WebSemantica1... · Problemade razonamiento: cómo razonar con ellos El agente decide](https://reader034.vdocuments.net/reader034/viewer/2022051405/5a7a41727f8b9ac3118befc4/html5/thumbnails/6.jpg)
¿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)
![Page 7: Introducción a los Agentes - eolo.cps.unizar.eseolo.cps.unizar.es/docencia/masterserviciosweb/WebSemantica1... · Problemade razonamiento: cómo razonar con ellos El agente decide](https://reader034.vdocuments.net/reader034/viewer/2022051405/5a7a41727f8b9ac3118befc4/html5/thumbnails/7.jpg)
¿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)• responde a cambios en el entorno (react./adapt.)
![Page 8: Introducción a los Agentes - eolo.cps.unizar.eseolo.cps.unizar.es/docencia/masterserviciosweb/WebSemantica1... · Problemade razonamiento: cómo razonar con ellos El agente decide](https://reader034.vdocuments.net/reader034/viewer/2022051405/5a7a41727f8b9ac3118befc4/html5/thumbnails/8.jpg)
¿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)• responde a cambios en el entorno (react./adapt.)• actúa para conseguir sus objetivos (proactivo)
![Page 9: Introducción a los Agentes - eolo.cps.unizar.eseolo.cps.unizar.es/docencia/masterserviciosweb/WebSemantica1... · Problemade razonamiento: cómo razonar con ellos El agente decide](https://reader034.vdocuments.net/reader034/viewer/2022051405/5a7a41727f8b9ac3118befc4/html5/thumbnails/9.jpg)
OrígenesAgentes y sistemas multiagente:
Conceptos con origen en la Inteligencia ArtificialAuge en los 90 de los sistemas multiagente y los agentes móviles:
paradigma de software adecuado para el desarrollo y explotación de entornos altamente distribuidos y abiertos (ej.: Internet)
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, ...
![Page 10: Introducción a los Agentes - eolo.cps.unizar.eseolo.cps.unizar.es/docencia/masterserviciosweb/WebSemantica1... · Problemade razonamiento: cómo razonar con ellos El agente decide](https://reader034.vdocuments.net/reader034/viewer/2022051405/5a7a41727f8b9ac3118befc4/html5/thumbnails/10.jpg)
Campos Relacionados
Inteligencia artificialIngeniería del softwareSistemas distribuidosCiencia de las organizacionesBases de datosEconomíaTeoría de juegosVida artificial
![Page 11: Introducción a los Agentes - eolo.cps.unizar.eseolo.cps.unizar.es/docencia/masterserviciosweb/WebSemantica1... · Problemade razonamiento: cómo razonar con ellos El agente decide](https://reader034.vdocuments.net/reader034/viewer/2022051405/5a7a41727f8b9ac3118befc4/html5/thumbnails/11.jpg)
Agentes
Son programas:AutónomosActúan en representación de alguienTienen una agenda de objetivos“Inteligentes”, aprenden
Pueden también ser:CooperativosMóviles
Nuevo paradigma de diseño de software:AOSE = Agent Oriented Software Engineering
DefiniciónProblemática
![Page 12: Introducción a los Agentes - eolo.cps.unizar.eseolo.cps.unizar.es/docencia/masterserviciosweb/WebSemantica1... · Problemade razonamiento: cómo razonar con ellos El agente decide](https://reader034.vdocuments.net/reader034/viewer/2022051405/5a7a41727f8b9ac3118befc4/html5/thumbnails/12.jpg)
¿Son Éstos Agentes?
Web crawler = spider = antCliente de e-mailVirus
Is it an Agent, or just a Program?: A Taxonomy for AutonomousAgents. Stan Franklin and Art Graesser. Proceedings of the ThirdInternational Workshop on Agent Theories, Architectures, and
Languages, Springer-Verlag, 1996.
![Page 13: Introducción a los Agentes - eolo.cps.unizar.eseolo.cps.unizar.es/docencia/masterserviciosweb/WebSemantica1... · Problemade razonamiento: cómo razonar con ellos El agente decide](https://reader034.vdocuments.net/reader034/viewer/2022051405/5a7a41727f8b9ac3118befc4/html5/thumbnails/13.jpg)
Metáfora de los Agentes
Representante del usuarioAutonomíaPersistenciaÉnfasis en comunicación:
Con otros agentesCon el usuario
Especialmente importante si hay dinero en juego
![Page 14: Introducción a los Agentes - eolo.cps.unizar.eseolo.cps.unizar.es/docencia/masterserviciosweb/WebSemantica1... · Problemade razonamiento: cómo razonar con ellos El agente decide](https://reader034.vdocuments.net/reader034/viewer/2022051405/5a7a41727f8b9ac3118befc4/html5/thumbnails/14.jpg)
Utilidad de los Agentes
Capacidad de operación en un entorno dinámico, abierto, impredeciblePotencial para utilizar los recursos de Internet Interacción con software legadoModelado de entornos complejosPotencial para software más inteligente (sinergia)Nivel de abstracción natural, modularidad, división de problemas…
![Page 15: Introducción a los Agentes - eolo.cps.unizar.eseolo.cps.unizar.es/docencia/masterserviciosweb/WebSemantica1... · Problemade razonamiento: cómo razonar con ellos El agente decide](https://reader034.vdocuments.net/reader034/viewer/2022051405/5a7a41727f8b9ac3118befc4/html5/thumbnails/15.jpg)
Los Agentes No Son
AsistentesLenguajes de scriptLenguajes de programaciónRedes neuronalesSistemas basados en reglasSistemas expertosObjetos
![Page 16: Introducción a los Agentes - eolo.cps.unizar.eseolo.cps.unizar.es/docencia/masterserviciosweb/WebSemantica1... · Problemade razonamiento: cómo razonar con ellos El agente decide](https://reader034.vdocuments.net/reader034/viewer/2022051405/5a7a41727f8b9ac3118befc4/html5/thumbnails/16.jpg)
![Page 17: Introducción a los Agentes - eolo.cps.unizar.eseolo.cps.unizar.es/docencia/masterserviciosweb/WebSemantica1... · Problemade razonamiento: cómo razonar con ellos El agente decide](https://reader034.vdocuments.net/reader034/viewer/2022051405/5a7a41727f8b9ac3118befc4/html5/thumbnails/17.jpg)
Agentes vs. Objetos (I)
Fuente: Software Agent Technology, Summary Lecture, Heimo Laamanen, 2.5.2006
![Page 18: Introducción a los Agentes - eolo.cps.unizar.eseolo.cps.unizar.es/docencia/masterserviciosweb/WebSemantica1... · Problemade razonamiento: cómo razonar con ellos El agente decide](https://reader034.vdocuments.net/reader034/viewer/2022051405/5a7a41727f8b9ac3118befc4/html5/thumbnails/18.jpg)
Agentes vs. Objetos (II)
Ambos encapsulan el estadoLos agentes, además, encapsulan un comportamiento
Los objetos no, dado que no tienen ningún control sobre la ejecución de sus métodos
Obsérvese la diferencia:Invocamos métodos de objetosPedimos a los agentes que ejecuten acciones
![Page 19: Introducción a los Agentes - eolo.cps.unizar.eseolo.cps.unizar.es/docencia/masterserviciosweb/WebSemantica1... · Problemade razonamiento: cómo razonar con ellos El agente decide](https://reader034.vdocuments.net/reader034/viewer/2022051405/5a7a41727f8b9ac3118befc4/html5/thumbnails/19.jpg)
Características de los Agentes
Propiedad Otros nombres Significadoreactivos (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 similar a adaptativos sus acciones no están pre-programadascarácter personalidad y estado emocional
Importante, por ejemplo en negociaciones
![Page 20: Introducción a los Agentes - eolo.cps.unizar.eseolo.cps.unizar.es/docencia/masterserviciosweb/WebSemantica1... · Problemade razonamiento: cómo razonar con ellos El agente decide](https://reader034.vdocuments.net/reader034/viewer/2022051405/5a7a41727f8b9ac3118befc4/html5/thumbnails/20.jpg)
Clasificación(Jennings/Wooldridge)
Débiles Fuertes Otras propiedadesAutonomía Conocimiento/creencias RacionalidadSociabilidad Intenciones SinceridadReactividad Deseos/Objetivos BenevolenciaProactividad Obligaciones Movilidad[Puntualidad] Capacidades Emociones[Persistencia]
Podría ser un proceso UnixCaracterísticas humanas
![Page 21: Introducción a los Agentes - eolo.cps.unizar.eseolo.cps.unizar.es/docencia/masterserviciosweb/WebSemantica1... · Problemade razonamiento: cómo razonar con ellos El agente decide](https://reader034.vdocuments.net/reader034/viewer/2022051405/5a7a41727f8b9ac3118befc4/html5/thumbnails/21.jpg)
Propiedades de Noción DébilAutonomía
Control sobre el estado interno y accionesOperación sin interacción directa con otros
Sociabilidad:Interacción entre agentesLenguajes de comunicación
ReactividadPerciben el entorno (GUI, red, etc.) y reaccionan
ProactividadObjetivosToman la iniciativa
![Page 22: Introducción a los Agentes - eolo.cps.unizar.eseolo.cps.unizar.es/docencia/masterserviciosweb/WebSemantica1... · Problemade razonamiento: cómo razonar con ellos El agente decide](https://reader034.vdocuments.net/reader034/viewer/2022051405/5a7a41727f8b9ac3118befc4/html5/thumbnails/22.jpg)
Ejemplo de Noción Débil de Agente
SoftbotRobot softwarePercibe el entorno (ls, pwd, etc.)Ejecuta acciones sobre el entorno (mv, cp, etc.)
![Page 23: Introducción a los Agentes - eolo.cps.unizar.eseolo.cps.unizar.es/docencia/masterserviciosweb/WebSemantica1... · Problemade razonamiento: cómo razonar con ellos El agente decide](https://reader034.vdocuments.net/reader034/viewer/2022051405/5a7a41727f8b9ac3118befc4/html5/thumbnails/23.jpg)
Noción Fuerte de Agente
Asigna a los agentes atributos humanosNociones mentalistas:
Conocimiento, creencia, intención, obligación, actitud
Incluso agentes emocionales
![Page 24: Introducción a los Agentes - eolo.cps.unizar.eseolo.cps.unizar.es/docencia/masterserviciosweb/WebSemantica1... · Problemade razonamiento: cómo razonar con ellos El agente decide](https://reader034.vdocuments.net/reader034/viewer/2022051405/5a7a41727f8b9ac3118befc4/html5/thumbnails/24.jpg)
Actitudes de los Agentes
Actitudes de información:CreenciaConocimiento
Pro-actitudes:DeseoIntenciónObligaciónCompromisoElección…
Estado cognitivo
Estrechamenterelacionadas
Les llevan a ejecutar acciones
![Page 25: Introducción a los Agentes - eolo.cps.unizar.eseolo.cps.unizar.es/docencia/masterserviciosweb/WebSemantica1... · Problemade razonamiento: cómo razonar con ellos El agente decide](https://reader034.vdocuments.net/reader034/viewer/2022051405/5a7a41727f8b9ac3118befc4/html5/thumbnails/25.jpg)
Utilidad de Esta VisiónUn interruptor puede considerarse un agente (hardware)
Tiene la capacidad de transmitir corriente a su voluntadPercibe nuestro deseo de encender/apagar la luz cuando lo movemosEs muy cooperativo, pues deja/para la corriente cuando cree que es eso lo que queremos
En este caso, es más fácil una visión mecanicistaPero en otros la visión de agente puede ayudarnos a describir y entender un sistema complejo
![Page 26: Introducción a los Agentes - eolo.cps.unizar.eseolo.cps.unizar.es/docencia/masterserviciosweb/WebSemantica1... · Problemade razonamiento: cómo razonar con ellos El agente decide](https://reader034.vdocuments.net/reader034/viewer/2022051405/5a7a41727f8b9ac3118befc4/html5/thumbnails/26.jpg)
Otras Propiedades
Sinceridad/veracidadNo distribuyen información falsa a sabiendas
Benevolencia:No tienen objetivos en conflictoSiempre intentan hacer lo que se les pide
Racionalidad:Actúan para lograr sus objetivosNo hacen cosas que puedan evitarlos
Movilidad
![Page 27: Introducción a los Agentes - eolo.cps.unizar.eseolo.cps.unizar.es/docencia/masterserviciosweb/WebSemantica1... · Problemade razonamiento: cómo razonar con ellos El agente decide](https://reader034.vdocuments.net/reader034/viewer/2022051405/5a7a41727f8b9ac3118befc4/html5/thumbnails/27.jpg)
Arquitecturas de Agentes (I)
Metodología para construir agentes:Cómo descomponer en módulosCómo deben esos módulos interaccionarCómo determinar las acciones a realizar a partir del estado interno y los estímulos…
![Page 28: Introducción a los Agentes - eolo.cps.unizar.eseolo.cps.unizar.es/docencia/masterserviciosweb/WebSemantica1... · Problemade razonamiento: cómo razonar con ellos El agente decide](https://reader034.vdocuments.net/reader034/viewer/2022051405/5a7a41727f8b9ac3118befc4/html5/thumbnails/28.jpg)
Arquitecturas de Agentes (II)
Tipos:DeliberativasReactivasHíbridas
![Page 29: Introducción a los Agentes - eolo.cps.unizar.eseolo.cps.unizar.es/docencia/masterserviciosweb/WebSemantica1... · Problemade razonamiento: cómo razonar con ellos El agente decide](https://reader034.vdocuments.net/reader034/viewer/2022051405/5a7a41727f8b9ac3118befc4/html5/thumbnails/29.jpg)
Deliberativas (I)
Interés en IA desde principios de 1970Inteligencia artificial simbólicaVen a los agentes como un tipo de sistema basado en el conocimiento
Objetivo: programación automáticaAgentes que planifican (deliberan):
Determinan las acciones que tienen que realizar para conseguir un determinado objetivo
![Page 30: Introducción a los Agentes - eolo.cps.unizar.eseolo.cps.unizar.es/docencia/masterserviciosweb/WebSemantica1... · Problemade razonamiento: cómo razonar con ellos El agente decide](https://reader034.vdocuments.net/reader034/viewer/2022051405/5a7a41727f8b9ac3118befc4/html5/thumbnails/30.jpg)
Deliberativas (II): STRIPSSTRIPS (1971):
Estado actual/objetivo: fórmulas lógicas
Operadores: precondición, postcondición
Planificación: encontrar una secuencia de acciones que lleve al estado final
Ver cómo las acciones, a través de sus postcondiciones, nos acercan al objetivo
![Page 31: Introducción a los Agentes - eolo.cps.unizar.eseolo.cps.unizar.es/docencia/masterserviciosweb/WebSemantica1... · Problemade razonamiento: cómo razonar con ellos El agente decide](https://reader034.vdocuments.net/reader034/viewer/2022051405/5a7a41727f8b9ac3118befc4/html5/thumbnails/31.jpg)
Deliberativas (III): STRIPS
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)
![Page 32: Introducción a los Agentes - eolo.cps.unizar.eseolo.cps.unizar.es/docencia/masterserviciosweb/WebSemantica1... · Problemade razonamiento: cómo razonar con ellos El agente decide](https://reader034.vdocuments.net/reader034/viewer/2022051405/5a7a41727f8b9ac3118befc4/html5/thumbnails/32.jpg)
Deliberativas (IV): STRIPS
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)
![Page 33: Introducción a los Agentes - eolo.cps.unizar.eseolo.cps.unizar.es/docencia/masterserviciosweb/WebSemantica1... · Problemade razonamiento: cómo razonar con ellos El agente decide](https://reader034.vdocuments.net/reader034/viewer/2022051405/5a7a41727f8b9ac3118befc4/html5/thumbnails/33.jpg)
Deliberativas (V): STRIPS
STRIPS es:Muy simplePero ineficaz para problemas de complejidad moderada
Por ello, aparecen otras técnicas:Planificación jerárquicaPlanificación no lineal
![Page 34: Introducción a los Agentes - eolo.cps.unizar.eseolo.cps.unizar.es/docencia/masterserviciosweb/WebSemantica1... · Problemade razonamiento: cómo razonar con ellos El agente decide](https://reader034.vdocuments.net/reader034/viewer/2022051405/5a7a41727f8b9ac3118befc4/html5/thumbnails/34.jpg)
Deliberativas (VI): BDI
Beliefs (creencias)Modelado del mundo
Desires (deseos)“Estados” que interesan
Intentions (intenciones)Determinación de llegar a un estadoobjetivoLos deseos seleccionados (limitados por losrecursos)
Perseguir lasintenciones hasta
lograrlas o descartarlaspor imposible
![Page 35: Introducción a los Agentes - eolo.cps.unizar.eseolo.cps.unizar.es/docencia/masterserviciosweb/WebSemantica1... · Problemade razonamiento: cómo razonar con ellos El agente decide](https://reader034.vdocuments.net/reader034/viewer/2022051405/5a7a41727f8b9ac3118befc4/html5/thumbnails/35.jpg)
Deliberativas (VII): BDI
-
![Page 36: Introducción a los Agentes - eolo.cps.unizar.eseolo.cps.unizar.es/docencia/masterserviciosweb/WebSemantica1... · Problemade razonamiento: cómo razonar con ellos El agente decide](https://reader034.vdocuments.net/reader034/viewer/2022051405/5a7a41727f8b9ac3118befc4/html5/thumbnails/36.jpg)
Deliberativas (VIII)
Agente deliberativoRepresenta un modelo simbólico del mundo y toma decisiones mediante razonamiento lógico
Dos problemas:Problema de traducción/representación: comotraducir el mundo real en símbolos (y a tiempo)Problema de razonamiento: cómo razonar con ellos
El agente decide mediante razonamiento lógico, basado en manipulación simbólicay emparejamiento de patrones
![Page 37: Introducción a los Agentes - eolo.cps.unizar.eseolo.cps.unizar.es/docencia/masterserviciosweb/WebSemantica1... · Problemade razonamiento: cómo razonar con ellos El agente decide](https://reader034.vdocuments.net/reader034/viewer/2022051405/5a7a41727f8b9ac3118befc4/html5/thumbnails/37.jpg)
Deliberativas (IX)
Investigación en:Visión por computadorInterfaces oralesRepresentación del conocimientoAprendizajeRazonamiento automático Planificación automática
Los agentes deliberativos son demasiado “caros” para tiempo real
![Page 38: Introducción a los Agentes - eolo.cps.unizar.eseolo.cps.unizar.es/docencia/masterserviciosweb/WebSemantica1... · Problemade razonamiento: cómo razonar con ellos El agente decide](https://reader034.vdocuments.net/reader034/viewer/2022051405/5a7a41727f8b9ac3118befc4/html5/thumbnails/38.jpg)
Reactivas (I)
Idea:La inteligencia depende del contextoSurge como resultado de la interacción con el entorno
“A reactive system is one whose purpose is to maintain some ongoing interaction with its environment”
(Fisher y Wooldridge)
No hay razonamiento simbólico
![Page 39: Introducción a los Agentes - eolo.cps.unizar.eseolo.cps.unizar.es/docencia/masterserviciosweb/WebSemantica1... · Problemade razonamiento: cómo razonar con ellos El agente decide](https://reader034.vdocuments.net/reader034/viewer/2022051405/5a7a41727f8b9ac3118befc4/html5/thumbnails/39.jpg)
Reactivas (II)Entradas(sensores)
Registro deestados
Acciones(actuadores)
Rosenschein et al.
![Page 40: Introducción a los Agentes - eolo.cps.unizar.eseolo.cps.unizar.es/docencia/masterserviciosweb/WebSemantica1... · Problemade razonamiento: cómo razonar con ellos El agente decide](https://reader034.vdocuments.net/reader034/viewer/2022051405/5a7a41727f8b9ac3118befc4/html5/thumbnails/40.jpg)
Reactivas (III)
“Intelligent behaviour is an emergent phenomenon arising from the interaction of societies of nonintelligent systems” (Maes)
![Page 41: Introducción a los Agentes - eolo.cps.unizar.eseolo.cps.unizar.es/docencia/masterserviciosweb/WebSemantica1... · Problemade razonamiento: cómo razonar con ellos El agente decide](https://reader034.vdocuments.net/reader034/viewer/2022051405/5a7a41727f8b9ac3118befc4/html5/thumbnails/41.jpg)
Reactivas (IV)
Selección de acción:Objetivos que varían en el tiempoContingencias/oportunidadesObjetivos conflictivosSensores “ruidosos”Reaccionar rápido
![Page 42: Introducción a los Agentes - eolo.cps.unizar.eseolo.cps.unizar.es/docencia/masterserviciosweb/WebSemantica1... · Problemade razonamiento: cómo razonar con ellos El agente decide](https://reader034.vdocuments.net/reader034/viewer/2022051405/5a7a41727f8b9ac3118befc4/html5/thumbnails/42.jpg)
Reactivas (V)
Brooks (subsumption architecture)Pionero en las arquitecturas reactivasJerarquía de comportamientosCada capa compite con el resto por obtener el controlCapas inferiores representan comportamientos más primitivos (como evitar obstáculos)
![Page 43: Introducción a los Agentes - eolo.cps.unizar.eseolo.cps.unizar.es/docencia/masterserviciosweb/WebSemantica1... · Problemade razonamiento: cómo razonar con ellos El agente decide](https://reader034.vdocuments.net/reader034/viewer/2022051405/5a7a41727f8b9ac3118befc4/html5/thumbnails/43.jpg)
Híbridas
Ni completamente deliberativas ni completamente reactivas
Ejemplo: arquitecturas BDI
![Page 44: Introducción a los Agentes - eolo.cps.unizar.eseolo.cps.unizar.es/docencia/masterserviciosweb/WebSemantica1... · Problemade razonamiento: cómo razonar con ellos El agente decide](https://reader034.vdocuments.net/reader034/viewer/2022051405/5a7a41727f8b9ac3118befc4/html5/thumbnails/44.jpg)
Híbridas: PRS (I)
PRS = Procedural Reasoning SystemPrimer sistema BDICreencias, objetivos, intenciones y biblioteca de planesEs híbrido porque es activo y reactivo al mismo tiempo
![Page 45: Introducción a los Agentes - eolo.cps.unizar.eseolo.cps.unizar.es/docencia/masterserviciosweb/WebSemantica1... · Problemade razonamiento: cómo razonar con ellos El agente decide](https://reader034.vdocuments.net/reader034/viewer/2022051405/5a7a41727f8b9ac3118befc4/html5/thumbnails/45.jpg)
Híbridas: PRS (II)
Bucle de control:Determinar las creencias actuales, objetivos e intenciones
Encontrar planes aplicables en las circunstanciasactuales (biblioteca de planes)
Decidir qué plan aplicar
Ejecutar el plan
![Page 46: Introducción a los Agentes - eolo.cps.unizar.eseolo.cps.unizar.es/docencia/masterserviciosweb/WebSemantica1... · Problemade razonamiento: cómo razonar con ellos El agente decide](https://reader034.vdocuments.net/reader034/viewer/2022051405/5a7a41727f8b9ac3118befc4/html5/thumbnails/46.jpg)
Sistemas multiagenteRed de agentes software que interactúan pararesolver problemas que van más allá de lascapacidades individuales o del conocimiento de cadauno (K. Sycara)
Capaces de desarrollar acciones autónomas parala realización de sus tareasCapaces de interaccionar (comunicarse, cooperar, coordinar, negociar) con otros para realizar sustareas
Comunicación:ACLs: KQML, FIPA-ACL, …Intercambio de conocimiento
![Page 47: Introducción a los Agentes - eolo.cps.unizar.eseolo.cps.unizar.es/docencia/masterserviciosweb/WebSemantica1... · Problemade razonamiento: cómo razonar con ellos El agente decide](https://reader034.vdocuments.net/reader034/viewer/2022051405/5a7a41727f8b9ac3118befc4/html5/thumbnails/47.jpg)
Ejemplos de Aplicaciones (I)Resolución cooperativa de problemas e Inteligencia Artificial Distribuida
Control de tráfico aéreoRecuperación de información Fabricación asistida por computadorLogísticaControl de procesos de negocioComercio electrónico
Agentes Interface (asistentes personales)Filtro de noticias interesantes o de emailsAgentes “secretarios” (ej., planificación de reuniones)Trabajo cooperativo
![Page 48: Introducción a los Agentes - eolo.cps.unizar.eseolo.cps.unizar.es/docencia/masterserviciosweb/WebSemantica1... · Problemade razonamiento: cómo razonar con ellos El agente decide](https://reader034.vdocuments.net/reader034/viewer/2022051405/5a7a41727f8b9ac3118befc4/html5/thumbnails/48.jpg)
Ejemplos de Aplicaciones (II)
Agentes de información y sistemas de información cooperativos:
Muchas fuentes de datos heterogéneas, distribuidas y dinámicas (bases de datos, otros agentes, etc.)
Juegos de ordenador, realidad virtual, cine interactivo
Agentes “creíbles”, con emociones, que parezcan reales
![Page 49: Introducción a los Agentes - eolo.cps.unizar.eseolo.cps.unizar.es/docencia/masterserviciosweb/WebSemantica1... · Problemade razonamiento: cómo razonar con ellos El agente decide](https://reader034.vdocuments.net/reader034/viewer/2022051405/5a7a41727f8b9ac3118befc4/html5/thumbnails/49.jpg)
Ejemplos de Aplicaciones (III)
Sistemas complejosLos agentes son una abstracción útil (módulos autónomos especializados en resolver ciertos problemas)Permite abordar un diseño desde un punto de vista de especialistas que cooperan
Computación ubicuaAgentes autónomos (con un objetivo + o - claro)Proactivos (sugieren al usuario)Reactivos (al entorno y necesidades del usuario)Adaptativo (a las preferencias del usuario)
![Page 50: Introducción a los Agentes - eolo.cps.unizar.eseolo.cps.unizar.es/docencia/masterserviciosweb/WebSemantica1... · Problemade razonamiento: cómo razonar con ellos El agente decide](https://reader034.vdocuments.net/reader034/viewer/2022051405/5a7a41727f8b9ac3118befc4/html5/thumbnails/50.jpg)
Ejemplos de Aplicaciones (IV)
Encapsulación de sistemas legados
Incorporándolos así en una comunidad de cooperación, permitiendo que otros componentes software los utilicen
Agent wrapper, agentification
![Page 51: Introducción a los Agentes - eolo.cps.unizar.eseolo.cps.unizar.es/docencia/masterserviciosweb/WebSemantica1... · Problemade razonamiento: cómo razonar con ellos El agente decide](https://reader034.vdocuments.net/reader034/viewer/2022051405/5a7a41727f8b9ac3118befc4/html5/thumbnails/51.jpg)
Algunos Inconvenientes
No hay perspectiva globalEl control del sistema está distribuidoEl comportamiento detallado del agente sólo puede precisarse en tiempo de ejecuciónEl comportamiento del sistema emerge sólo en tiempo de ejecución
Dudas respecto a su uso en sistemas críticos (como control de tráfico aéreo)
![Page 52: Introducción a los Agentes - eolo.cps.unizar.eseolo.cps.unizar.es/docencia/masterserviciosweb/WebSemantica1... · Problemade razonamiento: cómo razonar con ellos El agente decide](https://reader034.vdocuments.net/reader034/viewer/2022051405/5a7a41727f8b9ac3118befc4/html5/thumbnails/52.jpg)
www.multiagent.comAkiraAgent FactoryBee-gent FrameworkCougaarExcaliburJADE, Jadex BDIJATLiteJava Communicating Agents
JACKJESSMAPOAAPRSSIM_AGENTZeusAgent UMLBB1
![Page 53: Introducción a los Agentes - eolo.cps.unizar.eseolo.cps.unizar.es/docencia/masterserviciosweb/WebSemantica1... · Problemade razonamiento: cómo razonar con ellos El agente decide](https://reader034.vdocuments.net/reader034/viewer/2022051405/5a7a41727f8b9ac3118befc4/html5/thumbnails/53.jpg)
Referencias (I)An Introduction to MultiAgent Systems, Michael Wooldridge, John Wiley and Sons, 2002
Multiagent Systems: Where game theory, artificial intelligence, distributed programming, and the semantic web meet:http://www.multiagent.com/
AgentLink.org: European Co-ordination Action for Agent-Based Computing:http://www.agentlink.org/
Is it an Agent, or just a Program?: A Taxonomy for Autonomous Agents, Stan Franklin and Art Graesser. Third International Workshop on Agent Theories, Architectures, and Languages, Springer-Verlag, 1996.
![Page 54: Introducción a los Agentes - eolo.cps.unizar.eseolo.cps.unizar.es/docencia/masterserviciosweb/WebSemantica1... · Problemade razonamiento: cómo razonar con ellos El agente decide](https://reader034.vdocuments.net/reader034/viewer/2022051405/5a7a41727f8b9ac3118befc4/html5/thumbnails/54.jpg)
Referencias (II)Intelligent Agents: Theory and Practice, M. J. Wooldridge and N. R. Jennings, (1995), The Knowledge Engineering Review 10 (2) 115-152:http://www.csc.liv.ac.uk/~mjw/pubs/ker95.pdf
Agent-Based Software Development (slides), Michael Luck, Ronald Ashri, Mark d’Inverno:http://www.ecs.soton.ac.uk/~mml/absd/contents.html
UMBC AgentWeb:http://www.cs.umbc.edu/aw/
Enlaces de agentes:http://sid.cps.unizar.es/SILARRI/LINKS/agents.html
![Page 55: Introducción a los Agentes - eolo.cps.unizar.eseolo.cps.unizar.es/docencia/masterserviciosweb/WebSemantica1... · Problemade razonamiento: cómo razonar con ellos El agente decide](https://reader034.vdocuments.net/reader034/viewer/2022051405/5a7a41727f8b9ac3118befc4/html5/thumbnails/55.jpg)
Fin
![Page 56: Introducción a los Agentes - eolo.cps.unizar.eseolo.cps.unizar.es/docencia/masterserviciosweb/WebSemantica1... · Problemade razonamiento: cómo razonar con ellos El agente decide](https://reader034.vdocuments.net/reader034/viewer/2022051405/5a7a41727f8b9ac3118befc4/html5/thumbnails/56.jpg)
Estándares de Agentes
Máster en Servicios Web y Comercio ElectrónicoCurso 2006/2007
Curso de Web Semántica
Sergio Ilarri [email protected]
![Page 57: Introducción a los Agentes - eolo.cps.unizar.eseolo.cps.unizar.es/docencia/masterserviciosweb/WebSemantica1... · Problemade razonamiento: cómo razonar con ellos El agente decide](https://reader034.vdocuments.net/reader034/viewer/2022051405/5a7a41727f8b9ac3118befc4/html5/thumbnails/57.jpg)
Índice
IntroducciónKQMLFIPAMASIF (agentes móviles)¿Otras propuestas?
![Page 58: Introducción a los Agentes - eolo.cps.unizar.eseolo.cps.unizar.es/docencia/masterserviciosweb/WebSemantica1... · Problemade razonamiento: cómo razonar con ellos El agente decide](https://reader034.vdocuments.net/reader034/viewer/2022051405/5a7a41727f8b9ac3118befc4/html5/thumbnails/58.jpg)
![Page 59: Introducción a los Agentes - eolo.cps.unizar.eseolo.cps.unizar.es/docencia/masterserviciosweb/WebSemantica1... · Problemade razonamiento: cómo razonar con ellos El agente decide](https://reader034.vdocuments.net/reader034/viewer/2022051405/5a7a41727f8b9ac3118befc4/html5/thumbnails/59.jpg)
Necesidades
Para que dos agentes puedan “hablar”:Sintaxis común (ej. KIF)Semántica común (ej. Ontolingua)
Interpretación de mensajesOntologías comunes
Pragmática común (ej. KQML)Saber con quién hablar y cómo encontrarloSaber cómo iniciar y mantener una conversación
![Page 60: Introducción a los Agentes - eolo.cps.unizar.eseolo.cps.unizar.es/docencia/masterserviciosweb/WebSemantica1... · Problemade razonamiento: cómo razonar con ellos El agente decide](https://reader034.vdocuments.net/reader034/viewer/2022051405/5a7a41727f8b9ac3118befc4/html5/thumbnails/60.jpg)
Pig!!!
Bitch!Pig!
Je, je
Fuente: “A New Ph.D. Program in Computational Transportation Science”, Ouri Wolfson
La semántica es importante
![Page 61: Introducción a los Agentes - eolo.cps.unizar.eseolo.cps.unizar.es/docencia/masterserviciosweb/WebSemantica1... · Problemade razonamiento: cómo razonar con ellos El agente decide](https://reader034.vdocuments.net/reader034/viewer/2022051405/5a7a41727f8b9ac3118befc4/html5/thumbnails/61.jpg)
Teoría Actos del Habla (I)
Estudia el lenguaje como acciónLos hablantes realizan “actos del habla”(informar, preguntar, sugerir, etc.), no sólo expresan sentencias verdaderas o falsasEs decir, tienen una intención, pretenden conseguir un efecto en el oyenteIdentificar el acto del habla es imprescindible para una buena comunicación
![Page 62: Introducción a los Agentes - eolo.cps.unizar.eseolo.cps.unizar.es/docencia/masterserviciosweb/WebSemantica1... · Problemade razonamiento: cómo razonar con ellos El agente decide](https://reader034.vdocuments.net/reader034/viewer/2022051405/5a7a41727f8b9ac3118befc4/html5/thumbnails/62.jpg)
Teoría Actos del Habla (II)
En un acto del habla hay 3 elementos:Locución: contexto Ilocución: intenciónPerlocución: acto resultado
Ejemplo: “Cierra la ventana”Locución: quién es el emisor, hay ventana abierta, etc.Ilocución: el emisor quiere que el receptor cierre la ventanaPerlocución: el receptor cierra o no la ventana
![Page 63: Introducción a los Agentes - eolo.cps.unizar.eseolo.cps.unizar.es/docencia/masterserviciosweb/WebSemantica1... · Problemade razonamiento: cómo razonar con ellos El agente decide](https://reader034.vdocuments.net/reader034/viewer/2022051405/5a7a41727f8b9ac3118befc4/html5/thumbnails/63.jpg)
Comunicación entre Agentes
Fuente: Software Agent Technology, Summary Lecture, Heimo Laamanen, 2.5.2006
![Page 64: Introducción a los Agentes - eolo.cps.unizar.eseolo.cps.unizar.es/docencia/masterserviciosweb/WebSemantica1... · Problemade razonamiento: cómo razonar con ellos El agente decide](https://reader034.vdocuments.net/reader034/viewer/2022051405/5a7a41727f8b9ac3118befc4/html5/thumbnails/64.jpg)
![Page 65: Introducción a los Agentes - eolo.cps.unizar.eseolo.cps.unizar.es/docencia/masterserviciosweb/WebSemantica1... · Problemade razonamiento: cómo razonar con ellos El agente decide](https://reader034.vdocuments.net/reader034/viewer/2022051405/5a7a41727f8b9ac3118befc4/html5/thumbnails/65.jpg)
Introducción (I)
Knowledge Query and Manipulation Language
Lenguaje y protocolo de comunicación de alto nivel orientado a mensajes para intercambio de información y conocimiento
Parte del ARPA Knowledge Sharing Effort(KSE), junto con KIF (Knowledge InterchangeFormat)
![Page 66: Introducción a los Agentes - eolo.cps.unizar.eseolo.cps.unizar.es/docencia/masterserviciosweb/WebSemantica1... · Problemade razonamiento: cómo razonar con ellos El agente decide](https://reader034.vdocuments.net/reader034/viewer/2022051405/5a7a41727f8b9ac3118befc4/html5/thumbnails/66.jpg)
Introducción (II)
Independiente de:
Mecanismo de transporte: TCP/IP, SMTP, IIOP, etc.
Lenguaje del contenido
Ontología asumida por el contenido
![Page 67: Introducción a los Agentes - eolo.cps.unizar.eseolo.cps.unizar.es/docencia/masterserviciosweb/WebSemantica1... · Problemade razonamiento: cómo razonar con ellos El agente decide](https://reader034.vdocuments.net/reader034/viewer/2022051405/5a7a41727f8b9ac3118befc4/html5/thumbnails/67.jpg)
Niveles en KQML
Organización en tres niveles:1) Contenido
Lenguajes de representación: texto, binario,
KIF, SQL, STEP, Prolog, etc.
2) ComunicaciónEmisor, receptor, id. de mensaje, etc.
3) MensajeCodifica los mensajes
![Page 68: Introducción a los Agentes - eolo.cps.unizar.eseolo.cps.unizar.es/docencia/masterserviciosweb/WebSemantica1... · Problemade razonamiento: cómo razonar con ellos El agente decide](https://reader034.vdocuments.net/reader034/viewer/2022051405/5a7a41727f8b9ac3118befc4/html5/thumbnails/68.jpg)
Ejemplo de Petición en KQML
(ask-one:sender joe:content (PRICE IBM ?price):receiver stock-server:reply-with ibm-stock:language LPROLOG:ontology NYSE-TICKS)
Sintaxis basada en las s-expresiones de Lisp
![Page 69: Introducción a los Agentes - eolo.cps.unizar.eseolo.cps.unizar.es/docencia/masterserviciosweb/WebSemantica1... · Problemade razonamiento: cómo razonar con ellos El agente decide](https://reader034.vdocuments.net/reader034/viewer/2022051405/5a7a41727f8b9ac3118befc4/html5/thumbnails/69.jpg)
Ejemplo de Petición en KQML
(ask-one:sender joe:content (PRICE IBM ?price):receiver stock-server:reply-with ibm-stock:language LPROLOG:ontology NYSE-TICKS)
Performative
![Page 70: Introducción a los Agentes - eolo.cps.unizar.eseolo.cps.unizar.es/docencia/masterserviciosweb/WebSemantica1... · Problemade razonamiento: cómo razonar con ellos El agente decide](https://reader034.vdocuments.net/reader034/viewer/2022051405/5a7a41727f8b9ac3118befc4/html5/thumbnails/70.jpg)
Ejemplo de Petición en KQML
(ask-one:sender joe:content (PRICE IBM ?price):receiver stock-server:reply-with ibm-stock:language LPROLOG:ontology NYSE-TICKS)
Argumentos: pares palabra clave/valor
![Page 71: Introducción a los Agentes - eolo.cps.unizar.eseolo.cps.unizar.es/docencia/masterserviciosweb/WebSemantica1... · Problemade razonamiento: cómo razonar con ellos El agente decide](https://reader034.vdocuments.net/reader034/viewer/2022051405/5a7a41727f8b9ac3118befc4/html5/thumbnails/71.jpg)
Ejemplo de Petición en KQML
(ask-one:sender joe:content (PRICE IBM ?price):receiver stock-server:reply-with ibm-stock:language LPROLOG:ontology NYSE-TICKS)
Nivel de contenido
![Page 72: Introducción a los Agentes - eolo.cps.unizar.eseolo.cps.unizar.es/docencia/masterserviciosweb/WebSemantica1... · Problemade razonamiento: cómo razonar con ellos El agente decide](https://reader034.vdocuments.net/reader034/viewer/2022051405/5a7a41727f8b9ac3118befc4/html5/thumbnails/72.jpg)
Ejemplo de Petición en KQML
(ask-one:sender joe:content (PRICE IBM ?price):receiver stock-server:reply-with ibm-stock:language LPROLOG:ontology NYSE-TICKS)
Nivel de comunicación
![Page 73: Introducción a los Agentes - eolo.cps.unizar.eseolo.cps.unizar.es/docencia/masterserviciosweb/WebSemantica1... · Problemade razonamiento: cómo razonar con ellos El agente decide](https://reader034.vdocuments.net/reader034/viewer/2022051405/5a7a41727f8b9ac3118befc4/html5/thumbnails/73.jpg)
Ejemplo de Petición en KQML
(ask-one:sender joe:content (PRICE IBM ?price):receiver stock-server:reply-with ibm-stock:language LPROLOG:ontology NYSE-TICKS)
Nivel de mensaje
![Page 74: Introducción a los Agentes - eolo.cps.unizar.eseolo.cps.unizar.es/docencia/masterserviciosweb/WebSemantica1... · Problemade razonamiento: cómo razonar con ellos El agente decide](https://reader034.vdocuments.net/reader034/viewer/2022051405/5a7a41727f8b9ac3118befc4/html5/thumbnails/74.jpg)
Ejemplo de Petición en KQML
(ask-one:sender joe:content “price(IBM, [?price, ?time])”:receiver stock-server:reply-with ibm-stock:language standard_prolog:ontology NYSE-TICKS)
Usando Prolog estándar
![Page 75: Introducción a los Agentes - eolo.cps.unizar.eseolo.cps.unizar.es/docencia/masterserviciosweb/WebSemantica1... · Problemade razonamiento: cómo razonar con ellos El agente decide](https://reader034.vdocuments.net/reader034/viewer/2022051405/5a7a41727f8b9ac3118befc4/html5/thumbnails/75.jpg)
Ejemplo de Petición en KQML
(ask-all:sender joe:content “price(IBM, [?price, ?time])”:receiver stock-server:reply-with ibm-stock:language standard_prolog:ontology NYSE-TICKS)
Podemos pedir un conjuntode respuestas
![Page 76: Introducción a los Agentes - eolo.cps.unizar.eseolo.cps.unizar.es/docencia/masterserviciosweb/WebSemantica1... · Problemade razonamiento: cómo razonar con ellos El agente decide](https://reader034.vdocuments.net/reader034/viewer/2022051405/5a7a41727f8b9ac3118befc4/html5/thumbnails/76.jpg)
Ejemplo de Petición en KQML
(stream-all:sender joe:content (PRICE ?VL ?price)…)
Si ?VL es un gran conjuntode símbolos
![Page 77: Introducción a los Agentes - eolo.cps.unizar.eseolo.cps.unizar.es/docencia/masterserviciosweb/WebSemantica1... · Problemade razonamiento: cómo razonar con ellos El agente decide](https://reader034.vdocuments.net/reader034/viewer/2022051405/5a7a41727f8b9ac3118befc4/html5/thumbnails/77.jpg)
Ejemplo de Petición en KQML
(standby:content (stream-all
:sender joe:content (PRICE ?VL ?price)…)
)
-standby espera en contenido un mensaje KQML-next/reply-discard/rest
![Page 78: Introducción a los Agentes - eolo.cps.unizar.eseolo.cps.unizar.es/docencia/masterserviciosweb/WebSemantica1... · Problemade razonamiento: cómo razonar con ellos El agente decide](https://reader034.vdocuments.net/reader034/viewer/2022051405/5a7a41727f8b9ac3118befc4/html5/thumbnails/78.jpg)
Ejemplo de Petición en KQML
(generate:sender joe:content (PRICE ?VL ?price)…)
Abreviatura de lo anterior
![Page 79: Introducción a los Agentes - eolo.cps.unizar.eseolo.cps.unizar.es/docencia/masterserviciosweb/WebSemantica1... · Problemade razonamiento: cómo razonar con ellos El agente decide](https://reader034.vdocuments.net/reader034/viewer/2022051405/5a7a41727f8b9ac3118befc4/html5/thumbnails/79.jpg)
Ejemplo de Petición en KQML(subscribe:content (stream-all
:content (PRICE ?VL ?price))…)
(monitor:content (PRICE ?VL ?price)…)
subscribe perfomative
monitor perfomativeAbreviatura de la anterior
![Page 80: Introducción a los Agentes - eolo.cps.unizar.eseolo.cps.unizar.es/docencia/masterserviciosweb/WebSemantica1... · Problemade razonamiento: cómo razonar con ellos El agente decide](https://reader034.vdocuments.net/reader034/viewer/2022051405/5a7a41727f8b9ac3118befc4/html5/thumbnails/80.jpg)
Ontologías
Un vocabulario y significados comunes
Utiliza símbolos/términos para referirse a objetos, atributos y relaciones
Utiliza reglas/restricciones para capturar aspectos significativos del dominio
![Page 81: Introducción a los Agentes - eolo.cps.unizar.eseolo.cps.unizar.es/docencia/masterserviciosweb/WebSemantica1... · Problemade razonamiento: cómo razonar con ellos El agente decide](https://reader034.vdocuments.net/reader034/viewer/2022051405/5a7a41727f8b9ac3118befc4/html5/thumbnails/81.jpg)
Ontologías: Ejemplofruta
manzana cítrico
lima limón naranja
-Un agente le pide a otro que le busque fotos de cítricos
-No encuentra fotos de cítricos, pero sabe que los limones son cítricos y sí que encuentra fotos de limones
![Page 82: Introducción a los Agentes - eolo.cps.unizar.eseolo.cps.unizar.es/docencia/masterserviciosweb/WebSemantica1... · Problemade razonamiento: cómo razonar con ellos El agente decide](https://reader034.vdocuments.net/reader034/viewer/2022051405/5a7a41727f8b9ac3118befc4/html5/thumbnails/82.jpg)
Performatives en KQMLIndican el tipo de mensaje: afirmación, consulta, petición, etc.También llamados actos de comunicación (speech acts)
Aunque en KQML no se usa este término
Teoría de los actos de comunicación:Teoría sobre cómo las expresiones verbales se utilizan para lograr ciertas intencionesSon “acciones” en el sentido de que pretenden lograr un cambio
![Page 83: Introducción a los Agentes - eolo.cps.unizar.eseolo.cps.unizar.es/docencia/masterserviciosweb/WebSemantica1... · Problemade razonamiento: cómo razonar con ellos El agente decide](https://reader034.vdocuments.net/reader034/viewer/2022051405/5a7a41727f8b9ac3118befc4/html5/thumbnails/83.jpg)
Atributos Reservados
Nombre Breve Descripción
:content La información contenida en el mensaje
:sender El emisor del mensaje
:receiver El receptor del mensaje
:languageEl nombre de lenguaje de representación utilizado en el atributo :content
:ontology El nombre de la ontología utilizada en el atributo :content
:reply-with Etiqueta para la respuesta
:in-reply-to La etiqueta esperada en la respuesta, de acuerdo con :reply-with
![Page 84: Introducción a los Agentes - eolo.cps.unizar.eseolo.cps.unizar.es/docencia/masterserviciosweb/WebSemantica1... · Problemade razonamiento: cómo razonar con ellos El agente decide](https://reader034.vdocuments.net/reader034/viewer/2022051405/5a7a41727f8b9ac3118befc4/html5/thumbnails/84.jpg)
Performatives (I)
Categoría TiposInformación tell, untell
Consulta evaluate, reply, ask-if, ask-about, ask-one, ask-all, sorryConsulta con respuesta múltiple stream-about, stream-all
Orden achieve, unachieve
Control de respuestas standby, ready, next, rest, discard
Capacidad advertise
Notificación subscribe, monitor
Red register, unregister, forward, broadcast, pipe, break
Facilitaciónbroker-one, broker-all, recommend-one, recommend-all, recruit-one, recruit-all
![Page 85: Introducción a los Agentes - eolo.cps.unizar.eseolo.cps.unizar.es/docencia/masterserviciosweb/WebSemantica1... · Problemade razonamiento: cómo razonar con ellos El agente decide](https://reader034.vdocuments.net/reader034/viewer/2022051405/5a7a41727f8b9ac3118befc4/html5/thumbnails/85.jpg)
Performatives (II)
Nombre Breve Descripción
tell Se comunica una información al agente destino
evaluate Se pide al agente destino que evalúe una expresión
reply Se comunica al agente una respuesta que espera
ask-if Se pregunta al agente destino si sabe si cierto hecho es cierto
ask-about Se pregunta al agente destino todo lo que sepa acerca de una cierta expresión
ask-one Se hace una pregunta al agente destino
stream-about Versión en respuesta múltiple de ask-aboutachieve Se pide al destino que convierta en verdadera la expresión comunicada
Ejemplos
![Page 86: Introducción a los Agentes - eolo.cps.unizar.eseolo.cps.unizar.es/docencia/masterserviciosweb/WebSemantica1... · Problemade razonamiento: cómo razonar con ellos El agente decide](https://reader034.vdocuments.net/reader034/viewer/2022051405/5a7a41727f8b9ac3118befc4/html5/thumbnails/86.jpg)
Performatives (III)
Nombre Breve Descripción
standby Se indica que se queda a la espera de respuestas
ready Indica que se está preparado para responder a un mensaje
nextSe pide la devolución de la siguiente respuesta de una pregunta con respuesta múltiple
advertiseAnuncia que se está preparado para responder a una determinada performative
register Se indica al destino la presencia y el nombre simbólico
broadcast Se pide al destino que envíe a todos los agentes que conozca
recommend-oneSe pide al destino la recomendación de un agente que pueda responder
recruit-one Se pide al destino un agente que pueda responder
Ejemplos
![Page 87: Introducción a los Agentes - eolo.cps.unizar.eseolo.cps.unizar.es/docencia/masterserviciosweb/WebSemantica1... · Problemade razonamiento: cómo razonar con ellos El agente decide](https://reader034.vdocuments.net/reader034/viewer/2022051405/5a7a41727f8b9ac3118befc4/html5/thumbnails/87.jpg)
Ejemplo I
Pregunta
(ask-one :content (interested ‘(sobre, bloqueA, ?x)):language KIF :ontology bloques :reply-with q1)
Respuesta
(reply :content (sobre bloqueA bloqueB) :language KIF :ontology bloques :in-reply-to q1)
![Page 88: Introducción a los Agentes - eolo.cps.unizar.eseolo.cps.unizar.es/docencia/masterserviciosweb/WebSemantica1... · Problemade razonamiento: cómo razonar con ellos El agente decide](https://reader034.vdocuments.net/reader034/viewer/2022051405/5a7a41727f8b9ac3118befc4/html5/thumbnails/88.jpg)
Ejemplo IIPregunta
(stream-about :content bloqueA :language KIF :ontology bloques :reply-with q1)
Respuestas
(tell :content (sobre bloqueA bloqueB) :language KIF :ontology bloques :in-reply-to q1)
(tell :content (sobre mesa bloqueA) :language KIF ::ontology bloques :in-reply-to q1)
(sorry :in-reply-to q1)
![Page 89: Introducción a los Agentes - eolo.cps.unizar.eseolo.cps.unizar.es/docencia/masterserviciosweb/WebSemantica1... · Problemade razonamiento: cómo razonar con ellos El agente decide](https://reader034.vdocuments.net/reader034/viewer/2022051405/5a7a41727f8b9ac3118befc4/html5/thumbnails/89.jpg)
Ejemplo III
Pregunta
(achieve :content (sobre mesa bloqueB) :language KIF:ontology bloques :reply-with q1)
Respuesta (tras hacer la tarea pertinente)
(tell :language KIF :ontology bloques :in-reply-to q1 :content (sobre mesa bloqueB))
![Page 90: Introducción a los Agentes - eolo.cps.unizar.eseolo.cps.unizar.es/docencia/masterserviciosweb/WebSemantica1... · Problemade razonamiento: cómo razonar con ellos El agente decide](https://reader034.vdocuments.net/reader034/viewer/2022051405/5a7a41727f8b9ac3118befc4/html5/thumbnails/90.jpg)
Criterio de DiseñoQue KQML pueda soportar una gran variedad de arquitecturas de agentes:
Pequeño número de performativesRouters KQML:
Punto de contacto entre el agente y la red (entrada/salida de mensajes)
Agentes facilitadores de comunicaciónPara el envío de mensajes cuyo destino no se especifica con precisión:
Registro de nombres de serviciosCada router se anuncia a su facilitador local
![Page 91: Introducción a los Agentes - eolo.cps.unizar.eseolo.cps.unizar.es/docencia/masterserviciosweb/WebSemantica1... · Problemade razonamiento: cómo razonar con ellos El agente decide](https://reader034.vdocuments.net/reader034/viewer/2022051405/5a7a41727f8b9ac3118befc4/html5/thumbnails/91.jpg)
Algunos Protocolos Básicos
Agente 1 Agente 2ask-onereply
Agente 1 Agente 2
subscribereply
replyreply
![Page 92: Introducción a los Agentes - eolo.cps.unizar.eseolo.cps.unizar.es/docencia/masterserviciosweb/WebSemantica1... · Problemade razonamiento: cómo razonar con ellos El agente decide](https://reader034.vdocuments.net/reader034/viewer/2022051405/5a7a41727f8b9ac3118befc4/html5/thumbnails/92.jpg)
Algunos Protocolos Básicos
Agente 1 Agente 2
query (ej., stream-all)
manejador
next
reply
next
reply
![Page 93: Introducción a los Agentes - eolo.cps.unizar.eseolo.cps.unizar.es/docencia/masterserviciosweb/WebSemantica1... · Problemade razonamiento: cómo razonar con ellos El agente decide](https://reader034.vdocuments.net/reader034/viewer/2022051405/5a7a41727f8b9ac3118befc4/html5/thumbnails/93.jpg)
Agentes Facilitadores de Comunicación
Clase de agentes especial que realiza diversos tipos de servicios de comunicación como:
Mantener un registro de nombres de serviciosEnviar mensajes a servicios con nombreEncaminar mensajes en función del contenidoEmparejar proveedores de información y clientesProporcionar servicios de mediación y traducción
![Page 94: Introducción a los Agentes - eolo.cps.unizar.eseolo.cps.unizar.es/docencia/masterserviciosweb/WebSemantica1... · Problemade razonamiento: cómo razonar con ellos El agente decide](https://reader034.vdocuments.net/reader034/viewer/2022051405/5a7a41727f8b9ac3118befc4/html5/thumbnails/94.jpg)
Ejemplo 1
Tell(X)
F
A B
Ask(X)
Si A conoce a B, puede preguntarle directamente
![Page 95: Introducción a los Agentes - eolo.cps.unizar.eseolo.cps.unizar.es/docencia/masterserviciosweb/WebSemantica1... · Problemade razonamiento: cómo razonar con ellos El agente decide](https://reader034.vdocuments.net/reader034/viewer/2022051405/5a7a41727f8b9ac3118befc4/html5/thumbnails/95.jpg)
Ejemplo 2
tell(X)
Si A no conoce a B, puede preguntar a través del mediador
F
A B
subscribe(ask(X))tell(X)
1
2
3
![Page 96: Introducción a los Agentes - eolo.cps.unizar.eseolo.cps.unizar.es/docencia/masterserviciosweb/WebSemantica1... · Problemade razonamiento: cómo razonar con ellos El agente decide](https://reader034.vdocuments.net/reader034/viewer/2022051405/5a7a41727f8b9ac3118befc4/html5/thumbnails/96.jpg)
Ejemplo 2
tell(X)
Si A no conoce a B, puede preguntar a través del mediador
F
A B
subscribe(ask(X))tell(X)
1
2
3
Performative subscribe
![Page 97: Introducción a los Agentes - eolo.cps.unizar.eseolo.cps.unizar.es/docencia/masterserviciosweb/WebSemantica1... · Problemade razonamiento: cómo razonar con ellos El agente decide](https://reader034.vdocuments.net/reader034/viewer/2022051405/5a7a41727f8b9ac3118befc4/html5/thumbnails/97.jpg)
Ejemplo 3
tell(X)
F
A B
broker(ask(X))tell(X)
advertise(ask(X))
ask(X)
1’
1
2
3
4
Si A no conoce a B, puede preguntar a través del mediador
![Page 98: Introducción a los Agentes - eolo.cps.unizar.eseolo.cps.unizar.es/docencia/masterserviciosweb/WebSemantica1... · Problemade razonamiento: cómo razonar con ellos El agente decide](https://reader034.vdocuments.net/reader034/viewer/2022051405/5a7a41727f8b9ac3118befc4/html5/thumbnails/98.jpg)
Ejemplo 3
tell(X)
F
A B
broker(ask(X))tell(X)
advertise(ask(X))
ask(X)
1’
1
2
3
4
Si A no conoce a B, puede preguntar a través del mediador
Performative broker
![Page 99: Introducción a los Agentes - eolo.cps.unizar.eseolo.cps.unizar.es/docencia/masterserviciosweb/WebSemantica1... · Problemade razonamiento: cómo razonar con ellos El agente decide](https://reader034.vdocuments.net/reader034/viewer/2022051405/5a7a41727f8b9ac3118befc4/html5/thumbnails/99.jpg)
Ejemplo 4
F
A B
recruit(ask(X))advertise(ask(X))
ask(X)
1’
1
2
tell(X)3
![Page 100: Introducción a los Agentes - eolo.cps.unizar.eseolo.cps.unizar.es/docencia/masterserviciosweb/WebSemantica1... · Problemade razonamiento: cómo razonar con ellos El agente decide](https://reader034.vdocuments.net/reader034/viewer/2022051405/5a7a41727f8b9ac3118befc4/html5/thumbnails/100.jpg)
Ejemplo 4
F
A B
recruit(ask(X))advertise(ask(X))
ask(X)
1’
1
2
tell(X)3
Performative recruit
![Page 101: Introducción a los Agentes - eolo.cps.unizar.eseolo.cps.unizar.es/docencia/masterserviciosweb/WebSemantica1... · Problemade razonamiento: cómo razonar con ellos El agente decide](https://reader034.vdocuments.net/reader034/viewer/2022051405/5a7a41727f8b9ac3118befc4/html5/thumbnails/101.jpg)
Ejemplo 4
F
A B
recruit(ask(X))advertise(ask(X))
ask(X)
1’
1
2
tell(X)3
Las respuestas las envía B directamente al agente originalPiensa en el ejemplo: recruit(subscribe(ask-all(x)))
![Page 102: Introducción a los Agentes - eolo.cps.unizar.eseolo.cps.unizar.es/docencia/masterserviciosweb/WebSemantica1... · Problemade razonamiento: cómo razonar con ellos El agente decide](https://reader034.vdocuments.net/reader034/viewer/2022051405/5a7a41727f8b9ac3118befc4/html5/thumbnails/102.jpg)
Ejemplo 5
Frecommend(ask(X))
A B
advertise(ask(X))1’
1
3
2
reply(B)
ask(X)
tell(X)4
![Page 103: Introducción a los Agentes - eolo.cps.unizar.eseolo.cps.unizar.es/docencia/masterserviciosweb/WebSemantica1... · Problemade razonamiento: cómo razonar con ellos El agente decide](https://reader034.vdocuments.net/reader034/viewer/2022051405/5a7a41727f8b9ac3118befc4/html5/thumbnails/103.jpg)
Ejemplo 5
Frecommend(ask(X))
A B
advertise(ask(X))1’
1
3
2
reply(B)
ask(X)
tell(X)4
Performative recommend
![Page 104: Introducción a los Agentes - eolo.cps.unizar.eseolo.cps.unizar.es/docencia/masterserviciosweb/WebSemantica1... · Problemade razonamiento: cómo razonar con ellos El agente decide](https://reader034.vdocuments.net/reader034/viewer/2022051405/5a7a41727f8b9ac3118befc4/html5/thumbnails/104.jpg)
Lenguajes de Contenido
Knowledge Interchange Format (KIF)
Knowledge Representation SpecificationLanguage (KRSL)
Lenguajes más tradicionales como SQL, etc.
![Page 105: Introducción a los Agentes - eolo.cps.unizar.eseolo.cps.unizar.es/docencia/masterserviciosweb/WebSemantica1... · Problemade razonamiento: cómo razonar con ellos El agente decide](https://reader034.vdocuments.net/reader034/viewer/2022051405/5a7a41727f8b9ac3118befc4/html5/thumbnails/105.jpg)
Lenguajes de Contenido: KIFKnowledge Interchange FormatVersión extendida de una lógica de predicados de primer orden Ampliamente usado entre sistemas basados en el conocimientoEjemplos (notación prefija):
(exists ?person (mother mary ?person))(=> (apple ?x) (red ?x))(forall ?x (=> (P ?x) (Q ?x)))
![Page 106: Introducción a los Agentes - eolo.cps.unizar.eseolo.cps.unizar.es/docencia/masterserviciosweb/WebSemantica1... · Problemade razonamiento: cómo razonar con ellos El agente decide](https://reader034.vdocuments.net/reader034/viewer/2022051405/5a7a41727f8b9ac3118befc4/html5/thumbnails/106.jpg)
Semántica en KQMLInicialmente, definida sólo parcialmente de modo informalElementos:
PrecondicionesPara que un agente envíe una performativePara que otro agente la reciba y procese con éxito (si no, devuelve error o sorry)
PostcondicionesEstado posterior de emisor y receptor
Condición de finalización
Lenguaje de actitudes mentales: creencia, conocimiento, deseo e intención
![Page 107: Introducción a los Agentes - eolo.cps.unizar.eseolo.cps.unizar.es/docencia/masterserviciosweb/WebSemantica1... · Problemade razonamiento: cómo razonar con ellos El agente decide](https://reader034.vdocuments.net/reader034/viewer/2022051405/5a7a41727f8b9ac3118befc4/html5/thumbnails/107.jpg)
![Page 108: Introducción a los Agentes - eolo.cps.unizar.eseolo.cps.unizar.es/docencia/masterserviciosweb/WebSemantica1... · Problemade razonamiento: cómo razonar con ellos El agente decide](https://reader034.vdocuments.net/reader034/viewer/2022051405/5a7a41727f8b9ac3118befc4/html5/thumbnails/108.jpg)
Introducción
robots, humanos
Foundation for Intelligent PhysicalAgentsAsociación sin ánimo de lucroObjetivo: promover la utilización de la tecnología de agentes y desarrollar especificaciones para posibilitar la interoperabilidad entre sistemas
![Page 109: Introducción a los Agentes - eolo.cps.unizar.eseolo.cps.unizar.es/docencia/masterserviciosweb/WebSemantica1... · Problemade razonamiento: cómo razonar con ellos El agente decide](https://reader034.vdocuments.net/reader034/viewer/2022051405/5a7a41727f8b9ac3118befc4/html5/thumbnails/109.jpg)
Especificaciones FIPA (I)
![Page 110: Introducción a los Agentes - eolo.cps.unizar.eseolo.cps.unizar.es/docencia/masterserviciosweb/WebSemantica1... · Problemade razonamiento: cómo razonar con ellos El agente decide](https://reader034.vdocuments.net/reader034/viewer/2022051405/5a7a41727f8b9ac3118befc4/html5/thumbnails/110.jpg)
Especificaciones FIPA (II)
FIPA ACL Message Structure Specification (2002-12-06)FIPA Ontology Service Specification (2001-08-15, experimental)
![Page 111: Introducción a los Agentes - eolo.cps.unizar.eseolo.cps.unizar.es/docencia/masterserviciosweb/WebSemantica1... · Problemade razonamiento: cómo razonar con ellos El agente decide](https://reader034.vdocuments.net/reader034/viewer/2022051405/5a7a41727f8b9ac3118befc4/html5/thumbnails/111.jpg)
Especificaciones FIPA (III)
Protocolos de interacciónContract Net, Iterated Contract Net, Subscribe, Request, etc.
Actos de comunicación (2002-12-06)
accept, agree, confirm, query, query-ref, etc.
Lenguajes de contenidoSL (Semantic Language, 2006), CCL (Constraint ChoiceLanguage , 2001), KIF (Knowledge Interchange Format, 2003), RDF (Resource Description Framework , 2001)
![Page 112: Introducción a los Agentes - eolo.cps.unizar.eseolo.cps.unizar.es/docencia/masterserviciosweb/WebSemantica1... · Problemade razonamiento: cómo razonar con ellos El agente decide](https://reader034.vdocuments.net/reader034/viewer/2022051405/5a7a41727f8b9ac3118befc4/html5/thumbnails/112.jpg)
Especificaciones FIPA (IV)
Gestión de agentesFIPA Agent Management Specification (2004-03-18)
Creación, registro, deregistro, búsqueda, comunicación, movimientos, etc.
FIPA Agent Discovery Service Specification(2003-11-10, preliminar)
Descubrimiento de servicios en redes ad-hoc
FIPA JXTA Discovery Middleware Specification(2003-11-10, preliminar)
![Page 113: Introducción a los Agentes - eolo.cps.unizar.eseolo.cps.unizar.es/docencia/masterserviciosweb/WebSemantica1... · Problemade razonamiento: cómo razonar con ellos El agente decide](https://reader034.vdocuments.net/reader034/viewer/2022051405/5a7a41727f8b9ac3118befc4/html5/thumbnails/113.jpg)
Especificaciones FIPA (V)
Transporte de mensajes de agentesFIPA Agent Message Transport ServiceSpecification (2002/12/03)FIPA Messaging Interoperability ServiceSpecification (2002-04-22, experimental)
Agentes móviles FIPA00087, deprecado en Mayo de 2002
![Page 114: Introducción a los Agentes - eolo.cps.unizar.eseolo.cps.unizar.es/docencia/masterserviciosweb/WebSemantica1... · Problemade razonamiento: cómo razonar con ellos El agente decide](https://reader034.vdocuments.net/reader034/viewer/2022051405/5a7a41727f8b9ac3118befc4/html5/thumbnails/114.jpg)
FIPA ACL (I)Sintaxis similar a KQML
Las primitivas de comunicación se llaman communicative acts (CAs) en lugar de performatives
Para definir la semántica de los CAs, se utiliza SL (Semantic Language)
![Page 115: Introducción a los Agentes - eolo.cps.unizar.eseolo.cps.unizar.es/docencia/masterserviciosweb/WebSemantica1... · Problemade razonamiento: cómo razonar con ellos El agente decide](https://reader034.vdocuments.net/reader034/viewer/2022051405/5a7a41727f8b9ac3118befc4/html5/thumbnails/115.jpg)
FIPA ACL (II)Elementos en SL: creencias, deseos, creencias inciertas, intenciones (primitivas tipo BDI)
La semántica de un CA se especifica mediante fórmulas en SL que describen:
Precondiciones de realización (para el emisor)Efecto racional esperado
Podría producirse o no, según el receptor
![Page 116: Introducción a los Agentes - eolo.cps.unizar.eseolo.cps.unizar.es/docencia/masterserviciosweb/WebSemantica1... · Problemade razonamiento: cómo razonar con ellos El agente decide](https://reader034.vdocuments.net/reader034/viewer/2022051405/5a7a41727f8b9ac3118befc4/html5/thumbnails/116.jpg)
Ejemplo(inform:sender (agent-identifier :name i):receiver (agent-identifier :name j):content ”door( now, open )":language Prolog)
![Page 117: Introducción a los Agentes - eolo.cps.unizar.eseolo.cps.unizar.es/docencia/masterserviciosweb/WebSemantica1... · Problemade razonamiento: cómo razonar con ellos El agente decide](https://reader034.vdocuments.net/reader034/viewer/2022051405/5a7a41727f8b9ac3118befc4/html5/thumbnails/117.jpg)
Ejemplos de CAs¿Está abierta la puerta?
Abre la puerta
De acuerdo, abriré la puerta
La puerta está abierta
No puedo abrir la puerta
No abriré la puerta
Avísame cuando esté abierta la puerta
¿Alguien puede abrirme la puerta?
Puedo abrir la puerta por ti... a un cierto precio
¿Puerta? ¿Qué es eso? Lo siento, no te entiendo
query
request
agree
inform
failure
refuse
subscribe
cfp
propose
not-understood
los básicos
![Page 118: Introducción a los Agentes - eolo.cps.unizar.eseolo.cps.unizar.es/docencia/masterserviciosweb/WebSemantica1... · Problemade razonamiento: cómo razonar con ellos El agente decide](https://reader034.vdocuments.net/reader034/viewer/2022051405/5a7a41727f8b9ac3118befc4/html5/thumbnails/118.jpg)
Ejemplo de Interacción: Query Interaction Protocol
Otro ejemplo de excepción: not-understood
Excepciones
conversation-id
![Page 119: Introducción a los Agentes - eolo.cps.unizar.eseolo.cps.unizar.es/docencia/masterserviciosweb/WebSemantica1... · Problemade razonamiento: cómo razonar con ellos El agente decide](https://reader034.vdocuments.net/reader034/viewer/2022051405/5a7a41727f8b9ac3118befc4/html5/thumbnails/119.jpg)
KQML vs. FIPA ACL (I)Sintaxis idénticaNo especifican el lenguaje de contenidoDescripción semántica:
KQML (informal)Elementos: precondiciones, postcondiciones, condiciones de finalizaciónLenguaje: creencia, conocimiento, deseo e intención
FIPA (SL)Elementos: precondiciones de realización y efecto racionalLenguaje: creencias, deseos, creencias inciertas, intenciones
![Page 120: Introducción a los Agentes - eolo.cps.unizar.eseolo.cps.unizar.es/docencia/masterserviciosweb/WebSemantica1... · Problemade razonamiento: cómo razonar con ellos El agente decide](https://reader034.vdocuments.net/reader034/viewer/2022051405/5a7a41727f8b9ac3118befc4/html5/thumbnails/120.jpg)
KQML vs. FIPA ACL (II)
FIPA no tiene primitivas de facilitación (variantes de broker, recommend, recruit)
![Page 121: Introducción a los Agentes - eolo.cps.unizar.eseolo.cps.unizar.es/docencia/masterserviciosweb/WebSemantica1... · Problemade razonamiento: cómo razonar con ellos El agente decide](https://reader034.vdocuments.net/reader034/viewer/2022051405/5a7a41727f8b9ac3118befc4/html5/thumbnails/121.jpg)
Plataforma de Agentes FIPA
AMS DF ACC
Plataforma de transporte de mensajes
AAagentes
AP (Agent Platform)Los agentes residen en plataformas de agentes, que proporcionan ciertosservicios
IIOP
![Page 122: Introducción a los Agentes - eolo.cps.unizar.eseolo.cps.unizar.es/docencia/masterserviciosweb/WebSemantica1... · Problemade razonamiento: cómo razonar con ellos El agente decide](https://reader034.vdocuments.net/reader034/viewer/2022051405/5a7a41727f8b9ac3118befc4/html5/thumbnails/122.jpg)
Plataforma de Agentes FIPA
AMS DF ACC
Plataforma de transporte de mensajes
AAagentes
AMS (Agent Management System): agente que proporciona servicios de gestión del ciclo de vida (creación, borrado, pausa, etc.), servicio de nombres(registro y búsqueda) y autentificación
IIOP
![Page 123: Introducción a los Agentes - eolo.cps.unizar.eseolo.cps.unizar.es/docencia/masterserviciosweb/WebSemantica1... · Problemade razonamiento: cómo razonar con ellos El agente decide](https://reader034.vdocuments.net/reader034/viewer/2022051405/5a7a41727f8b9ac3118befc4/html5/thumbnails/123.jpg)
Plataforma de Agentes FIPA
AMS DF ACC
Plataforma de transporte de mensajes
AAagentes
DF (Directory Facilitator): agente que proporciona un servicio de páginas amarillas, que describe losatributos y capacidades de los agentes de la plataforma
IIOP
![Page 124: Introducción a los Agentes - eolo.cps.unizar.eseolo.cps.unizar.es/docencia/masterserviciosweb/WebSemantica1... · Problemade razonamiento: cómo razonar con ellos El agente decide](https://reader034.vdocuments.net/reader034/viewer/2022051405/5a7a41727f8b9ac3118befc4/html5/thumbnails/124.jpg)
Plataforma de Agentes FIPA
AMS DF ACC
Plataforma de transporte de mensajes
AAagentes
ACC (Agent Communication Channel): agente que se encarga de la entrega de mensajes entre agentes situados en la misma o en distintas plataformas
Soporta IIOP para interoperar con otrasplataformas
IIOP
![Page 125: Introducción a los Agentes - eolo.cps.unizar.eseolo.cps.unizar.es/docencia/masterserviciosweb/WebSemantica1... · Problemade razonamiento: cómo razonar con ellos El agente decide](https://reader034.vdocuments.net/reader034/viewer/2022051405/5a7a41727f8b9ac3118befc4/html5/thumbnails/125.jpg)
Algunas Plataformas FIPA
Tryllian Agent Development Kit (www.tryllian.org)
FIPA OS (http://fipa-os.sourceforge.net/)
Grasshopper (ya no es gratuita)
JADE (http://jade.cselt.it/)
LEAP (http://leap.crm-paris.com/)
Otras en: http://www.fipa.org/resources/livesystems.html
![Page 126: Introducción a los Agentes - eolo.cps.unizar.eseolo.cps.unizar.es/docencia/masterserviciosweb/WebSemantica1... · Problemade razonamiento: cómo razonar con ellos El agente decide](https://reader034.vdocuments.net/reader034/viewer/2022051405/5a7a41727f8b9ac3118befc4/html5/thumbnails/126.jpg)
MASIF
Es un estándar para agentes móviles...
Por tanto, siento defraudaros pero lo comentaremos más adelante
![Page 127: Introducción a los Agentes - eolo.cps.unizar.eseolo.cps.unizar.es/docencia/masterserviciosweb/WebSemantica1... · Problemade razonamiento: cómo razonar con ellos El agente decide](https://reader034.vdocuments.net/reader034/viewer/2022051405/5a7a41727f8b9ac3118befc4/html5/thumbnails/127.jpg)
Otras PropuestasInteragent Communication Language (OAA, Open Agent Architecture, de SRI International)
Lenguaje declarativo basado en lógica (sintaxis Prolog)Capaz de representar expresiones en lenguaje naturalSe expresa qué se desea, no cómo ni quién debe hacerlo (delegated computing, facilitator agents)Facilidades para comunicación humanos-agentes: voz/escritura, GUIs, etc.
![Page 128: Introducción a los Agentes - eolo.cps.unizar.eseolo.cps.unizar.es/docencia/masterserviciosweb/WebSemantica1... · Problemade razonamiento: cómo razonar con ellos El agente decide](https://reader034.vdocuments.net/reader034/viewer/2022051405/5a7a41727f8b9ac3118befc4/html5/thumbnails/128.jpg)
Referencias (I)Agent Communication Languages: The Current Landscape, Y. Labrou, T. Finin, Y. Peng, IEEE Intelligent Systems 14(2): 45-52, 1999
KQML as an Agent Communication Language, T. Finin R. Fritzson, D. McKay, R. McEntire, Third International Conference on Information and Knowledge Management (CIKM’04)
Evaluation of KQML as an Agent Communication Language, Intelligent Agents Volume II -- Workshop on Agent Theories, Architectures, and Languages, Lecture Notes in Artificial Intelligence, Springer-Verlag, 1996
![Page 129: Introducción a los Agentes - eolo.cps.unizar.eseolo.cps.unizar.es/docencia/masterserviciosweb/WebSemantica1... · Problemade razonamiento: cómo razonar con ellos El agente decide](https://reader034.vdocuments.net/reader034/viewer/2022051405/5a7a41727f8b9ac3118befc4/html5/thumbnails/129.jpg)
Referencias (II)KQML Papers and presentations, UMBC KQML Web, Tim Finin, UMBC Lab for Advanced Information Technology:http://www.cs.umbc.edu/kqml/papers/
The Foundation for Intelligent Physical Agents (FIPA): http://www.fipa.org/
MASIF, the OMG Mobile Agent System Interoperability Facility, Dejan Milojičić y otros, Mobility: processes, computers, and agents, 1999:http://www.hpl.hp.com/personal/Dejan_Milojicic/ma4.pdf
Mobile Agent Facility Specification (listado bajo la cabecera de CORBA Common Facilities):http://www.omg.org/cgi-bin/doc?formal/2000-01-02
![Page 130: Introducción a los Agentes - eolo.cps.unizar.eseolo.cps.unizar.es/docencia/masterserviciosweb/WebSemantica1... · Problemade razonamiento: cómo razonar con ellos El agente decide](https://reader034.vdocuments.net/reader034/viewer/2022051405/5a7a41727f8b9ac3118befc4/html5/thumbnails/130.jpg)
Fin
![Page 131: Introducción a los Agentes - eolo.cps.unizar.eseolo.cps.unizar.es/docencia/masterserviciosweb/WebSemantica1... · Problemade razonamiento: cómo razonar con ellos El agente decide](https://reader034.vdocuments.net/reader034/viewer/2022051405/5a7a41727f8b9ac3118befc4/html5/thumbnails/131.jpg)
Tecnología de Agentes Móviles
Máster en Servicios Web y Comercio Electrónico
Curso 2006/2007
Curso de Web Semántica
Sergio Ilarri [email protected]
![Page 132: Introducción a los Agentes - eolo.cps.unizar.eseolo.cps.unizar.es/docencia/masterserviciosweb/WebSemantica1... · Problemade razonamiento: cómo razonar con ellos El agente decide](https://reader034.vdocuments.net/reader034/viewer/2022051405/5a7a41727f8b9ac3118befc4/html5/thumbnails/132.jpg)
Índice (I)
Caracterización de la Movilidad
Agentes Móviles: Definición, Ventajas, Aplicaciones
Movilidad: Fuerte y Débil
Plataformas de Agentes Móviles
![Page 133: Introducción a los Agentes - eolo.cps.unizar.eseolo.cps.unizar.es/docencia/masterserviciosweb/WebSemantica1... · Problemade razonamiento: cómo razonar con ellos El agente decide](https://reader034.vdocuments.net/reader034/viewer/2022051405/5a7a41727f8b9ac3118befc4/html5/thumbnails/133.jpg)
Índice (II)
SPRINGSProxies DinámicosProblema de Livelock
MASIF
Ejemplos de Sistemas Basados en Agentes Móviles
![Page 134: Introducción a los Agentes - eolo.cps.unizar.eseolo.cps.unizar.es/docencia/masterserviciosweb/WebSemantica1... · Problemade razonamiento: cómo razonar con ellos El agente decide](https://reader034.vdocuments.net/reader034/viewer/2022051405/5a7a41727f8b9ac3118befc4/html5/thumbnails/134.jpg)
Agentes vs. Agentes Móviles
Agentes: Inteligencia artificialSon “inteligentes”Pueden moverse o no
Agentes móviles:Computación distribuidaSon móvilesPueden ser inteligentes o no
Conflicto y esperada reconciliación
![Page 135: Introducción a los Agentes - eolo.cps.unizar.eseolo.cps.unizar.es/docencia/masterserviciosweb/WebSemantica1... · Problemade razonamiento: cómo razonar con ellos El agente decide](https://reader034.vdocuments.net/reader034/viewer/2022051405/5a7a41727f8b9ac3118befc4/html5/thumbnails/135.jpg)
Agentes Móviles: DefiniciónAgentes software:
Se mueven de ordenador a ordenadorA petición del usuario, autónomamenteEjemplo: gestión de viajes
Soportan usuarios móviles
(asíncronos)
![Page 136: Introducción a los Agentes - eolo.cps.unizar.eseolo.cps.unizar.es/docencia/masterserviciosweb/WebSemantica1... · Problemade razonamiento: cómo razonar con ellos El agente decide](https://reader034.vdocuments.net/reader034/viewer/2022051405/5a7a41727f8b9ac3118befc4/html5/thumbnails/136.jpg)
Los Ancestros...
Frente al paradigma clásico cliente/servidor, surge la idea de movilidad de código
Código móvil:Evaluación remotaCódigo bajo demandaProcesos móviles
![Page 137: Introducción a los Agentes - eolo.cps.unizar.eseolo.cps.unizar.es/docencia/masterserviciosweb/WebSemantica1... · Problemade razonamiento: cómo razonar con ellos El agente decide](https://reader034.vdocuments.net/reader034/viewer/2022051405/5a7a41727f8b9ac3118befc4/html5/thumbnails/137.jpg)
Paradigma Cliente/ServidorAproximación clásica en sistemas distribuidosCliente y servidor estáticosEl cliente le pide algo al servidorEl servidor lo hace y le devuelve al cliente un resultadoConceptos de lenguajes de programación:
RPCRMIServicios web
Frente a C/S, los agentes móviles Paradigma de diseño alternativoParadigma de diseño complementario
![Page 138: Introducción a los Agentes - eolo.cps.unizar.eseolo.cps.unizar.es/docencia/masterserviciosweb/WebSemantica1... · Problemade razonamiento: cómo razonar con ellos El agente decide](https://reader034.vdocuments.net/reader034/viewer/2022051405/5a7a41727f8b9ac3118befc4/html5/thumbnails/138.jpg)
Paradigma de Evaluación Remota
Remote Evaluation (REV)Extiende la idea de RPCEl cliente envía código al servidor para que lo ejecuteEjemplos:
El lenguaje Postscript para impresorasEl envío remoto de trabajos por lotesNCL (Network Command Language)SQL remoto
![Page 139: Introducción a los Agentes - eolo.cps.unizar.eseolo.cps.unizar.es/docencia/masterserviciosweb/WebSemantica1... · Problemade razonamiento: cómo razonar con ellos El agente decide](https://reader034.vdocuments.net/reader034/viewer/2022051405/5a7a41727f8b9ac3118befc4/html5/thumbnails/139.jpg)
Paradigma de Código Bajo Demanda
Code-on-demandTambién se envía código... pero del servidor al clientePor tanto, se usan recursos del clienteEjemplo: applets de Java
![Page 140: Introducción a los Agentes - eolo.cps.unizar.eseolo.cps.unizar.es/docencia/masterserviciosweb/WebSemantica1... · Problemade razonamiento: cómo razonar con ellos El agente decide](https://reader034.vdocuments.net/reader034/viewer/2022051405/5a7a41727f8b9ac3118befc4/html5/thumbnails/140.jpg)
Procesos Móviles
Área de los sistemas operativos distribuidos (finales de los 80)Migración de procesos para balancear cargaEjemplo: SpriteEjemplo de técnica de implementación: checkpointing
Imágenes periódicasEnvío de la imagen
![Page 141: Introducción a los Agentes - eolo.cps.unizar.eseolo.cps.unizar.es/docencia/masterserviciosweb/WebSemantica1... · Problemade razonamiento: cómo razonar con ellos El agente decide](https://reader034.vdocuments.net/reader034/viewer/2022051405/5a7a41727f8b9ac3118befc4/html5/thumbnails/141.jpg)
Procesos vs. Agentes Móviles
Frente a los procesos móviles, los agentes móviles:
No sólo se mueven por balanceo de cargaAcceso a servicios
La migración no la inicia el SO o middleware
Agente autónomo
No sólo se mueven una vezMigración multi-salto, itinerario
![Page 142: Introducción a los Agentes - eolo.cps.unizar.eseolo.cps.unizar.es/docencia/masterserviciosweb/WebSemantica1... · Problemade razonamiento: cómo razonar con ellos El agente decide](https://reader034.vdocuments.net/reader034/viewer/2022051405/5a7a41727f8b9ac3118befc4/html5/thumbnails/142.jpg)
Caracterización de la Movilidad
Códigomóvil
Com
puac
ión
móv
il
Estado
móvil
RPC, RSH, RMI, servlets,procedimientos almacenados
Instalación remota,applets
Checkpointing
Movilidaddébil
Movilidadfuerte
Migraciónde
procesos
Adaptado de una transparencia de Niranjan Suri([email protected])
![Page 143: Introducción a los Agentes - eolo.cps.unizar.eseolo.cps.unizar.es/docencia/masterserviciosweb/WebSemantica1... · Problemade razonamiento: cómo razonar con ellos El agente decide](https://reader034.vdocuments.net/reader034/viewer/2022051405/5a7a41727f8b9ac3118befc4/html5/thumbnails/143.jpg)
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 ordenadoresNecesita cierta infraestructura (plataforma de agentes)Agentes móviles ≠ código móvil
Alternativa a RPC, pero también es una tecnología complementaria
![Page 144: Introducción a los Agentes - eolo.cps.unizar.eseolo.cps.unizar.es/docencia/masterserviciosweb/WebSemantica1... · Problemade razonamiento: cómo razonar con ellos El agente decide](https://reader034.vdocuments.net/reader034/viewer/2022051405/5a7a41727f8b9ac3118befc4/html5/thumbnails/144.jpg)
Agentes Móviles (I)
Espera un poco…Toma el resultadoUsando conexión inalámbrica
![Page 145: Introducción a los Agentes - eolo.cps.unizar.eseolo.cps.unizar.es/docencia/masterserviciosweb/WebSemantica1... · Problemade razonamiento: cómo razonar con ellos El agente decide](https://reader034.vdocuments.net/reader034/viewer/2022051405/5a7a41727f8b9ac3118befc4/html5/thumbnails/145.jpg)
Agentes Móviles (II)
Agente móvil: programa que puede cambiar de ordenador (código+ datos+ estado) para llevar acabo su tarea
Entorno de ejecuciónEl entorno comprueba sus credencialesSe ejecuta autónomamentePara 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...
![Page 146: Introducción a los Agentes - eolo.cps.unizar.eseolo.cps.unizar.es/docencia/masterserviciosweb/WebSemantica1... · Problemade razonamiento: cómo razonar con ellos El agente decide](https://reader034.vdocuments.net/reader034/viewer/2022051405/5a7a41727f8b9ac3118befc4/html5/thumbnails/146.jpg)
Características Básicas
Algunas características interesantes de los agentes (móviles)Autonomía: no/mínima interacción con el creadorInteroperabilidad: hardware, SO, etc.Reactividad: cambios/eventos del entornoCooperación: objetivo común“Inteligencia” (especialistas)Movilidad (code-shipping vs. data-shipping)
Agentes móviles en particular (sinergia)
![Page 147: Introducción a los Agentes - eolo.cps.unizar.eseolo.cps.unizar.es/docencia/masterserviciosweb/WebSemantica1... · Problemade razonamiento: cómo razonar con ellos El agente decide](https://reader034.vdocuments.net/reader034/viewer/2022051405/5a7a41727f8b9ac3118befc4/html5/thumbnails/147.jpg)
VentajasEvitan instalaciones innecesarias“Salvan” la latencia de red: comunicación localEncapsulan protocolos (bases de datos, etc.)Asíncronos/autónomos: desconexionesAdaptativosReaccionar entornoMoverse: balanceado de carga, localidad datosIntegración de sistemas heterogéneosRobustez/tolerancia a fallosAdaptación de interfaces
![Page 148: Introducción a los Agentes - eolo.cps.unizar.eseolo.cps.unizar.es/docencia/masterserviciosweb/WebSemantica1... · Problemade razonamiento: cómo razonar con ellos El agente decide](https://reader034.vdocuments.net/reader034/viewer/2022051405/5a7a41727f8b9ac3118befc4/html5/thumbnails/148.jpg)
Aplicaciones (I)Recuperación de información distribuida (ej., motores de búsqueda de música o gráficos)Procesamiento paraleloAsistente personalDiseminación de informaciónComercio electrónico (agentes que compran como nosotros)Gestión de red
heterogeneidad, monitorización, personalización, enrutamiento
Aplicaciones de workflowBrokeringEntornos distribuidos: entornos móviles, ubicuos, inteligentes, P2P, etc.Otros
![Page 149: Introducción a los Agentes - eolo.cps.unizar.eseolo.cps.unizar.es/docencia/masterserviciosweb/WebSemantica1... · Problemade razonamiento: cómo razonar con ellos El agente decide](https://reader034.vdocuments.net/reader034/viewer/2022051405/5a7a41727f8b9ac3118befc4/html5/thumbnails/149.jpg)
Aplicaciones (II)
¿Y la killer application?No hay¿Cómo puede defenderse un lenguaje estructurado frente a un lenguaje ensamblador?
![Page 150: Introducción a los Agentes - eolo.cps.unizar.eseolo.cps.unizar.es/docencia/masterserviciosweb/WebSemantica1... · Problemade razonamiento: cómo razonar con ellos El agente decide](https://reader034.vdocuments.net/reader034/viewer/2022051405/5a7a41727f8b9ac3118befc4/html5/thumbnails/150.jpg)
Agentes Móviles en Computación Móvil
Apropiados para computación inalámbrica:Desconexiones:
Breve conexión: se envía el agente a la red fijaPosteriormente: se recupera el agente de la red fija
Descarga de trabajo del clienteContribuyen a limitar el uso de las comunicaciones inalámbricas:
Reduce los datos a intercambiar por el enlace inalámbrico Evita interacciones entre cliente y servidorSólo hay que comunicar el agente y el resultado
![Page 151: Introducción a los Agentes - eolo.cps.unizar.eseolo.cps.unizar.es/docencia/masterserviciosweb/WebSemantica1... · Problemade razonamiento: cómo razonar con ellos El agente decide](https://reader034.vdocuments.net/reader034/viewer/2022051405/5a7a41727f8b9ac3118befc4/html5/thumbnails/151.jpg)
Agentes Móviles y Java (I)
Normalmente, el lenguaje en que se implementa la plataforma de agentes móviles y los agentes coincide
Salvo Tacoma (plataforma en C; agentes en C, Tcl/Tk, Perl, Python, Scheme)D’Agents (plataforma en C; agentes en TCL, Scheme, Java)
La mayoría de plataformas de agentes móviles son en Java
![Page 152: Introducción a los Agentes - eolo.cps.unizar.eseolo.cps.unizar.es/docencia/masterserviciosweb/WebSemantica1... · Problemade razonamiento: cómo razonar con ellos El agente decide](https://reader034.vdocuments.net/reader034/viewer/2022051405/5a7a41727f8b9ac3118befc4/html5/thumbnails/152.jpg)
Agentes Móviles y Java (II)
Ventajas:PortabilidadOrientado a objetosMuchas librerías (programación en red, etc.)Seguro:
Ejecutado en una JVM (no acceso directo al SO)No hay punterosByte-code verifierSecurity Manager (red, ficheros, etc.)Formato en código intermedio (fácil comprobación de violaciones de seguridad)
![Page 153: Introducción a los Agentes - eolo.cps.unizar.eseolo.cps.unizar.es/docencia/masterserviciosweb/WebSemantica1... · Problemade razonamiento: cómo razonar con ellos El agente decide](https://reader034.vdocuments.net/reader034/viewer/2022051405/5a7a41727f8b9ac3118befc4/html5/thumbnails/153.jpg)
Agentes Móviles y Java (III)
Desventajas:No permite capturar el estado de ejecuciónCarencia de control de recursos (memoria, CPU)
Ataques de denegación de servicios
![Page 154: Introducción a los Agentes - eolo.cps.unizar.eseolo.cps.unizar.es/docencia/masterserviciosweb/WebSemantica1... · Problemade razonamiento: cómo razonar con ellos El agente decide](https://reader034.vdocuments.net/reader034/viewer/2022051405/5a7a41727f8b9ac3118befc4/html5/thumbnails/154.jpg)
Movilidad: Cómo FuncionaLos agentes móviles se crean en places y viajan entre places
moveTo(newHost)Se interrumpe la ejecución del threadSe serializa el código, datos y (quizá) el estado de ejecución del agente (qué estaba ejecutando):
Movilidad fuerte y movilidad débil
El agente se reconstruye en el place destino y continúa su ejecución
![Page 155: Introducción a los Agentes - eolo.cps.unizar.eseolo.cps.unizar.es/docencia/masterserviciosweb/WebSemantica1... · Problemade razonamiento: cómo razonar con ellos El agente decide](https://reader034.vdocuments.net/reader034/viewer/2022051405/5a7a41727f8b9ac3118befc4/html5/thumbnails/155.jpg)
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”);
}}
Dificultades:-No es posible con Java estándar-No todos los recursos son móviles: múltiples threads, ficheros abiertos, etc.
![Page 156: Introducción a los Agentes - eolo.cps.unizar.eseolo.cps.unizar.es/docencia/masterserviciosweb/WebSemantica1... · Problemade razonamiento: cómo razonar con ellos El agente decide](https://reader034.vdocuments.net/reader034/viewer/2022051405/5a7a41727f8b9ac3118befc4/html5/thumbnails/156.jpg)
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");
}
![Page 157: Introducción a los Agentes - eolo.cps.unizar.eseolo.cps.unizar.es/docencia/masterserviciosweb/WebSemantica1... · Problemade razonamiento: cómo razonar con ellos El agente decide](https://reader034.vdocuments.net/reader034/viewer/2022051405/5a7a41727f8b9ac3118befc4/html5/thumbnails/157.jpg)
Movilidad Fuerte vs. Débil (I)Movilidad débil
No se transfiere el estado de ejecuciónEn destino, se ejecuta siempre un método predefinido o un método callback especificado por el programadorEl programador guarda y restaura el estado de ejecución
Movilidad fuerteSe transfiere el estado de ejecuciónPlataformas basadas en lenguajes de scriptPlataformas basadas en Java:
Preprocesado para cambiar el código y capturar “a mano” el estadoModificaciones a la máquina virtual de Java
![Page 158: Introducción a los Agentes - eolo.cps.unizar.eseolo.cps.unizar.es/docencia/masterserviciosweb/WebSemantica1... · Problemade razonamiento: cómo razonar con ellos El agente decide](https://reader034.vdocuments.net/reader034/viewer/2022051405/5a7a41727f8b9ac3118befc4/html5/thumbnails/158.jpg)
Movilidad Fuerte vs. Débil (II)
Baumann [1995] señala que la movilidad fuerte es inútil
Un movimiento es un gran cambio en la vida del agenteEl agente ejecuta “fases” y ninguna implica varios places
Cabri et. al. [2000] indica que la movilidad fuerte lleva a un código más limpioNosotros decimos que... la movilidad fuerte no es necesaria y es difícil de implementar (aunque podría ser útil)
![Page 159: Introducción a los Agentes - eolo.cps.unizar.eseolo.cps.unizar.es/docencia/masterserviciosweb/WebSemantica1... · Problemade razonamiento: cómo razonar con ellos El agente decide](https://reader034.vdocuments.net/reader034/viewer/2022051405/5a7a41727f8b9ac3118befc4/html5/thumbnails/159.jpg)
Transferencia de CódigoVarias estrategias:
PushSe envía el agente y las clases que usa
PullEl agente irá pidiendo las clases que necesitaPeligra la autonomía
Estrategias híbridasLas clases que es más probable que necesite, con push,el resto con pull
Migraciones a menor granularidad: Kalong (Tracy)Permite especificar qué clases se transmiten de quéformaPermite transmitir datos bajo demanda
![Page 160: Introducción a los Agentes - eolo.cps.unizar.eseolo.cps.unizar.es/docencia/masterserviciosweb/WebSemantica1... · Problemade razonamiento: cómo razonar con ellos El agente decide](https://reader034.vdocuments.net/reader034/viewer/2022051405/5a7a41727f8b9ac3118befc4/html5/thumbnails/160.jpg)
Reflexión
¿Puede, en algún caso, sobrecargarse la red más usando agentes móviles que no usándolos?¿Alguna otra cosa que haya que considerar?
Canales de comunicación asimétricos (ej., dispositivo móvil utilizando GPRS)
![Page 161: Introducción a los Agentes - eolo.cps.unizar.eseolo.cps.unizar.es/docencia/masterserviciosweb/WebSemantica1... · Problemade razonamiento: cómo razonar con ellos El agente decide](https://reader034.vdocuments.net/reader034/viewer/2022051405/5a7a41727f8b9ac3118befc4/html5/thumbnails/161.jpg)
Modelos de Comunicación
Paso de mensajesAsíncronosSíncronos
Comunicación remotaInformation spaces
BlackboardCada dato tiene un identificador que debe especificar el lector
Espacio de tuplasPermite recuperar información de manera asociativa, usando pattern-matching
![Page 162: Introducción a los Agentes - eolo.cps.unizar.eseolo.cps.unizar.es/docencia/masterserviciosweb/WebSemantica1... · Problemade razonamiento: cómo razonar con ellos El agente decide](https://reader034.vdocuments.net/reader034/viewer/2022051405/5a7a41727f8b9ac3118befc4/html5/thumbnails/162.jpg)
Plataformas de Agentes Móviles
AgletsVoyagerTryllianGrasshopperJade, Tracy, Mole, SeMoa, …Todas presentan muchos problemas...
Por ejemplo, de escalabilidad y concurrenciaPor ello, desarrollamos SPRINGS
![Page 163: Introducción a los Agentes - eolo.cps.unizar.eseolo.cps.unizar.es/docencia/masterserviciosweb/WebSemantica1... · Problemade razonamiento: cómo razonar con ellos El agente decide](https://reader034.vdocuments.net/reader034/viewer/2022051405/5a7a41727f8b9ac3118befc4/html5/thumbnails/163.jpg)
SPRINGS
Escalable, mucho mejor rendimiento(3000 agentes en test exigente)Transparencia de localización:
Llamadas: proxies dinámicoscallAgentMethod(“MovingAgentExample”,”go” args);
Movimientos: callbacksmoveTo("C2","end");
Reintentos automáticosPrevención de livelock
http://sid.cps.unizar.es/SPRINGS/
![Page 164: Introducción a los Agentes - eolo.cps.unizar.eseolo.cps.unizar.es/docencia/masterserviciosweb/WebSemantica1... · Problemade razonamiento: cómo razonar con ellos El agente decide](https://reader034.vdocuments.net/reader034/viewer/2022051405/5a7a41727f8b9ac3118befc4/html5/thumbnails/164.jpg)
Región k
Nodo k (RNS)
RNS
Region 1 Region nNode 1 (RNS) Node n (RNS)
RNS RNS
Agent1
Context1
Agent5
Node 2
Agent2
UpdaterProxy
UpdaterProxy
Proxy Collector
ProxyUpdater
UpdaterProxy
Context2Context4Context3
Node 3
Node 4
Agent7Agent3
Agent4
Agent6
ContextCollector
Proxy
ManagerContext
ContextManager
Proxy CollectorManager
Context
Manager
Proxy Collector
SPRINGS: Arquitectura
![Page 165: Introducción a los Agentes - eolo.cps.unizar.eseolo.cps.unizar.es/docencia/masterserviciosweb/WebSemantica1... · Problemade razonamiento: cómo razonar con ellos El agente decide](https://reader034.vdocuments.net/reader034/viewer/2022051405/5a7a41727f8b9ac3118befc4/html5/thumbnails/165.jpg)
Proxies Dinámicos
Proxy a Agente1
Contexto C1
Contexto C2
C1
Estoy en C2
C2
Estoy en C3
C3
Contexto C4
Contexto C3
![Page 166: Introducción a los Agentes - eolo.cps.unizar.eseolo.cps.unizar.es/docencia/masterserviciosweb/WebSemantica1... · Problemade razonamiento: cómo razonar con ellos El agente decide](https://reader034.vdocuments.net/reader034/viewer/2022051405/5a7a41727f8b9ac3118befc4/html5/thumbnails/166.jpg)
Problema de Livelock
Proxy a Agente1
Contexto C1
C1
Estoy en C2
C2ERROR
ERROR
Contexto C2Contexto C4
Contexto C3
![Page 167: Introducción a los Agentes - eolo.cps.unizar.eseolo.cps.unizar.es/docencia/masterserviciosweb/WebSemantica1... · Problemade razonamiento: cómo razonar con ellos El agente decide](https://reader034.vdocuments.net/reader034/viewer/2022051405/5a7a41727f8b9ac3118befc4/html5/thumbnails/167.jpg)
Problema de Livelock
Contexto C1
Contexto C2Contexto C4
En SPRINGS
-Primero se actualizan los proxies, luego se renuda el agente
-Se retardan agentes muy rápidosContexto C3
![Page 168: Introducción a los Agentes - eolo.cps.unizar.eseolo.cps.unizar.es/docencia/masterserviciosweb/WebSemantica1... · Problemade razonamiento: cómo razonar con ellos El agente decide](https://reader034.vdocuments.net/reader034/viewer/2022051405/5a7a41727f8b9ac3118befc4/html5/thumbnails/168.jpg)
Comparación con 100 Agentes
0500
100015002000250030003500400045005000
0:00
0:30
1:00
1:30
2:00
2:30
3:00
3:30
4:00
4:30
5:00
5:30
6:00
6:30
7:00
7:30
8:00
8:30
9:00
9:30
10:00
Test time (in minutes)
#ite
ratio
ns
SPRINGS Voyager Aglets Grasshopper Tryllian
Todos los agentes acaban4600, 89 acaban
2600, 0 acaban2040, 33 acaban
600, 1 acaban#ite
raci
ones
Tiempo de test (minutos)
![Page 169: Introducción a los Agentes - eolo.cps.unizar.eseolo.cps.unizar.es/docencia/masterserviciosweb/WebSemantica1... · Problemade razonamiento: cómo razonar con ellos El agente decide](https://reader034.vdocuments.net/reader034/viewer/2022051405/5a7a41727f8b9ac3118befc4/html5/thumbnails/169.jpg)
![Page 170: Introducción a los Agentes - eolo.cps.unizar.eseolo.cps.unizar.es/docencia/masterserviciosweb/WebSemantica1... · Problemade razonamiento: cómo razonar con ellos El agente decide](https://reader034.vdocuments.net/reader034/viewer/2022051405/5a7a41727f8b9ac3118befc4/html5/thumbnails/170.jpg)
Introducción (I)
Mobile Agent System Interoperability FacilityPrimer estándar para sistemas de agentes móviles (Grasshopper es el primero que lo considera)Especificación de OMGLa Request for Proposal se emitió en noviembre de 1995Se acepta en febrero de 1998 Última versión de la especificación: 2000
![Page 171: Introducción a los Agentes - eolo.cps.unizar.eseolo.cps.unizar.es/docencia/masterserviciosweb/WebSemantica1... · Problemade razonamiento: cómo razonar con ellos El agente decide](https://reader034.vdocuments.net/reader034/viewer/2022051405/5a7a41727f8b9ac3118befc4/html5/thumbnails/171.jpg)
Introducción (II)Objetivo: lograr un cierto grado de interoperabilidad entre plataformas de agentes móviles de distintos fabricantesEstas especificaciones no son la base de un sistema de agentes, sino que pueden “añadirse” a sistemas ya existentesEstandariza:
Gestión de agentesSeguimiento de agentesTransporte de agentesNombrado
![Page 172: Introducción a los Agentes - eolo.cps.unizar.eseolo.cps.unizar.es/docencia/masterserviciosweb/WebSemantica1... · Problemade razonamiento: cómo razonar con ellos El agente decide](https://reader034.vdocuments.net/reader034/viewer/2022051405/5a7a41727f8b9ac3118befc4/html5/thumbnails/172.jpg)
Niveles de Estandarización (I)
Gestión de agentes:Crear agentes remotamente, pararlos, arrancarlos, y otras funciones relacionadas con el ciclo de vida
Seguimiento de agentes:Localización de agentes en un entorno distribuido, consultas remotas a directorios de agentes en distintas plataformas
Transporte de agentes:Envío y recepción de ficheros de clases entreplataformas, hacerlas disponibles para ejecución
![Page 173: Introducción a los Agentes - eolo.cps.unizar.eseolo.cps.unizar.es/docencia/masterserviciosweb/WebSemantica1... · Problemade razonamiento: cómo razonar con ellos El agente decide](https://reader034.vdocuments.net/reader034/viewer/2022051405/5a7a41727f8b9ac3118befc4/html5/thumbnails/173.jpg)
Niveles de Estandarización (II)
Nombrado:Sintaxis y semántica estandarizada para los nombres de agentes y sistemas de agentes
MASIF no considera la comunicación entre agentes
En cierto modo, ligado a CORBA
![Page 174: Introducción a los Agentes - eolo.cps.unizar.eseolo.cps.unizar.es/docencia/masterserviciosweb/WebSemantica1... · Problemade razonamiento: cómo razonar con ellos El agente decide](https://reader034.vdocuments.net/reader034/viewer/2022051405/5a7a41727f8b9ac3118befc4/html5/thumbnails/174.jpg)
Terminología de Referencia
PlaceEntorno de ejecución de agentes
AgencySistema de agentesPuede tener varios placesPuede crear, ejecutar y transferir agentes
RegionConjunto de agencies que pertenecen a una misma unidad administrativa
![Page 175: Introducción a los Agentes - eolo.cps.unizar.eseolo.cps.unizar.es/docencia/masterserviciosweb/WebSemantica1... · Problemade razonamiento: cómo razonar con ellos El agente decide](https://reader034.vdocuments.net/reader034/viewer/2022051405/5a7a41727f8b9ac3118befc4/html5/thumbnails/175.jpg)
Estándares MASIF (I)Definidos en términos de servicios CORBAestándar
De nombres, ciclo de vida, externalización, seguridad
Los estándares se recogen en dos IDLs:
MAFFinder
MAFAgentSystem
![Page 176: Introducción a los Agentes - eolo.cps.unizar.eseolo.cps.unizar.es/docencia/masterserviciosweb/WebSemantica1... · Problemade razonamiento: cómo razonar con ellos El agente decide](https://reader034.vdocuments.net/reader034/viewer/2022051405/5a7a41727f8b9ac3118befc4/html5/thumbnails/176.jpg)
Estándares MASIF (II)
MAFFinderregister_agent, register_agent_system, register_place, lookup_agent, lookup_agent_system, lookup_place, unregister_agent, unregister_agent_system, unregister_place
![Page 177: Introducción a los Agentes - eolo.cps.unizar.eseolo.cps.unizar.es/docencia/masterserviciosweb/WebSemantica1... · Problemade razonamiento: cómo razonar con ellos El agente decide](https://reader034.vdocuments.net/reader034/viewer/2022051405/5a7a41727f8b9ac3118befc4/html5/thumbnails/177.jpg)
Estándares MASIF (III)
MAFAgentSystemcreate_agent, fetch_classreceive_agentresume_agent, suspend_agent, terminate_agentlist_all_agents…
![Page 178: Introducción a los Agentes - eolo.cps.unizar.eseolo.cps.unizar.es/docencia/masterserviciosweb/WebSemantica1... · Problemade razonamiento: cómo razonar con ellos El agente decide](https://reader034.vdocuments.net/reader034/viewer/2022051405/5a7a41727f8b9ac3118befc4/html5/thumbnails/178.jpg)
Algunas Plataformas MASIF
Grasshopper (ya no es gratuita, Enago Mobile, IKV++)
SOMA (http://www-lia.deis.unibo.it/Research/SOMA/)
Aglets (http://aglets.sourceforge.net/)
Próximamente... SPRINGS
![Page 179: Introducción a los Agentes - eolo.cps.unizar.eseolo.cps.unizar.es/docencia/masterserviciosweb/WebSemantica1... · Problemade razonamiento: cómo razonar con ellos El agente decide](https://reader034.vdocuments.net/reader034/viewer/2022051405/5a7a41727f8b9ac3118befc4/html5/thumbnails/179.jpg)
![Page 180: Introducción a los Agentes - eolo.cps.unizar.eseolo.cps.unizar.es/docencia/masterserviciosweb/WebSemantica1... · Problemade razonamiento: cómo razonar con ellos El agente decide](https://reader034.vdocuments.net/reader034/viewer/2022051405/5a7a41727f8b9ac3118befc4/html5/thumbnails/180.jpg)
Simulación de Entornos Móviles (I)
•Entorno móvil:
-Proxies
-Objetos móviles
Place
Agente móvil
•El agente móvil se ejecuta siempre en el proxyque daría cobertura al objeto que representa
•Pueden mezclarse en un mismo escenario objetosy proxies reales y simulados
![Page 181: Introducción a los Agentes - eolo.cps.unizar.eseolo.cps.unizar.es/docencia/masterserviciosweb/WebSemantica1... · Problemade razonamiento: cómo razonar con ellos El agente decide](https://reader034.vdocuments.net/reader034/viewer/2022051405/5a7a41727f8b9ac3118befc4/html5/thumbnails/181.jpg)
Simulación de Entornos Móviles (II)
![Page 182: Introducción a los Agentes - eolo.cps.unizar.eseolo.cps.unizar.es/docencia/masterserviciosweb/WebSemantica1... · Problemade razonamiento: cómo razonar con ellos El agente decide](https://reader034.vdocuments.net/reader034/viewer/2022051405/5a7a41727f8b9ac3118befc4/html5/thumbnails/182.jpg)
Simulación de Entornos Móviles (III)
Algunas ventajas de usar agentes móviles:
Mayor paralelismo con la realidadInteracciones locales, aumenta la precisiónPermite una fácil distribución de recursos, mayor escalabilidadPodríamos acceder a servicios de proxiesreales no disponibles remotamente
![Page 183: Introducción a los Agentes - eolo.cps.unizar.eseolo.cps.unizar.es/docencia/masterserviciosweb/WebSemantica1... · Problemade razonamiento: cómo razonar con ellos El agente decide](https://reader034.vdocuments.net/reader034/viewer/2022051405/5a7a41727f8b9ac3118befc4/html5/thumbnails/183.jpg)
Simulación de Entornos Móviles (IV)
Reutilización del código original del servicio a testear (Plug & Simulate)Problema:
Si el objeto móvil a simular contiene agentes (móviles), tendremos en simulación agentes móviles que “contienen” agentes
S. Ilarri, E. Mena and A. Illarramendi, "Testing Agent-based Mobile Computing Applications Using Distributed Simulations", Seventh International DEXA Workshop on Mobility in Databases and Distributed Systems (MDDS'2004), Zaragoza (Spain), IEEE Computer Society, ISBN 0-7695-2195-9, ISSN 1529-4188, pp. 652-656, September 2004.
![Page 184: Introducción a los Agentes - eolo.cps.unizar.eseolo.cps.unizar.es/docencia/masterserviciosweb/WebSemantica1... · Problemade razonamiento: cómo razonar con ellos El agente decide](https://reader034.vdocuments.net/reader034/viewer/2022051405/5a7a41727f8b9ac3118befc4/html5/thumbnails/184.jpg)
Integración de Referencias Bibliográficas (I)
Existen dos máquinas que almacenan citas bibliográficas en ficheros
Independientes, controladas por grupos distintos
Las citas pueden contener errores o inconsistencias, o estar duplicadasQueremos integrar la información de ambas fuentes de bibliografía en una tercera máquina
![Page 185: Introducción a los Agentes - eolo.cps.unizar.eseolo.cps.unizar.es/docencia/masterserviciosweb/WebSemantica1... · Problemade razonamiento: cómo razonar con ellos El agente decide](https://reader034.vdocuments.net/reader034/viewer/2022051405/5a7a41727f8b9ac3118befc4/html5/thumbnails/185.jpg)
![Page 186: Introducción a los Agentes - eolo.cps.unizar.eseolo.cps.unizar.es/docencia/masterserviciosweb/WebSemantica1... · Problemade razonamiento: cómo razonar con ellos El agente decide](https://reader034.vdocuments.net/reader034/viewer/2022051405/5a7a41727f8b9ac3118befc4/html5/thumbnails/186.jpg)
Integración de Referencias Bibliográficas (II)
Algunas ventajas de usar agentes móviles:
Pueden traernos sólo la información relevante (filtrado de datos)Podemos cerrar el navegador (e incluso apagar el ordenador) mientras el agente trabaja
![Page 187: Introducción a los Agentes - eolo.cps.unizar.eseolo.cps.unizar.es/docencia/masterserviciosweb/WebSemantica1... · Problemade razonamiento: cómo razonar con ellos El agente decide](https://reader034.vdocuments.net/reader034/viewer/2022051405/5a7a41727f8b9ac3118befc4/html5/thumbnails/187.jpg)
ADUS (I)
Adaptación dinámica de interfaces de usuarioUn agente móvil llega al PDA y se crea el GUIen función de las capacidades del dispositivo y preferencias del usuarioEl GUI se crea localmente a petición del agente móvil que llega
Por tanto, no es preciso que el agente móvil sepa crear GUIs para distintos tipos de dispositivosLo único que trae es una especificación del GUIque necesita (en lenguaje XUL)
N. Mitrovic, J.A. Royo and E. Mena, "ADUS: Indirect Generation of User interfaces on Wireless Devices", Fifteentth International Workshop onDatabase and Expert Systems Applications (DEXA'2004), Seventh International Workshop Mobility on Databases and Distributed Systems (MDDS'2004), IEEE Computer Society, ISBN 0-7695-2195-9, ISSN 1529-4188, pp. 662-666, September 2004.
![Page 188: Introducción a los Agentes - eolo.cps.unizar.eseolo.cps.unizar.es/docencia/masterserviciosweb/WebSemantica1... · Problemade razonamiento: cómo razonar con ellos El agente decide](https://reader034.vdocuments.net/reader034/viewer/2022051405/5a7a41727f8b9ac3118befc4/html5/thumbnails/188.jpg)
![Page 189: Introducción a los Agentes - eolo.cps.unizar.eseolo.cps.unizar.es/docencia/masterserviciosweb/WebSemantica1... · Problemade razonamiento: cómo razonar con ellos El agente decide](https://reader034.vdocuments.net/reader034/viewer/2022051405/5a7a41727f8b9ac3118befc4/html5/thumbnails/189.jpg)
LRSLocker Rental ServiceUn usuario móvil puede alquilar espacio de disco en la red fijaConforme se mueve de un sitio a otro, puede ser conveniente que sus ficheros “le sigan”: agentes móviles
Interacciones más cercanas, ahorrando comunicaciones
Y. Villate, A. Illarramendi and E. Pitoura, "Keep Your Data Safe and Available While Roaming", International Journal of Mobile Networks and Application (MONET), Special Issue on Pervasive Computing, 7(4):315-328, August 2002.
![Page 190: Introducción a los Agentes - eolo.cps.unizar.eseolo.cps.unizar.es/docencia/masterserviciosweb/WebSemantica1... · Problemade razonamiento: cómo razonar con ellos El agente decide](https://reader034.vdocuments.net/reader034/viewer/2022051405/5a7a41727f8b9ac3118befc4/html5/thumbnails/190.jpg)
SRS (I)
Software Retrieval ServiceAlternativa a sistemas tipo Tucows
Permite buscar software en base a requerimientos semánticosUna ontología contiene una descripción semántica del software disponible en distintos repositorios
![Page 191: Introducción a los Agentes - eolo.cps.unizar.eseolo.cps.unizar.es/docencia/masterserviciosweb/WebSemantica1... · Problemade razonamiento: cómo razonar con ellos El agente decide](https://reader034.vdocuments.net/reader034/viewer/2022051405/5a7a41727f8b9ac3118befc4/html5/thumbnails/191.jpg)
SRS (II)
Se usan distintos tipos de agentes. Por ejemplo:
Un agente móvil trae un catálogo de software al dispositivo del usuario
Evita traer información de software no instalable (ej., para otro SO)
Un agente móvil trae finalmente el software deseado y lo instala
E. Mena, J.A. Royo, A. Illarramendi and A. Goñi, "An Agent-based Approach for Helping Users of Hand-Held Devices to Browse Software Catalogs", Cooperative Information Agents VI, 6th International Workshop CIA 2002, Lecture Notes on Artificial Intelligence (LNAI), ISBN 3-540-44173-5, pp. 51-65, September 2002.
![Page 192: Introducción a los Agentes - eolo.cps.unizar.eseolo.cps.unizar.es/docencia/masterserviciosweb/WebSemantica1... · Problemade razonamiento: cómo razonar con ellos El agente decide](https://reader034.vdocuments.net/reader034/viewer/2022051405/5a7a41727f8b9ac3118befc4/html5/thumbnails/192.jpg)
![Page 193: Introducción a los Agentes - eolo.cps.unizar.eseolo.cps.unizar.es/docencia/masterserviciosweb/WebSemantica1... · Problemade razonamiento: cómo razonar con ellos El agente decide](https://reader034.vdocuments.net/reader034/viewer/2022051405/5a7a41727f8b9ac3118befc4/html5/thumbnails/193.jpg)
LOQOMOTION (I)
LOcation-dependent
Queries
On
Moving
ObjecTs
In
mObile
Networks
2 tipos de elementos:•Proxies
-gestionan información de localización-alojan un place
•Objetos móviles-dispositivos móviles-acceden a los proxies y emiten preguntas-son objeto de preguntas
Ej.: Monitorizar la posición de los coches de policía cercanos a un coche robado
![Page 194: Introducción a los Agentes - eolo.cps.unizar.eseolo.cps.unizar.es/docencia/masterserviciosweb/WebSemantica1... · Problemade razonamiento: cómo razonar con ellos El agente decide](https://reader034.vdocuments.net/reader034/viewer/2022051405/5a7a41727f8b9ac3118befc4/html5/thumbnails/194.jpg)
LOQOMOTION (II)
P2P5
P6
P4 P3
P1
Monitor
P0
(1)
(3)(3)
(2)(2)
(3)
(3)
(3)
DMS
MonitorTracker
Tracker
Updater
DMS
MonitorTracker
Tracker
Updater
Red de agentes
![Page 195: Introducción a los Agentes - eolo.cps.unizar.eseolo.cps.unizar.es/docencia/masterserviciosweb/WebSemantica1... · Problemade razonamiento: cómo razonar con ellos El agente decide](https://reader034.vdocuments.net/reader034/viewer/2022051405/5a7a41727f8b9ac3118befc4/html5/thumbnails/195.jpg)
LOQOMOTION (III)
Ventajas de los agentes móviles:Seguimiento eficiente de los objetos móviles de interésOptimización de las comunicaciones inalámbricasSoporte para el procesamiento distribuidoNo necesidad de mantener servidores especializados en los proxies
![Page 196: Introducción a los Agentes - eolo.cps.unizar.eseolo.cps.unizar.es/docencia/masterserviciosweb/WebSemantica1... · Problemade razonamiento: cómo razonar con ellos El agente decide](https://reader034.vdocuments.net/reader034/viewer/2022051405/5a7a41727f8b9ac3118befc4/html5/thumbnails/196.jpg)
LOQOMOTION (IV)
http://sid.cps.unizar.es/ANTARCTICA/LDQP/index.html
S. Ilarri, E. Mena and A. Illarramendi, "Location-Dependent Queries in Mobile Contexts: Distributed Processing Using Mobile Agents", IEEE Transactions on Mobile Computing, ISSN 1536-1233, 5(8):1029-1043, IEEE Computer Society, August 2006.
![Page 197: Introducción a los Agentes - eolo.cps.unizar.eseolo.cps.unizar.es/docencia/masterserviciosweb/WebSemantica1... · Problemade razonamiento: cómo razonar con ellos El agente decide](https://reader034.vdocuments.net/reader034/viewer/2022051405/5a7a41727f8b9ac3118befc4/html5/thumbnails/197.jpg)
LOQOMOTION (V)
Prototipo: Juan Luis Serrano
S. Ilarri, J.L. Serrano, E. Mena and R. Trillo, "3D Monitoring of Distributed Multiagent Systems", International Conference on Web Information Systemsand Technologies (WEBIST’07), Barcelona (Spain), INSTICC Press, ISBN ???, pp. 4, March 2007.
![Page 198: Introducción a los Agentes - eolo.cps.unizar.eseolo.cps.unizar.es/docencia/masterserviciosweb/WebSemantica1... · Problemade razonamiento: cómo razonar con ellos El agente decide](https://reader034.vdocuments.net/reader034/viewer/2022051405/5a7a41727f8b9ac3118befc4/html5/thumbnails/198.jpg)
Otros (I)
REMOTE: Request Management fOrTask Execution
Música/televisión que sigue al usuario
Andante (agentes móviles musicales)
![Page 199: Introducción a los Agentes - eolo.cps.unizar.eseolo.cps.unizar.es/docencia/masterserviciosweb/WebSemantica1... · Problemade razonamiento: cómo razonar con ellos El agente decide](https://reader034.vdocuments.net/reader034/viewer/2022051405/5a7a41727f8b9ac3118befc4/html5/thumbnails/199.jpg)
Otros (II)
¡Incluso servicios de contactos!
Hi, what'syour name?
Sofia, andyours?
![Page 200: Introducción a los Agentes - eolo.cps.unizar.eseolo.cps.unizar.es/docencia/masterserviciosweb/WebSemantica1... · Problemade razonamiento: cómo razonar con ellos El agente decide](https://reader034.vdocuments.net/reader034/viewer/2022051405/5a7a41727f8b9ac3118befc4/html5/thumbnails/200.jpg)
Conclusiones (I)
Los agentes móviles tienen ventajas muy atractivasSon un paradigma de programación complementario al de cliente/servidorSe han aplicado en distintos campos con buenos resultadosHay diversas plataformas... la mejor de las cuales es SPRINGS
![Page 201: Introducción a los Agentes - eolo.cps.unizar.eseolo.cps.unizar.es/docencia/masterserviciosweb/WebSemantica1... · Problemade razonamiento: cómo razonar con ellos El agente decide](https://reader034.vdocuments.net/reader034/viewer/2022051405/5a7a41727f8b9ac3118befc4/html5/thumbnails/201.jpg)
Conclusiones (II)
Hemos presentado (por encima) diversos ejemplos de servicios... Y si tenéis interés en más detalles, ¡sólo tenéis que decirlo!
![Page 202: Introducción a los Agentes - eolo.cps.unizar.eseolo.cps.unizar.es/docencia/masterserviciosweb/WebSemantica1... · Problemade razonamiento: cómo razonar con ellos El agente decide](https://reader034.vdocuments.net/reader034/viewer/2022051405/5a7a41727f8b9ac3118befc4/html5/thumbnails/202.jpg)
Referencias (I)Understanding Code Mobility, A. Fuggetta, GP. Picco, G. Vigna, IEEE Transactions on Software Engineering, Vol. 24, No. 5, May 1998, pp. 362-375
Mobile Agents for Mobile Computing, Kotz D., R. Gray, D. Rus, S. Nog, G. Cybenko, Technical Report PCS-TR96-285, May 1996, Computer Science Department, Dartmouth College
Seven Good Reasons for Mobile Agents, Danny B. Lange, Mitsuru Oshima, Communications of the ACM, Volume 42 , Issue 3 (March 1999), pp. 88-89, ACM Press, ISSN:0001-0782, 1999
![Page 203: Introducción a los Agentes - eolo.cps.unizar.eseolo.cps.unizar.es/docencia/masterserviciosweb/WebSemantica1... · Problemade razonamiento: cómo razonar con ellos El agente decide](https://reader034.vdocuments.net/reader034/viewer/2022051405/5a7a41727f8b9ac3118befc4/html5/thumbnails/203.jpg)
Referencias (II)Wireless Computational Models: Mobile Agents to the Rescue, C. Spyrou, G. Samaras, E. Pitoura, P. Evripidou, DEXA99 International Workshop on Mobility in Databases and Distributed Systems, August 1999, pp 428-433, IEEE Computer Society
SPRINGS: A Scalable Platform for Highly Mobile Agents in Distributed Computing Environments, S. Ilarri, R. Trillo and E. Mena, 4th International WoWMoM 2006 workshop on MobileDistributed Computing (MDC'06), Buffalo, New York (USA), IEEE Computer Society, ISBN 0-7695-2593-8, pp. 633-637, June 2006
Mobile Agents: Basic Concepts, Mobility Models, and the Tracy Toolkit, Peter Braun and Wilhelm R. Rossak, Morgan KaufmannPub., 464 pages, ISBN 1558608176
![Page 204: Introducción a los Agentes - eolo.cps.unizar.eseolo.cps.unizar.es/docencia/masterserviciosweb/WebSemantica1... · Problemade razonamiento: cómo razonar con ellos El agente decide](https://reader034.vdocuments.net/reader034/viewer/2022051405/5a7a41727f8b9ac3118befc4/html5/thumbnails/204.jpg)
Referencias (III)Mobile Agents and Security, Giovanni Vigna (Ed.), Lecture Notes in Computer Science 1419 Springer 1998, ISBN 3-540-64792-9
Research Group of Distributed Information Systems (SID),http://sid.cps.unizar.es/
Links About Mobile Agents, http://sid.cps.unizar.es/SILARRI/LINKS/mobileAgents.html
SPRINGS, http://sid.cps.unizar.es/SPRINGS/
Aglets, http://aglets.sourceforge.net/
Tryllian, http://www.tryllian.org/
Voyager, http://www.recursionsw.com/
Jade, http://jade.tilab.com/
![Page 205: Introducción a los Agentes - eolo.cps.unizar.eseolo.cps.unizar.es/docencia/masterserviciosweb/WebSemantica1... · Problemade razonamiento: cómo razonar con ellos El agente decide](https://reader034.vdocuments.net/reader034/viewer/2022051405/5a7a41727f8b9ac3118befc4/html5/thumbnails/205.jpg)
Fin