1. Grupo de Procesado de Datos y Simulación
ETSI de Telecomunicación
Universidad Politécnica de Madrid
sistemas de gestión del contexto
curso de doctorado:
tecnologías y servicios de localización – 07/08
Josué Iglesias
josue@grpss.ssr.upm.es
2. contenido
introducción
modelado contextual
o ontologías
razonamiento contextual
adquisición contextual
o arquitecturas SOA
servicios web
OSGi
líneas futuras
sistemas de gestión contextual – GPDS 2008 josue@grpss.ssr.upm.es 2 / 13
3. gestión del contexto
bloques
dquisición
aplicaciones cómo adquirimos los datos
contextuales (arquitectura)
modelado de razonamiento
información contextual
adquisición contextual odelado
cómo almacenamos la
sensores
información contextual (o
de apoyo a la gestión)
azonamiento
sistemas de gestión contextual – GPDS 2008
cómo inferir nueva
josue@grpss.ssr.upm.es 3 / 13
4. localización y gestión del contexto
aplicación aplicación … aplicación
sistemas de gestión de contexto
sensor sensor sensor sensor sensor sensor
… …
(GPS) (BT) (WiFi) (caídas) (agenda) (temp.)
localización (otros)
sistemas de gestión contextual – GPDS 2008 josue@grpss.ssr.upm.es 4 / 13
5. ¿por qué?
objetivos
aumento de la satisfacción del usuario
mediante el suministro de servicios computación
más adaptados a sus características context-aware
automatización de funciones servicios
rutinarias mediante la definición de centrados
comportamientos basados en la
(...)
información de contexto en el usuario
entrega de información precisa y inteligencia
seleccionada en el momento y lugares computación ambiental
apropiados
ubicua
software menos intrusivo ya que la
situación del usuario está mejor gestión contextual
descrita
más personalización aplicaciones
----------------------------------- modelado de razonamiento
middleware
facilitar la tarea a los desarrolladores información contextual
de aplicaciones contextuales
adquisición contextual
disminuir el tiempo de desarrollo de
este tipo de servicios sensores
sistemas de gestión contextual – GPDS 2008 josue@grpss.ssr.upm.es 5 / 13
6. modelado contextual
definición
descripción formal de la información contextual adquirida, de
una forma estructurada para que pueda ser fácilmente
almacenada, recuperada y procesada computacionalmente (es
decir, que facilite el razonamiento sobre ella)
clasificación
tupla-valor (bases de datos)
modelos basados en objeto
esquemas de marcado (XML, ...)
modelos gráficos (UML, ...)
(...)
modelos basados en ... ontologías (RDF, OWL, ...)
sistemas de gestión contextual – GPDS 2008 josue@grpss.ssr.upm.es 6 / 13
7. ontologías
definición
representación explícita y formal de un conjunto de conceptos
pertenecientes a un determinado dominio y las relaciones entre estos
conceptos
componentes características
clases ( sintaxis robusta
(evidente)
individuos)
semántica robusta
atributos (descripción precisa del significado del
conocimiento)
relaciones soporte eficiente al razonamiento
o comprobar consistencia
restricciones
o descubrir relaciones entre clases no
reglas explicitadas (~ inferencia)
o clasificación automática de instancias en
eventos clases
(...) (...)
información características servicios
modelar
contextual contextuales (OWL-S)
sistemas de gestión contextual – GPDS 2008 josue@grpss.ssr.upm.es 7 / 13
9. ontologías – ejemplo (ii)
<cobra:Person rdf:about="http://www.cs.umbc.edu/people/hchen4">
<cobra:isCurrentlyIn rdf:resource="http://www.cs.umbc.edu/ECS210I"/>
</cobra:Person>
<cobra:Room rdf:about=”http://www.cs.umbc.edu/ECS210I”/>
<cobra:hostsMeeting rdf:resource=”http://www.ittalks.org/me293”/>
</cobra:Room>
Person(“Harry Chen”) is in Room(“ECS210I”)
For any room that has the property hostsMeeting() with
rdfs:range limited to Meeting, the room must be a type of
MeetingPlaceInBuilding
Room(“ECS210I”) has the property hostMeeting(“me239”)
Room(“ECS210I”) is a type of Meeting-PlaceInBuilding
If a person has the property isCurrentlyIn() with a value that is
a type of Room class, then that person is a type of MeetingParticipant
(i.e., that person is a meeting participant)
Person(“Harry Chen”) is a meeting participant
sistemas de gestión contextual – GPDS 2008 josue@grpss.ssr.upm.es 9 / 13
10. lenguajes ontológicos
RDF(S)
OWL
fuente: “The semantic web vision. Where are we?” (septiembre / octubre 2007)
sistemas de gestión contextual – GPDS 2008 josue@grpss.ssr.upm.es 10 / 13
11. editores ontológicos
protégé
fuente: “The semantic web vision. Where are we?” (septiembre / octubre 2007)
sistemas de gestión contextual – GPDS 2008 josue@grpss.ssr.upm.es 11 / 13
12. razonamiento contextual
definición
deducción de información nueva y relevante para el usuario y las
aplicaciones de usuario a partir de las distintas fuentes de datos
contextuales
aplicación
predicción de cambios en
el contexto validación del modelo
monitorización monitorización
contextual
métodos de predicción contextual del modelo
secuencial (Kalman, detección de
MonteCarlo, filtro de inconsistencias, …
partículas, …) bajo nivel
pre
fusión inferencia
-procesado
gestión de atributos no indicados integración fiable mapeo low – high data context
limpieza de datos (p.ej. quitando cabeceras) de los datos de razonamiento lógico (+ontologías)
facilitar posteriores procesamientos varios sensores razonamiento probabilístico
sistemas de gestión contextual – GPDS 2008 josue@grpss.ssr.upm.es 12 / 13
13. motores de razonamiento
jena
fuente: “The semantic web vision. Where are we?” (septiembre / octubre 2007)
sistemas de gestión contextual – GPDS 2008 josue@grpss.ssr.upm.es 13 / 13
14. adquisición contextual
definición
estructuras coordinadas concretas de los diversos procesos y
componentes implicados en la gestión del contexto
(arquitectura)
clasificación
varios niveles de
acceso directo a sensor abstracción
servidor contextual
aplicaciones
widgets (Context Toolkit)
modelado de razonamiento
modelos basados en pizarra
middleware
información contextual
(...) adquisición contextual
arquitecturas orientadas
sensores
a servicios – SOA (OGSi)
sistemas de gestión contextual – GPDS 2008 josue@grpss.ssr.upm.es 14 / 13
15. arquitecturas orientadas a servicios
definición
arquitectura software donde la funcionalidad está empaquetada en unidades
interoperables llamadas servicios, accesibles a través de una red de manera
que puedan ser combinados y reutilizados para generar dinámicamente
aplicaciones de usuario
característica
s
servicios reutilizables
establecimiento un contrato
SOA
formal
bajo acoplamiento entre servicios
posibilidad de composición de
servicios
servicios autónomos
servicios sin estado
los servicios deben poder ser
registrados / descubiertos
sistemas de gestión contextual – GPDS 2008 josue@grpss.ssr.upm.es 15 / 13
16. servicios web (i)
definición
Se trata de una implementación concreta para llegar a una Arquitectura Orientada a
Servicios. Esto implica que tiene sus propios estándares y protocolos para llegar a
conseguir cumplir con las premisas de este tipo de arquitecturas.
Las principales tecnologías sobre las que basan todas las demás son HTTP, XML y las
siguientes tecnologías:
UDDI WSDL SOAP
Simple Object Access
Universal Description, Web Services Description Protocol - protocolo
Discovery and Integration - Language - lenguaje de estándar utilizado en
registro basado en XML definición de servicios Web servicios Web que define
utilizado para determinar el basado en XML. Se utiliza cómo dos objetos en
catálogo de servicios para describir la interfaz diferentes procesos pueden
disponibles en un servidor pública de servicios Web, es comunicarse por medio de
dado. Diseñado para ser decir, los requisitos de intercambio de datos XML.
consultado utilizando SOAP protocolo y los formatos de Puede funcionar sobre
y ofrecer documentos WDSL los mensajes necesarios cualquier protocolo de
sobre los servicios Web para interactuar con ellos Internet, pero por
comodidad generalmente se
hace sobre HTTP
sistemas de gestión contextual – GPDS 2008 josue@grpss.ssr.upm.es 16 / 13
18. OSGi (i)
definición
Open Services Gateway Initiative – plataforma software Manifest-Version: 1.0
abierta con una arquitectura común para que proveedores Bundle-Name: simplebundle
Bundle-SymbolicName: simplebundle
de servicios, desarrolladores, vendedores de SW, operadores Bundle-Version: 1.0.0
y suministradores puedan desarrollar, desplegar y gestionar Bundle-Description: Demo Bundle
servicios de forma coordinada - añade un modelo de Bundle-Vendor: Vodafone
Bundle-Activator: de.l.Activator
componente completo y dinámico a los entornos Java Bundle-Category: example
clásicos Import-Package: org.osgi.framework
característica
s
estándar abierto distintas module
implementaciones compatibles define el formato de los paquetes que contienen el SW Java
independiente de la plataforma (bundles)
HW o archivos .jar
o clases
gestión del ciclo de vida
o metadatos (imports/exports, restricciones, ...)
(instalación / desinstalación,
inicio / parada) – sin necesidad life cycle
de reiniciar el sistema ofrece una API para manejar los bundles a nivel de
mecanismos de registro – instalación/desinstalación, inicio/parada, chequeo de estado, ...
publicación – descubrimiento service
de servicios bundles servicios – mecanismos de registro, publicación,
convergencia descubrimiento, ...
sistemas de gestión contextual – GPDS 2008 josue@grpss.ssr.upm.es 18 / 13
20. sistema de gestión contextual (ejemplo)
sistemas de gestión contextual – GPDS 2008 josue@grpss.ssr.upm.es 20 / 13
21. líneas futuras - GPDS
servicios web
SOA ontologías
SOAP UDDI razonamiento
OSGi OWL
WSDL
corto plazo medio plazo largo plazo
aplicar las tecnologías de
servicios web (SOAP, WSDL y
razonamiento
UDDI) a los despliegues modelo contextual
base datos ontologías aplicaciones
desarrollo SW siguiendo el sistema de gestión
modelo OSGi OWL (Protégé)
Jena
(servidor OSGI migrar
servicios existentes)
QoC – Calidad del contexto (precisión, actualización, ...)
seguridad
(funcionalidad horizontal a todo el sistema de gestión contextual)
sistemas de gestión contextual – GPDS 2008 josue@grpss.ssr.upm.es 21 / 13
23. OWL-S
OWL-S
Ontology Web Language for Services - especificación basada en OWL que
permite publicar de forma declarativa las propiedades y cualidades de un
servicio, brindando la posibilidad de descubrir e invocar servicios de forma
automática así como componerlos teniendo en cuenta su descripción
semántica
Servicios móviles basados en contexto – CISTI 2008 josue@grpss.ssr.upm.es 23 / 19
25. servicios web - evolución
• Actualmente los Servicios Web están sufriendo una evolución
importante impulsada por los nuevos conceptos de Web 2.0 y
de Web Semántica. En el siguiente dibujo se puede ver las tres
generaciones que se les presupone en los próximos años a los
Servicios Web:
Servicios móviles basados en contexto – CISTI 2008 josue@grpss.ssr.upm.es 25 / 19
Hola, buenos días. Pues yo os voy a hablar un poco sobre los “sistemas de gestión del contexto”
Iniciaré la chala con una introducción a este tipo de sistemas. Luego explicaré cada uno de los 3 grandes bloques en los que se suele dividir estos sistemas: modelado, razonamiento y adquisición, centrándome en algunas tecnologías concretas. Para acabar con una propuesta de líneas futuras.
Esta podría ser una división muy sencilla de los sistemas de gestión del contextual, que se sitúan entre los distintos sensores desplegados y las aplicaciones que harán uso de la información contextual
Con esta transparencia simplemente quería enlazar el tema del curso de doctorado (localización) con los sistemas de gestión contextual. Como hemos dicho antes, éstos se van a colocar entre los sensores y las aplicaciones contextuales, pudiendo ser algunos de estos sensores utilizados para localizar a un determinado usuario. Los sistemas de gestión contextual serán utilizados, entre otras cosas, para gestionar
¿Por qué son necesarios los sistemas de gestión contextual? Pues bien, para ofrecer un marco sobre el que sustentar una serie de paradigmas y perspectivas, como puede ser XX XX XX, que aparecen con el objetivo de hacer un uso inteligente, automático y coordinado de la información contextual de usuario. Buscando los siguientes objetivos: de cara a los usuario de cara a los desarrolladores Veremos que ésto se va conseguir mediante una estructura con varios niveles de abstracción Cambio el orden “natural” a: modelado razonamiento adquisición ¿Añadir un 3er punto al final? Soporte a aplicaciones/servicios contextuales, escalabilidad, reusabilidad, ...
“ que facilite el razonamiento sobre ella” veremos que el modelado de la información contextual y el razonamiento contextual está muy relacionados para la gestión del contexto, el objetivo del modelado contextual es, en general, el facilitar los mecanismos de razonamiento
En la gestión contextual podremos utilizar las ontologías para: modelar la información contextual modelar el funcionamiento de los servicios que ofrece el middleware de gestión contextual El soporte al razonamiento automático nos permite comprobar muchos más casos que si lo hiciéramos manualmente. Esto, que puede que no parezca demasiado útil a simple vista, se hace necesario en: el diseño de grandes dominios (más si cabe si hay muchos autores involucrados) y al integrar y compartir ontologías provenientes de fuentes distintas
Ventajas de utilizar un editor The Protégé-OWL editor enables users to: Load and save OWL and RDF ontologies. Edit and visualize classes, properties, and SWRL rules. Define logical class characteristics as OWL expressions. Execute reasoners such as description logic classifiers. Edit OWL individuals for Semantic Web markup.
¿Qué es lo que hace exactamente un motor de razonamiento (Jena)? Jena is a Java framework for building Semantic Web applications. It provides a programmatic environment for RDF , RDFS and OWL , SPARQL and includes a rule-based inference engine. Jena is open source and grown out of work with the HP Labs Semantic Web Programme . The Jena Framework includes: A RDF API Reading and writing RDF in RDF/XML, N3 and N-Triples An OWL API In-memory and persistent storage SPARQL query engine Protégé-OWL is tightly integrated with Jena
“ bajo acoplamiento entre servicios” respecto a sistema operativo, lenguaje de programación, …
SOAP = + flexibilidad frente a HTTP
comentar aquí que ya he conseguido montar sobre OSGi los servlets del Tomcat ¿jini UPnP?
añadir notas que enlacen las partes del gráfico con lo que he dicho en el resto de la presentación