uimp: sistemas basados en contexto

72
1 Sistemas Sistemas Basados Basados en en Contexto Contexto Jos Jos é é Manuel Molina L Manuel Molina L ó ó pez pez Universidad Carlos III Madrid Universidad Carlos III Madrid [email protected] [email protected] UIMP 2008

Upload: gerardo-demiguel

Post on 05-Jul-2015

1.782 views

Category:

Technology


2 download

DESCRIPTION

Ponente: José Manuel Molina López. Grupo de Inteligencia Artificial Aplicada (GIAA) Universidad Carlos III Madrid. Resumen: 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.

TRANSCRIPT

Page 1: UIMP: Sistemas Basados en Contexto

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

Page 2: UIMP: Sistemas Basados en Contexto

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

Page 3: UIMP: Sistemas Basados en Contexto

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.

Page 4: UIMP: Sistemas Basados en Contexto

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

Page 5: UIMP: Sistemas Basados en Contexto

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

Page 6: UIMP: Sistemas Basados en Contexto

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.

Page 7: UIMP: Sistemas Basados en Contexto

7

QUÉ

El Contexto: Paso a Paso

DÓNDE QUIÉN CUÁNDO

CONTEXTO

APLICACIONESConexión Inalámbrica

Dispositivos

Page 8: UIMP: Sistemas Basados en Contexto

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

Page 9: UIMP: Sistemas Basados en Contexto

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

Page 10: UIMP: Sistemas Basados en Contexto

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

Page 11: UIMP: Sistemas Basados en Contexto

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

Page 12: UIMP: Sistemas Basados en Contexto

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

Page 13: UIMP: Sistemas Basados en Contexto

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

Page 14: UIMP: Sistemas Basados en Contexto

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)

Page 15: UIMP: Sistemas Basados en Contexto

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.

Page 16: UIMP: Sistemas Basados en Contexto

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

Page 17: UIMP: Sistemas Basados en Contexto

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

Page 18: UIMP: Sistemas Basados en Contexto

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

Page 19: UIMP: Sistemas Basados en Contexto

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

Page 20: UIMP: Sistemas Basados en Contexto

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

Page 21: UIMP: Sistemas Basados en Contexto

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

Page 22: UIMP: Sistemas Basados en Contexto

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/)

Page 23: UIMP: Sistemas Basados en Contexto

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/)

Page 24: UIMP: Sistemas Basados en Contexto

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/)

Page 25: UIMP: Sistemas Basados en Contexto

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

Page 26: UIMP: Sistemas Basados en Contexto

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.

Page 27: UIMP: Sistemas Basados en Contexto

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

Page 28: UIMP: Sistemas Basados en Contexto

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.

Page 29: UIMP: Sistemas Basados en Contexto

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.

Page 30: UIMP: Sistemas Basados en 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

Page 31: UIMP: Sistemas Basados en Contexto

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

Page 32: UIMP: Sistemas Basados en Contexto

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

Page 33: UIMP: Sistemas Basados en Contexto

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

Page 34: UIMP: Sistemas Basados en Contexto

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

Page 35: UIMP: Sistemas Basados en Contexto

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

Page 36: UIMP: Sistemas Basados en Contexto

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.

Page 37: UIMP: Sistemas Basados en Contexto

37

Ejemplo dominio Aeropuerto- Zonas/ Usuarios

Page 38: UIMP: Sistemas Basados en Contexto

38

Categorías, Servicios / Zonas y usuarios

Page 39: UIMP: Sistemas Basados en Contexto

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

Page 40: UIMP: Sistemas Basados en Contexto

40

Definición ejemplo dominio Aeropuerto

Definición de predicados y su evaluación

para un Pasajero en la Zona Aduana

Page 41: UIMP: Sistemas Basados en Contexto

41

Ejemplo dominio Aeropuerto- piloto/zona aduana

Page 42: UIMP: Sistemas Basados en Contexto

42

Ejemplo dominio Aeropuerto- piloto/zona aduana

Page 43: UIMP: Sistemas Basados en Contexto

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

Page 44: UIMP: Sistemas Basados en Contexto

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

Page 45: UIMP: Sistemas Basados en Contexto

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

Page 46: UIMP: Sistemas Basados en Contexto

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

Page 47: UIMP: Sistemas Basados en Contexto

47

Central Agent

User AgentStand Agent

Sistema Multi-Agente

Page 48: UIMP: Sistemas Basados en Contexto

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

Page 49: UIMP: Sistemas Basados en Contexto

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.

Page 50: UIMP: Sistemas Basados en Contexto

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.

Page 51: UIMP: Sistemas Basados en Contexto

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.

Page 52: UIMP: Sistemas Basados en Contexto

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.

Page 53: UIMP: Sistemas Basados en Contexto

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

Page 54: UIMP: Sistemas Basados en Contexto

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)

Page 55: UIMP: Sistemas Basados en Contexto

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)

Page 56: UIMP: Sistemas Basados en Contexto

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)

Page 57: UIMP: Sistemas Basados en Contexto

57

Ontología para Sistema Context-Aware (I)

FrameworkLocationSpatial Region Place Temporal RegionProfileService ProductDevice

Page 58: UIMP: Sistemas Basados en Contexto

58

Ontología para Sistema Context-Aware (II)Servicios y Productos

Categorías de Servicios

Servicios son los Productos en la Ontología

Page 59: UIMP: Sistemas Basados en Contexto

59

Ontología para Sistema Context-Aware (III)Relación entre los conceptos ontológicos

Page 60: UIMP: Sistemas Basados en Contexto

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.

Page 61: UIMP: Sistemas Basados en Contexto

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

Page 62: UIMP: Sistemas Basados en Contexto

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

Page 63: UIMP: Sistemas Basados en Contexto

63

Modelo de Agentes (II)

Page 64: UIMP: Sistemas Basados en Contexto

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

Page 65: UIMP: Sistemas Basados en Contexto

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

Page 66: UIMP: Sistemas Basados en Contexto

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

Page 67: UIMP: Sistemas Basados en Contexto

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

Page 68: UIMP: Sistemas Basados en Contexto

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

Page 69: UIMP: Sistemas Basados en Contexto

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

Page 70: UIMP: Sistemas Basados en Contexto

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

Page 71: UIMP: Sistemas Basados en Contexto

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

Page 72: UIMP: Sistemas Basados en Contexto

72

Muchas Gracias!