1
SistemasSistemas BasadosBasados en en ContextoContexto
JosJoséé Manuel Molina LManuel Molina LóópezpezUniversidad Carlos III MadridUniversidad Carlos III [email protected]@ia.uc3m.es
UIMP 2008
2
Contenidos
Introducción
Sistemas Basados en el Contexto
Entornos Comerciales de Desarrollo
Desarrollo de un ejemplo
Sistemas Multiagente para el desarrollo de Sistemas
Basados en el Contexto
Bibliografía
3
¿Qué es la computación ubicua?Computación Ubicua:
“Ubiquitous computing has as its goal the enhancing computer use by
making many computers available throughout the physical environment,
but making them effectively invisible to the user”. [Weiser, 1993]
Se ha posicionado como la tercera generación o paradigma en la computación y cuenta ya con múltiples aplicaciones y equipos de investigación que procuran su desarrollo.
La meta de la computación ubicua, de integrar varias computadoras (dispositivos) al entorno físico busca habilitar los beneficios de éstas y de la información digitalizada en todo momento y en todas partes.
4
Contenidos
Introducción
Sistemas Basados en el Contexto
Entornos Comerciales de Desarrollo
Desarrollo de un ejemplo
Sistemas Multiagente para el desarrollo de Sistemas
Basados en el Contexto
Bibliografía
5
¿Qué es el contexto?
“Contexto es cualquier información que puede ser usada para caracterizar la
situación de una entidad, siendo una entidad una persona, lugar, u objeto que
se considera relevante en la interacción entre un usuario y una aplicación,
incluyendo también a ellos mismos, usuario y aplicación”
Current computer applications rely on an internal clock, keyboard and mouse
to gather contextual information
- Anind K. Dey, Gregory D. Abowd, and Daniel Salber, 2001
6
¿Qué entendemos por contexto?Aspectos importantes según Schilit
Who (“quién”, Identity Awareness).- Podemos hablar de perfiles de usuario y la medida en la que el contexto los diferencia para lograr elcomportamiento adecuado.What (“qué”, Task Awareness).- Se centra en lo que el usuario estáhaciendo, qué tarea realiza y que quiere conseguir. Constituye por tanto los servicios que el sistema le ofrece.Where (“dónde”, Location Awareness).- Conocimiento de la localización física, es decir ubicación de personas y objetos que realizarán las tareas.When (“cuando”, Time Awareness).- Adquisición y mantenimiento de información sobre tiempo y fecha, horarios estáticos y dinamismo de la agenda de cada usuario.Why (“por qué” del comportamiento de un dispositivo).- Para conseguir comunicar fácilmente con la computadora en la realización de tareas cotidianas, a ser posible, de manera implícita, es decir, sin intervención por parte del usuario.
7
QUÉ
El Contexto: Paso a Paso
DÓNDE QUIÉN CUÁNDO
CONTEXTO
APLICACIONESConexión Inalámbrica
Dispositivos
8
Wireless Cellular networks
Wireless LAN networks: Wifi – WiMAX?
Wireless PAN (Personal Area Network) or BAN(Body Area Network): Bluetooth, IEEE802.15, short-range IR
Tipos de Conexión Inalámbrica
9
Clasificación de los Sistemas de Localización
Exteriores GPS ( Global Positioning System )
Interiores Ultrasónicas ( 1- 2m)Radiofrecuencia ( hasta 50 m)
Telefonía móvil: GSM, GPRS, UMTS Redes inalámbricas locales: WiFiRedes inalámbricas personales: Bluetooth, UWB (20 cm)
ÓpticasDiodos infrarrojosLaser
Visión Artificial
10
Modelo de Localización
Dos modelos jerárquicos
Modelo GeométricoModelo Simbólico
La utilización de una combinación de ambos permite desarrollar aplicaciones que necesitan tanto de un modelo como de otro
11
Contexto
Prácticamente toda la información disponible define el contextoEjemplos
IdentidadInformación espacial: posición, orientación, velocidad y aceleraciónInformación temporal: hora del díaInformación del entornoSituacion socialRecursos disponibles-cercanosMedidas sicológicasActividadesAgendas
12
Clasificación del ContextoComputing context
Conectividad de la redCoste de la comunicaciónAncho de banda disponibleCercanía de los recursos
User contextPerfilPosiciónSituación Social
Physical contextLuminosidadRuidoTráficoTemperatura
Time ContextHoraDíaSemanaMesEstación
13
Niveles del Contexto
Contexto de bajo nivelPosiciónTiempoAncho de BandaOrientaciónObjetos, perosnas, acciones cercanas
Contexto de alto nivelActividad del usuarioPreferencias dinámicasSituación socialPredicción de posiciones futuras
14
Qué es una Aplicación Basada en Contexto
Una aplicación capaz de usar la información de contexto
Un sistema es context-aware si puede:extraer, interpretar y usar la información de contextoy adaptar su funcionalidad al estado actual de dicho contexto
¿Qué diferencia este tipo de aplicaciones? La complejidad de captura, representar y procesar los datos de contexto
Tipos de aplicaciones:Activas (Active context awareness)Pasivas (Passive context awareness)
15
Paradigma Context-Aware
Estadísticas EventosFacturación
Servicios Usuarios
Localización geográfica
Tipo dispositivo
Preferencias
AplicacionesContext-Aware
SalidaContext-aware
Tradicional: Crean perfiles para todos los escenarios de uso definidos por adelantadoContext awareness: Tus reglas de contexto crean dinámicamente complejos perfiles.
16
Próxima Generación -Usuarios Móviles
Modelo de InteracciónTrabajadores enfocados en la tarea, no en el dispositivo.
Trabajadores de primera línea son absorbidos por sus tareasDispositivos móviles son la herramienta no el centro de atención.El factor forma es un obstáculo ( tamaño de la pantalla, no hay teclado)
Disponibilidad de Información.La información debe estar accesible en cualquier momento
Bases de datos complejasUsuarios ocasionalmente conectadosInformación obsoletas en los dispositivos.
Soluciones móviles deben enfocarse a la usabilidad
17
Primera generaciónMecanismos de respuesta
Se sabe lo que se buscaSe sabe donde encontrarloPuede llevar algunas acciones de clic ganar acceso a la información
Segunda generaciónMotores de búsqueda
Se sabe lo que se buscaNo está seguro dónde encontrarloLe tomará algunos clics ganar accesos a la información ordenada(ex: Google)
Tercera GeneraciónMotores de contexto (Context Engine)
No está seguro de lo que se buscaNo está seguro dónde encontrarloSe necesita la información más relevante con un solo click (ex: Context Engine)
Próxima Generación -Tecnológica
18
Filtrado de InformaciónSuministro de información significa nuevas restricciones o filtrado de información.
Solo la información correcta debe ser suministrada. La relevancia de la información es altamente dependiente de la situaciónde los trabajadores.
TiempoLocalizaciónRol en el sistemaTipo de dispositivoDisponibilidad de ancho de banda....
Próxima Generación - Solución Móvil
Context EngineUna capa adicional de inteligencia computacional es requerida para
desarrollar una solución efectiva para usuarios móviles.
Servicios ContextServicios Context--AwareAware
19
Contenidos
Introducción
Sistemas Basados en el Contexto
Entornos Comerciales de Desarrollo
Desarrollo de un ejemplo
Sistemas Multiagente para el desarrollo de Sistemas
Basados en el Contexto
Bibliografía
20
Aplicaciones en Telefonía
Wired describe Mogi, un juego para teléfonos móviles con GPS que está haciendo furor en Tokio. Se trata de una especie de gimkana de realidad extendida en la que un equipo de jugadores equipados con teléfonos móviles con GPS colabora para hacerse con un conjunto de objetos virtuales emplazados en diferentes localizaciones de la ciudad. Cuando uno de los jugadores se halla a menos de 400m del lugar en el que se encuentra el objeto virtual éste pasa a ser poseído por el equipo.
http://barrapunto.com/article.pl?sid=04/04/12/2237249&mode=thread
21
Sep 2006. El Conocimiento de LBS de Genasys, ayuda a los amigos encontrar amigos en AustraliaEl mes pasado la operadora australiana Optus lanzó el servicio móvil Friend FindA, lo último en la línea de servicios denominadaFindA basados en localización. En este proyecto Genasys ha tenido el papel de integrador, conectando la aplicación a los sistemas de la operadora, y salvaguardando el funcionamiento de los procesos de privacidad de usuario.El Friend FindA permite a los amigos localizarse rápida y fácilmente, utilizando sus teléfonos móviles. La privacidad está aseguradamediante el mutuo consentimiento de utilización, y con la opción de los usuarios de hacerse "invisibles" cuando lo deseen. Despuésdel periodo promocional y gratuito, que finaliza el 30 de Septiembre, la aplicación estará disponible bajo tarifa plana y pago por uso.La aplicación, en sí misma, se construyó utilizando una aplicación ya existente de TrackWell, un partner de Genasys, modificándolay ampliándola para adaptarla a las características específicas que necesitaba Optus.La aplicación se tenía que integrar en distintos y complejos sistemas operativos como el servidor de localización, el sistema de aprovisionamiento de mapas, el canal de SMS y el portal OptusZoo."Estamos satisfechos con el resultado del proyecto y con el claro compromiso de Optus de promocionarlo entre su base de clientes", apunta Miguel Castro, Gerente de Ventas del área Asia y Pacífico. "Están utilizando todos sus principales canales de comunicaciónpara promocionar este nuevo servicio, y esperamos unos resultados muy positivos de su campaña."Desde hace años Genasys ha sido un proveedor líder de middleware de LBS y ahora, Genasys se ha comprometido a ampliar suactividad en la cadena de valor de LBS con el desarrollo y promoción de nuevos servicios basados en localización, tanto trabajandopara operadoras móviles, como siendo desarrolladores y ASP para terceros. "Este es el primer proyecto de los muchos que esperamosentregar en los próximos meses y durante 2007. Creemos que el LBS aún no ha alcanzado su máximo potencial, y estamos poniendotodos nuestros esfuerzos para que eso suceda", comenta el Sr. Castro.Más información sobre la aplicación Friend FindA en el portal de OptusZoo: http://www.optus.com.au/zoo/friendfinda .
http://www.genasys.es/sep_06b.htm
Aplicaciones en Telefonía
22
Proyectos
SIMPLICITYProyecto europeo desarrollado por un consorcio mixto de universidades, centros de investigación y grandes empresas de base tecnológica. Su objetivo era desarrollar una arquitectura que permita simplificar el diseño, desarrollo y evaluación de aplicaciones que automáticamente se adapten al usuario, a los servicios y a los elementos físicos de la red. (http://www.ist-simplicity.org/)
MyHeartProyecto europeo liderado por Philips con la finalidad de monotorizar y prevenir accidentes cardiovasculares, utilizando dispositivos y tejidos inteligentes, con capacidad de trazar el estado físico del individuo portador de estos elementos.
AMBIESENSEActualmente Ambiensense (http://www.ambiesense.com) es una compañía que oferta la creación de ambientes inteligentes y servicios orientados al usuario. Surgióa partir de un proyecto subvencionado por la comunidad europea (http://www.ambiesense.net/), como novedad incorporaba el concepto de sistema multiagente para el desarrollo del sistema de información orientado a la computación ubicua.
OXYGENEl Instituto Tecnológico de Massachusetts desarrolla un proyecto de computación ubicua, abordando todas los problemas involucrados, desde la capa física de redes de dispositivos y comunicaciones hasta la de arquitecturas software que den soporte a los servicios orientados al usuario. (http://oxygen.lcs.mit.edu/)
23
Proyectos
MOBILEARNLiderado desde Europa, colaboran más de 15 universidades de todo el mundo junto con grandes multinacionales de la telecomunicación (Nokia, Deutche Telekom, Telecom Italia, Telefónica, COMPAQ). Pretende explorar el uso de dispositivos móviles para apoyar el aprendizaje en entornos inteligentes.( http://www.mobilearn.org/)
EU-DOMAIN Desarrollo de un proyecto europeo con el fin de crear modelos de negocio realistas para usuarios y proveedores de servicios. La idea central está en realizar una plataforma de servicios para ambientes inteligentes donde las interfaces de usuarios se adaptan al contexto y a los perfiles de los usuarios. (http://www.eu-domain.eu.com/pn/index.php)
AMIGOEl "Art Museum Image COnsortium" es una organización sin ánimo de lucro que coordina instituciones con colecciones de arte con el fin de crear un museo global multimedia orientado a la educación. (http://www.amico.org)
AMICO Implementar los conceptos de ambiente inteligente al hogar es el objetivo del proyecto Amigo. Es un proyecto que involucra a empresas de siete países europeos del ámbito de las telecomunicaciones, la informática y los dispositivos y electrodomésticos para el hogar. Los dispositivos en la casa están interconectados y orientados a suministrar servicios en función de las necesidades de los usuarios, haciendo especial hincapié en los conceptos de seguridad y asistencia, ocio y ampliación de las capacidades de comunicación. (http://http://www.hitech-projects.com/euprojects/amigo/)
24
Proyectos
CYBERGUIDE El instituto tecnológico de Georgia ha desarrollado un proyecto para que con la ayuda de dispositivos de computación portables puedan asistir en la exploración de entornos físicos y virtuales. Reconocer personas en una reunión, realizar visitas guiadas, obtener información sobre los elementos del campus (especies vegetales, monumentos), son algunos de los servicios que permite. (http://www.cc.gatech.edu/fce/cyberguide/)
HOMELAB La compañía Philips investiga bajo el concepto de HOMELAB dispositivos para el hogar que permitan incorporar los criteriosdefinidos para un ambiente inteligente: paredes que pueden visualizar fotos y videos, espejos interactivos, juguetes interactivos que cuentan historias, asistentes personales, etc. (http://www.research.philips.com/technologies/misc/homelab/)
25
Aplicaciones comerciales basadas en contexto
Herramientas de oficina y reuniones
Active Badge SystemsParcTab systemGeorgia Institute of Technology
Guías TurísticasCyberguideGUIDESmart Sight Touristic Assistant
Context aware fieldworktools
Ayudas de memoriaForget-Me-NotRemembrance agentStartle cam
Frameworks que soportan aplicaciones basadas en contexto
Stick-e-notes frameworkContext ToolkitSituATED Computing ServiceVirtual Information TowersCORTEXRCSM
AppearAppear NetworksNetworks
26
Appear Networks
Es una plataforma comercial para el desarrollo de aplicaciones
context-aware y su objetivo principal es el despliegue de una
plataforma de comunicación inalámbrica diseñada para proveer a
empleados ( móviles) con el fácil acceso a la información justa
que necesitan el momento justo para tener sus trabajos
terminados. Así también como para los usuarios con un rol
informativo en el sistema.
27
Cliente
GUI
Appear Networks -Arquitectura
Repository
Ext System
BDatos
Admin, Seguimiento, Motor de Contexto
Mod. Traking
Mod. Gest. Disp.
Mod. Aprov.
Mod. Sinc.
Plugins, APIs
Mod. Traking
Mod. Gest. Disp.
Mod. Aprov.
Mod. Sinc.
Auth.
Posicionamiento
Cisco2700
GPSGPRSCell-ID ...
Mod. Aprov.
Plugins, APIs
Mod. Gest. Disp.
Mod. Sinc.
Posicionamiento
GPS APE-ZEAPE-PE
GUI
ClienteProxyServer
Core
Admin
Repositorio
GUI
SVN RepositorioSync.
Plugins, APIs
Sync Daemon
CoreExit System
File System
...
Mod. TrakingCore
Monitor
Monitor
Motor de
contexto en
tiempode
ejecución
28
Appear Networks
El sistema consiste en un Motor de Contexto y sus Módulos:
Módulo de Aprovisionamiento
Módulo de Gestión del Dispositivo
Módulo de Sincronización
Módulo de Tracking
El motor de Contexto implementa un sistema de reglas que
determinan qué debe estar disponible, a quién, y dónde y cuándo
debe estar disponible.
29
Context engineMotor que hace el matching, y toma
el context domain y lo mapea con el semantic model.
Context profileResultado de todos los mappings
desde el context domain en el semantic model.
Context domain
Context engine
Semantic model
Context profile
Context engine
Session Remote contextDevice
Context provider
Motor de Contexto
Context domainConjunto de variables de contexto
que el sistema puede monitorear.
Semantic modelModelo de Administrador de la
relación entre los diferentesparámetros de contexto y cómo debenser organizados usando predicadosde contexto.
30
Zona 1
Múltiples sistemas de posicionamientoAPE-Zone Edition Plugin
Integra los sistemas de localización usando plug-ings
Motor de posicionamiento Wi-Fi basado en BSSID
No requiere calibración
Precisión: Puntos de acceso
CompatibilidadRed agnósticaDispositivo Agnóstico
Zona 2
31
Offering MappingOffering MappingMapeo de ofertas
Ofertas
IconoAtributos…
Módulo Aprovisionamiento- Cómo trabaja?
CategoryCategoryCategorías
Icono
Atributos…
ServiceServiceServiciosAtributos…
Configuración básica – Modelo conceptual
Icono
32
Módulo de Gestión de Dispositivos – Reseña
Comienza tan pronto como el Appear Cliente se inicia.
Restringe lo que el usuario puede hacer con en el dispositivo.
Realza la seguridad
Realza las políticas para salvar el consumo de baterías.
Configuración automática de bajo nivel
Requiere intervención de pequeños usuarios o conocimiento.
Restaura el dispositivo rápidamente cuando algo va mal
33
Módulo de Sincronización – Reseña
Para asegurar que los empleados móviles tengan un conjunto consistente de ficheros y repositorios con sistemas de back-end.
Provee soporte a los dispositivos:Actualizaciones de los ficheros locales respecto al respositorio central. Enviar nuevos cambios (ficheros/ repositorios).
El proceso de sincronización puede ser desencadenado:Automaticamente, basado en el contexto del usuarioManualmente por los trabajadores de primera línea
34
Contenidos
Introducción
Sistemas Basados en el Contexto
Entornos Comerciales de Desarrollo
Desarrollo de un ejemplo
Sistemas Multiagente para el desarrollo de Sistemas
Basados en el Contexto
Bibliografía
35
Ejemplo dominio Aeropuerto- Escenario
Escenario: Un aeropuerto y los empleados y clientes de unaaerolínea equipados con dispositivos móviles.
Server / Repositorio
Contexto:Piloto
Necesidades:Descagarse recursos de vuelo. Aceder a itinerarios y programas
actualizados. Descargase mapas y planos
Contexto:Pasajero
Necesiades:Acceder a iinerarios OneWorldAuto check‐inAcceder a servicios actualizados
Contexto:Personal aerolínea
Necesidades:Crear y despachar nuevos
itinerarios de vuelo
36
Ejemplo dominio Aeropuerto- Roles
ROL_Piloto: Personal Aerolínea en Vuelo Comandantes y Pilotos. Comandantes y pilotos son los últimos responsables de que el avión, con los pasajeros a bordo, llegue perfectamente a su destino.
ROL_OTV: Personal Aerolínea en Vuelo Oficiales Técnicos de Vuelo
ROL_TCP: Personal Aerolínea en Vuelo Tripulantes de Cabina de Pasajeros. Son los que velan por la seguridad y el confort de los clientes. Todas las necesidades que les surjan a los clientes a bordo son resueltas por este colectivo. Son en concreto Azafatas y Auxiliares de vuelo.
ROL_PATF: Personal Aerolínea en Tierra Facturación. En los mostradores de facturación, el personal de Iberia se encarga de asignar un asiento a los pasajeros, identificar sus maletas y entregarles posteriormente su tarjeta de embarque.
ROL_PATS: Personal Aerolínea en Tierra Supervisor. Es quien se encarga de tramitar la documentación pertinente para el correcto despacho de un vuelo, tanto interna de la compañía como la relacionada con los estamentos oficiales que entran a formar parte de ella. Organiza y coordina las necesidades operativas del avión como la carga de combustible y otras que la tripulación de la aeronave le encomiende; sobre todo las órdenes o recomendaciones del comandante.
ROL_PATE: Personal Aerolínea en Tierra Embarque. Estas personas están situadas en las puertas de embarque. Se les reconoce fácilmente por su uniforme azul. Ellos conducen a los pasajeros al avión, tras comprobar que es ése realmente el vuelo donde deben viajar.
ROL_PATI: Personal Aerolínea en Tierra Incidencia. Resuelven cualquier duda e incidencia que les pueda surgir a los clientes en el aeropuerto. También asisten a niños sin acompañantes, enfermos o personas con movilidad reducida que necesitan una atención especial para poder viajar en avión.
ROL_PATA: Personal Aerolínea en Tierra Atención al Cliente. Son oficinas de atención al cliente en todos los aeropuertos de su red y en las principales ciudades españolas y extranjeras. El personal de la aerolínea ofrece a los clientes las opciones que mejor se adaptan a sus necesidades.
ROL_PASAJERO: Pasajero. No requiere autenticación, será el ROL por defecto.
37
Ejemplo dominio Aeropuerto- Zonas/ Usuarios
38
Categorías, Servicios / Zonas y usuarios
39
zone_custums is true
zone_offices is trueOR
zone_check-in_desk is true
zones_p2_news is trueAND
passenger is true
p2_news is true
zone_airport is trueOR
zone_commercial is true
zones_p1_news is trueAND
passenger is trueOR
pilot is true
roles_p1_news is true
p1_news is true
Ejemplo dominio Aeropuerto- Predicados
Definición de predicados y su evaluación
para un Pasajero en la Zona Aduana
40
Definición ejemplo dominio Aeropuerto
Definición de predicados y su evaluación
para un Pasajero en la Zona Aduana
41
Ejemplo dominio Aeropuerto- piloto/zona aduana
42
Ejemplo dominio Aeropuerto- piloto/zona aduana
43
Contenidos
Introducción
Sistemas Basados en el Contexto
Entornos Comerciales de Desarrollo
Desarrollo de un ejemplo
Sistemas Multiagente para el desarrollo de Sistemas
Basados en el Contexto
Bibliografía
44
¿Por qué distribuir?
INFRAESTRUCTURA: Middleware
Servidor de contexto centralizadoUn entorno para cada usuarioTenemos un problema de escalabilidad
Una arquitectura distribuida permite que el contextoesté en diferentes lugares y evita un cuello de botella
45
Sistema Multi-AgenteEJEMPLO AEROPUERTO
Agente CentralAgente Proveedor 2
Agente Proveedor 1
Agente Usuario
Detección de usuarios
(Localización)
Envío de Perfil: Pasajero e
Información de vuelo
Matchingentre perfil y proveedores
Avisa al proveedor
más cercano
Ofrece servicio al usuario: Puerta de
embarque, plano del aeropuerto
46
Sistema Multi-AgenteEJEMPLO AEROPUERTO
Agente Central
Agente Usuario
Agente Proveedor 2
Agente Proveedor 1
Detecta nueva
posición Usuario
Actualización del perfil: noticias
Matchingentre nuevo
perfil y proveedores
Avisa al proveedor
más cercano
Nuevos servicios:
Noticias en Inglés
47
Central Agent
User AgentStand Agent
Sistema Multi-Agente
48
Central Agent
User Agent
Stand Agent
Data FusionPath PlanningSecurity/Surveillance CapabilitiesGlobal Message Flooding
Give InformationNegotiationRecomendationLocal Message Flooding
Profile ManagementRequest InformationNegotiationFusion of Recomendation
Sistema Multi-Agente
49
Sistema Multi-Agente (I)
Sistema Multi-AgenteSistemas se modelan como organizaciones de agentes o sistemas de varios agentes Sistemas Multi Agentes (SMA) o Multi-Agent Systems (MAS)Necesidad:
Aplicaciones complejas compuestas por subsistemas que interaccionan entre síObligan a distribuir la inteligencia entre diversos agentes.
SMA permite la gestión inteligente de un sistema complejo:Coordina los distintos subsistemasIntegra los objetivos particulares de cada subsistema en un objetivo común.
50
Sistema Multi-Agente (II)Modelo BDI
Comportamiento reactivo basado en eventos y comportamiento pro-activo orientado a objetivos.Utilización de conceptos mentales en la implementaciónTres tipos de actitudes: Beliefs, Desires, IntentionsBeliefs
Agente Central: ontología, perfiles de los usuarios, localizaciones, información contextual de los proveedoresAgente Proveedor: información contextual
Agente Usuario: perfil privado
DesiresObjetivos: detectar usuarios, registrar usuarios, filtrar proveedores, etc.
IntentionsPlanes: gestionar información, negociaciones, diálogos, etc.
51
Sistema Multi-Agente (III)Para construir el SMA hay que definir:
Qué lenguaje usarQué actividades (análisis, diseño, implementación etc.), y Qué resultados obtener.
Algunas metodologías: GAIA
SMA como organización de entidades que interactúan. Define modelo de roles, modelo de interacciones, modelo de agentes, modelos deservicios.
MaSEAgentes como objetos que se coordinan mediante conversaciones. Notación UML (Casos de uso, diagramas de secuencia etc.)
TroposBasada en requisitos. Incluye protocolos de coordinación y comunicación.
52
Sistema Multi-Agente (IV)Algunas metodologías:
ZEUSProporciona una plataforma de agentes que facilita el desarrollorápido de aplicaciones de agentes colaborativos. Modelos de roles, diagramas de clase UML, patrones etc.
MAS-CommonKADSTécnicas de orientación de objetos y técnicas de ingeniería de protocolos (extiende CommonKADS). Rellenar plantillas de modelosinterrelacionados (modelo de tareas, de la organización, de experiencia, de comunicación, de coordinación, de diseño etc.)
INGENIASExtiende la metodología MESSAGE (ingeniería del software OO con meta-modelos de agentes, organización, dominio etc.) Propone un lenguaje para la especificación de SMA y proporciona herramientas de modelado, verificación, generación de código y documentación etc.
53
Framework Multi-Agente
Arquitectura
Agente Central
Agente Usuario
Conferencia Feria Centro Comercial
Ontología para Dominios Heterogéneos
Agentes Proveedores
Dispositivos
FIPA-ACL
FIPA-ACL
Definición del Vocabulario Común
Adquisición del Conocimiento
Razonamiento
Conocimiento Compartido
54
Ontología:Aplicación al SMA: representa un vocabulario común para que los agentes compartan la información mediante los mensajes que se intercambian.Formalmente: conjunto de conceptos (o clases) relacionados en un dominio del discurso, junto con las propiedades de cada concepto (o slots) y las restricciones sobre las propiedades (o facetas).
MotivaciónPermite compartir conocimiento: agentes deben compartir una representación común de la información conceptual.Permite razonamiento sobre el contexto: mecanismos de inferencia y razonamiento para componer información conceptual compleja y razonar sobre el contexto.Detecta inconsistencias en la información contextual: puede ser imperfecta.
Ontologías (I)
55
Herramientas: ProtégéPermite el desarrollo de ontologías en diferentes plataformas y la interacción con XML, RDF (Resource Description Framework) y OWL (Ontology Web Language)
Ontologías (II)
56
Ontología para un Sistema Context-Aware en entornos dinámicos
Contexto:Contexto Computacional (redes, dispositivos etc.)Contexto de Usuario (preferencias, localización etc.)Contexto Físico (lugares del entorno, temperatura, tráfico etc.)
Para conseguir una definición contextual lo más exacta posible, la ontología debe recoger:
ConceptosPropiedades de los conceptosRelaciones entre conceptos
Ontologías (III)
57
Ontología para Sistema Context-Aware (I)
FrameworkLocationSpatial Region Place Temporal RegionProfileService ProductDevice
58
Ontología para Sistema Context-Aware (II)Servicios y Productos
Categorías de Servicios
Servicios son los Productos en la Ontología
59
Ontología para Sistema Context-Aware (III)Relación entre los conceptos ontológicos
60
Ontología para Sistema Context-Aware (IV)
En los mensajes FIPA-ACL que se intercambian los agentes se define la ontología que van a usar ambos para tener la misma representación de la información.
61
Definición del SMA con GAIAMetodología GAIA: permite clarificar la estructura organizacional de un SMA y ofrece el nivel de detalle adecuado para desarrollaruna mejor implementación y representar una organización basada en agentes.Dos Fases
AnálisisModelo AmbientalModelo Preliminar de RolesModelo Preliminar de InteracciónReglas de Organización
DiseñoFase de Arquitectura
Modelo de Roles y de Interacción CompletosFase de Detalle
Modelo de Agentes y Modelo de Servicios
62
Modelo de Agentes (I)
RolesRoles definidos en el Modelo de Roles
RolesRoles definidos en el Modelo de Roles
Objetivo: identificar qué roles específicos desempeñan los agentes y cuántas instancias de cada uno tienen que ser utilizadas en el sistema
actual.
AgentesCentral
ProveedorCliente
AgentesCentral
ProveedorCliente
63
Modelo de Agentes (II)
64
Modelo de Agentes (III)
User Manager
Client
NegociationRole
InternalProfile
Manager
Recommendation Role
+
Provider
Service Provider
+
Matching Manager
Central
Agent Discover
1
Customs ZoneAgent
Passenger DeviceAgent
Central Server Agent
InformationManager
65
Modelo de Servicios (I)
Information ManagerInformation Manager
Objetivo: representar todos los protocolos, actividades y responsabilidades asociadas a los roles de los agentes.
User ManagerUser Manager
Check user location
Identify User
Request Registry Profile
Agree Registry
Register User
Deregister User
Obtain User Sequence
Improve Profile
Manage Provider Information
66
Modelo de Servicios (II)
Agent DiscoverAgent Discover
Objetivo: representar todos los protocolos, actividades y responsabilidades asociadas a los roles de los agentes.
Matching ManagerMatching Manager
Match Services Profile
Match Profile - ProfileFilter Agent
Warn Agent
67
Modelo de Servicios (III)
Objetivo: representar todos los protocolos, actividades y responsabilidades asociadas a los roles de los agentes.
Service ProviderService Provider
Offer Service
Request Negotiation
Agree Negotiation
Exchange Information
Negotiation RoleNegotiation Role
Consult Information
Receive Services
Ask for Agreements
Receive Request Negotiation
Exchange Information
68
Modelo de Servicios (IV)
Recommend RoleRecommend Role
Objetivo: representar todos los protocolos, actividades y responsabilidades asociadas a los roles de los agentes.
Recommend Users
Ask for Recommendations
Decide to trust
Internal Profile ManagerInternal Profile Manager
Update Internal Profile
Send shared profile registry
69
Contenidos
Introducción
Sistemas Basados en el Contexto
Entornos Comerciales de Desarrollo
Desarrollo de un ejemplo
Sistemas Multiagente para el desarrollo de Sistemas
Basados en el Contexto
Bibliografía
70
BibliografíaCOMPUTACIÓN UBICUA
[1] Weiser, M., The computer for the twenty-first century. Scientific American, September 1991, 94-104 (1991)[2] Weiser, M., Ubiquitous computing. http://www.ubiq.com/hypertext/weiser/UbiHome.html[3] Weiser, M., The future of Ubiquitous Computing on C ampus, Comm. ACM, 41-1, January 1998, 41-42 (1998)[4] Abowd, G.D. & Mynatt, E.D. (2000). “Charting Past, Present and Futuro Research in Ubiquitous Computing”. ACM Transaction on Computer Human Interactions, Vol. 7,1.Pag. 29-58
CONTEXT AWARE[5] Schilit, B., Adams, N. & Want, R. “Context-Aware Computing Applications”.[6] Dey, A. (2001). “Understanding and Using Context”. Personal and Ubiquitous Computing 5(1).[7 ] Stephen S. Yaua, and Fariaz Karim, “A context sensitive middleware for dynamic integration of mobile devices with network infrastructures”, Journal of Parallel and Distributed Computing, 64 (2004) 301–317.[8] Gregory Biegel, Vinny Cahill, “A Framework for Developing Mobile, Context-aware Applications”, in Proceedings of the Second IEEE Annual Conference on Pervasive Computing and Communications (PERCOM’2004).[9] www.appearnetworks.com
71
BibliografíaSistemas Multi-Agente y Sistemas Context-Aware
V. Fuentes, N. Sanchez, J. Carbó, J.M. Molina. “Reputation in User Profiling in a Context-aware Multiagent System “. Fourth EuropeanWorkshop on Multi-Agent Systems EUMAS’06V. Fuentes, N. Sánchez, J. Carbó, J. M. Molina. “Generic Context-Aware BDI Multi-Agent Framework with GAIA methodology” In Agent-Based Ubiquitous Computing (ABUC) Workshop in 2007 International Conference on Autonomous Agents and Multiagent Systems AAMAS ’07. N. Sánchez, V. Fuentes , J. Carbó, J. M. Molina. “Knowledge-based system to define context in commercial applications”. In 8th ACIS International Conference on Software Engineering,Artificial Intelligence, Networking, and Parallel/Distributed Computing (SNPD2007)
OntologíasGruninger, M. and Fox, M.S. (1995). “Methodology for the Design and Evaluation of Ontologies” In: Proceedings of the Workshop on Basic Ontological Issues in Knowledge Sharing, IJCAI-95, Montreal.Uschold, M. and Gruninger, M. (1996). “Ontologies: Principles, Methods and Applications”. Knowledge Engineering Review 11(2).Languages and Natalya F. Noy and Deborah L. McGuinness. ``Ontology Development 101: A Guide to Creating Your First Ontology''. Stanford Knowledge Systems Laboratory Technical Report KSL-01-05 and Stanford Medical Informatics Technical Report SMI-2001-0880, March 2001.V. Fuentes, J. Carbo, J.-M. Molina. Heterogeneous domain ontology for location based information system in a multiagent framework”. In 7th International Conference on Intelligent Data Engineering and Automated Learning, Burgos, Spain, 2006
MetodologíasIglesias, C.A., Garijo, M., Gonzalez, J.C., Velasci, J.R.: A Methodological Proposal for Multiagent Systems Development Extending CommonKADS http://citeseernj.nec.com/ (1996)Giunchiglia F., Mylopoulos J., Perini A., “The Tropos Software Development Methodology: Processes, Models and Diagrams”, 2002 Autonomous Agents and Multi-Agent Systems (AAMAS 2002), Bologna, Italy, July 2002. ACM.H. S. Nwana, D. T. Ndumu, L. C. Lee and J. C. Collis, “ZEUS: A Toolkit and Approach for Building Distributed Multi-Agent Systems”, in J. M. Bradshaw, ed., Proceedings of the Third International Conference on Autonomous Agents (Agents '99), ACM Press, Seattle, USA, 1999, pp. 360-361.F. Zambonelli, N. R. Jennings, M. Wooldridge, "Developing Multiagent Systems: The Gaia Methodology," ACM Transactions on Software Engineering and Methodology, Vol. 12, No. 3, Jul. 2003, pp. 317-330. Pavón, J. and Gómez-Sanz, J., INGENIAS web site: http://grasia.fdi.ucm.es/ingenias/, consulted at December 2006.M. F. Wood and S. A. DeLoach, “An Overview of the Multiagent Systems Engineering Methodology”. Agent-Oriented Software Engineering, Volume 1957 of LNCS, Berlin: Springer, January 2001, 207-221.
JADE http://jade.tilab.comGiovanni Caire. JADE Tutorial. Application-Defined Content Languages and Ontologies. 2002
JADEXJADEX BDI Agent System. http://vsis-www.informatik.uni-hamburg.de/projects/jadex/
FIPAThe Foundation for Intelligent Physical Agents. 2002. http://www.fipa.org.
Protégé:The Protégé Project. http://protege.stanford.edu
72
Muchas Gracias!
Top Related