EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
[PIRAmIDE] Representación de la información para el diseño de un sistema ligero de razonamiento
1. Representación de la
información para el diseño de un
sistema ligero de razonamiento
TSI-020301-2008-2 en PIRAmIDE
2. 00 | Índice
01 | Modelos de datos y Sist. de Gest. del Contexto
02.1 | PIRAmIDE: modelo de datos general
02.2 | PIRAmIDE: modelos de datos específicos
03.1 | PIRAmIDE: técnicas de modelado
03.2 | Ventajas del modelado ontológico
04 | Modelado e inferencia en dispositivos móviles
2
3. 01 | Introducción al modelado de datos para
Sistemas de Gestión del Contexto
4. 01 | Introducción al modelado de datos para
Sistemas de Gestión del Contexto
5. 01 | Introducción al modelado de datos para
Sistemas de Gestión del Contexto
6. 01 | Introducción al modelado de datos para
Sistemas de Gestión del Contexto
Modelo de datos
Descripción formal de los conceptos
presentes en un sistema
características de cada concepto
relaciones entre conceptos
odelo
e datos Sistema de Gestión del Contexto
mecanismo interoperabilidad entre
subsistemas
estructurar la información
memoria principal
almacenada en BBDD
inferencia de nuevo contexto
7. 00 | Índice
01 | Modelos de datos y Sist. de Gest. del Contexto
02.1 | PIRAmIDE: modelo de datos general
02.2 | PIRAmIDE: modelos de datos específicos
03.1 | PIRAmIDE: técnicas de modelado
03.2 | Ventajas del modelado ontológico
04 | Modelado e inferencia en dispositivos móviles
7
8. 02.1 | PIRAmIDE: modelo de datos general
“explotar las capacidades de los dispositivos móviles como herramientas para la sensorización y captura de
información, ofreciendo servicios adaptados a las circunstancias del usuario en cada momento”
caracterización “implícita” software hardware
localización condiciones ambientales navegador web interfaz de entrada
actividad interacción con objetos audio/video interfaz de salida
aplicaciones capacidades de
PIRAmIDE comunicación
sensores
(contexto)
caracterización “explícita”
datos personales
grado de discapacidad
preferencias
políticas de privacidad
(servicios)
9. 00 | Índice
01 | Modelos de datos y Sist. de Gest. del Contexto
02.1 | PIRAmIDE: modelo de datos general
02.2 | PIRAmIDE: modelos de datos específicos
03.1 | PIRAmIDE: técnicas de modelado
03.2 | Ventajas del modelado ontológico
04 | Modelado e inferencia en dispositivos móviles
9
10. 02.2 | PIRAmIDE: modelos de datos
específicos
“explotar las capacidades de los dispositivos móviles como herramientas para la sensorización y captura de
información, ofreciendo servicios adaptados a las circunstancias del usuario en cada momento”
eInclusión eSalud - eBienestar
interacción con farmacia
objetos hospital
hogar
consumo medicamentos
vacunas
transporte público recetas
turismo gestión de citas
11. 00 | Índice
01 | Modelos de datos y Sist. de Gest. del Contexto
02.1 | PIRAmIDE: modelo de datos general
02.2 | PIRAmIDE: modelos de datos específicos
03.1 | PIRAmIDE: técnicas de modelado
03.2 | Ventajas del modelado ontológico
04 | Modelado e inferencia en dispositivos móviles
11
12. 03.1 | PIRAmIDE: Técnicas de modelado
empleadas
tupla-valor
... objetos
modelado esquemas ontologías
UML de marcado ...
... modelo E-
R
modelado UML
lenguaje gráfico de modelado
conceptos (clases)
atributos
relaciones simples
(fase de diseño)
13. 03.1 | PIRAmIDE: Técnicas de modelado
empleadas
14. 03.1 | PIRAmIDE: Técnicas de modelado
empleadas
tupla-valor
... objetos
modelado esquemas ontologías
UML de marcado ...
... modelo E-
R
modelado UML modelado ontológico
lenguaje formal de modelado
lenguaje gráfico de modelado semántico
conceptos (clases) alto poder expresivo
atributos (relaciones complejas entre
conceptos)
relaciones simples
OWL: lenguaje estandarizado
(basado en XML)
(fase de diseño) (fase de explotación)
15. 00 | Índice
01 | Modelos de datos y Sist. de Gest. del Contexto
02.1 | PIRAmIDE: modelo de datos general
02.2 | PIRAmIDE: modelos de datos específicos
03.1 | PIRAmIDE: técnicas de modelado
03.2 | Ventajas del modelado ontológico
04 | Modelado e inferencia en dispositivos móviles
15
16. 03.2 | Ventajas del modelado ontológico
reutilización
(ahorro de tiempo/dinero en el
diseño/desarrollo)
compartición de modelos
operabilidad inter-sistema
17. 03.2 | Ventajas del modelado ontológico
reutilización
(ahorro de tiempo/dinero en el FOAF - Friend Of A Friend
diseño/desarrollo)
compartición de modelos
operabilidad inter-sistema
FOAF
18. 03.2 | Ventajas del modelado ontológico
reutilización
(ahorro de tiempo/dinero en el Valid-Time Ontology
diseño/desarrollo)
compartición de modelos
operabilidad inter-sistema
Valid-Time FOAF
19. 03.2 | Ventajas del modelado ontológico
reutilización
(ahorro de tiempo/dinero en el Delivery Context Ontology
diseño/desarrollo)
compartición de modelos
operabilidad inter-sistema
Valid-Time FOAF DeliveryContext
20. 03.2 | Ventajas del modelado ontológico
reutilización
(ahorro de tiempo/dinero en el OntoMODA
diseño/desarrollo)
compartición de modelos
operabilidad inter-sistema
OntoMODA
Valid-Time FOAF DeliveryContext
21. 03.2 | Ventajas del modelado ontológico
reutilización
(ahorro de tiempo/dinero en el SNOMED CT
diseño/desarrollo)
compartición de modelos
operabilidad inter-sistema
OntoMODA SNOMED CT
Valid-Time FOAF DeliveryContext
22. 03.2 | Ventajas del modelado ontológico
reutilización alto grado
(ahorro de tiempo/dinero en el de expresividad
diseño/desarrollo)
(lógica descriptiva)
compartición de modelos herencia rdfs:subClassOf
operabilidad inter-sistema cardinalidad min/maxCardinality
unión / intersección owl:unionOf / owl:intersectionOf
dominios / rangos rdfs:domain / rdfs:range
equivalencias owl:equivalentProperty/Class
relaciones simétricas, owl:SymmetricProperty,
inversas, etc. owl:inverseOf, etc.
OntoMODA SNOMED CT
KB motor de
base de
inferencia
Valid-Time FOAF DeliveryContext (motor de reglas)
conocimiento
23. 00 | Índice
01 | Modelos de datos y Sist. de Gest. del Contexto
02.1 | PIRAmIDE: modelo de datos general
02.2 | PIRAmIDE: modelos de datos específicos
03.1 | PIRAmIDE: técnicas de modelado
03.2 | Ventajas del modelado ontológico
04 | Modelado e inferencia en dispositivos móviles
23
24. 04 | Modelado e inferencia en terminales
móviles
(infraestructura) (entorno móvil)
OWL-DL
asegura ‘decidibilidad’
(tiempo limitado)
limita expresividad
gestión de ontologías (Java)
Jena en fase de investigación
OWL-API proyectos desactualizados
lenguajes de consulta a KB
no herramientas estándares
OWL-Lite
SPARQL
(limita expresividad)
SQWRL
(aumentar eficiencia)
lenguajes de definición de reglas
SWRL
RIF
razonadores ontológicos
Pellet
FaCT++
etc.
Hola, buenos días, bienvenidos a todos ... (El título de la ponencia es: X X X) y Yo os voy a hablar de la importancia del modelado de datos dentro de los sistemas de gestión del contexto y cómo este modelado puede ayudarnos a obtener nuevos datos contextuales (en un proceso que puede denominarse “razonamiento” o “inferencia”)
Incialmente introduciré el concepto de modelado de datos para sistemas de gestión del contexto Posteriormente me centraré en los aspectos concretos modelados en PIRAmIDE, así como las técnicas utilizadas, destacando las ventajas del modelado basado en ontologías Finalizaré planteando la problemática del modelado y el razonamiento en dispositivos móviles
dentro de la arquitectura general de PIRAmIDE que se os ha presentado anteriormente, se ha detectado la necesidad de definir un modelo de datos que gestione la información manejada por el Sistema de Gestión del Contexto.
El Sistema de Gestión del Contexto es el encargado de procesar los datos adquiridos de los sensores desplegados y gestionar la información contextual que las aplicaciones finales pueden posteriormente emplear para adaptar los servicios ofrecidos a las circunstancias de los usuarios y su entorno
y está formado por una serie de servicios SW que en PIRAmIDE hemos llamado habilitadores
resumiendo, podemos decir que un modelo de datos es una descripción formal de los conceptos y aspectos presentes en un sistema, identificando tanto las características propias de cada uno de estos conceptos como, muy importante, la relación entre ellos en lo que respecta específicamente al Sistema de Gestión del Contexto, un modelo de datos nos va a ofrecer: - ofrece un mecanismo de interoperabilidad entre subsistemas, es decir, garantiza que los habilitadores van a hablar el mismo idioma permite estructurar formalmente la información manejada tanto en memoria principal como almacenada en bases de datos finalmente, su formalismo/expresividad nos va a permitir inferir nueva información contextual más abstracta a partir de datos contextuales más básicos (empleando para ello un motor de inferencia / razonador) en este punto es importante incidir en que la inteligencia de un sistema de gestión del contexto se consigue gracias a que el modelo de datos permite relacionar (inteligentemente) una serie de información (la ofrecida por los habilitadores) que aparece inicialmente de forma aislada ¡¡PENSAR EJEMPLO DE INFERENCIA!! agenda reunión localización sala reuniones llamada vibrador
Para hablar de los conceptos concretos que se han decidido modelar en PIRAmIDE, vamos a partir de uno de los objetivos principales del proyecto:
“ explotar las capacidades de los dispositivos móviles como herramientas para la sensorización y captura de información, ofreciendo servicios adaptados a las circunstancias del usuario en cada momento” por tanto, se han contemplado inicialmente conceptos relacionados con usuarios terminales circunstancias del usuario y su entorno contexto servicios habilitadores, los servicios que nos ofrecen la información contextual del usuario y de su entorno servicios finales ofrecidos al usuario a través de su terminal móvil del terminal se modelan tanto sus características SW como HW de SW se modela las características de su navegador web sus capacidades de reproducción audio / video y en general una lista de las aplicaciones relacionadas con PIRAmIDE instaladas a nivel HW nos interesan los interfaces de entrada / salida con los que interactuar con el usuario también las capacidades de comunicación y en general los sensores disponibles en el terminal el modelado del usuario recoge/engloba una caracterización “explícita” del mismo, es decir, información sobre el usuario “relativamente estable” introducida por él mismo o por un administrador, como X Y Z ... por otra parta, el modelado del contexto va a recoger la caracterización “implícita” del usuario y su entorno (es decir, obtenida indirectamente a partir del procesado de la información que se obtiene de los habilitadores), como por ejemplo X Y o patrones de interacción con objetos
además de estos conceptos generales ...
... se han identificado otros más específicos, que se corresponden con dos dominios de aplicación planteados en PIRAmIDE. en el dominio de eINCLUSIÓN: el usuario objetivo son personas con algún tipo de discapacidad. Se han planteado aspectos relacionados con la interacción del usuario con distintos tipos de objetos (ya sea en un entorno comercial como residencial) por ejemplo, asistencia a una persona invidente en la compra de productos (permitiéndolo obtener información sobre un producto, etc.) o para facilitar la utilización de medios públicos de transporte o la hora de realizar tareas relacionadas con el turismo el dominio de eSALUD y eBIENESTAR: se encarga de asistir al usuario en los procesos de asistencia sanitaria, desde la gestión de citas médicas, el guiado en interiores (hospital), gestión de recetas, avisos de toma de medicamentos, etc. Se han modelado por lo tanto una serie de conceptos como X Y Z ...
Ok, pues una vez identificados los aspectos a modelar, éstos deben ser implementado una metodología concreta
En PIRAmIDE, de entre las diferentes técnicas de modelado existentes, se han seleccionado 2: en primer lugar, en la fase de diseño, se ha utilizado UML, que es un lenguaje gráfico de modelado que permite definir los distintos conceptos identificados como “clases”, caracterizadas con una serie de “atributos” y también permite relacionar estas clases al ser un modelo gráfico, permite de un vistazo conocer las relaciones entre clases, siendo muy útil en etapas tempranas de diseño
por ejemplo, y sólo para que os hagáis una idea de la dimensión del modelo PIRAmIDE, ésta sería una imagen del estado actual del modelo general
pues bien, el modelado UML utilizado durante las primeras fases de diseño, va a ser transformado en un modelo ontológico para las fases de explotación las ontologías ofrecen un lenguaje formal de modelado semántico, con un alto poder expresivo (es decir, nos permite definir relaciones más complejas entre los conceptos definidos) y, muy importante, ofrece un lenguaje estandarizado: llamado OWL
¿Cuáles son las ventajas de este modelado ontológico?
pues bien, vamos a nombrar 2 de las más importantes (o de las más útiles para PIRAmIDE): en primer lugar, el hecho de utilizar un lenguaje estándar de modelado (es decir, OWL) permite reutilizar modelos existentes (es decir, un grupo de expertos en una materia puede dedicar su esfuerzo en modelar exaustivamente una serie de conceptos, para que otros se aprovechen de ese esfuerzo posteriormente). de la mano de esta “reutilización” viene también la posibilidad de compartir los mismos modelos entre diferentes sistemas, posibilitando un entendimiento (hablarían el mismo idioma) entre ellos concrétamente en PIRAmIDE, se están utilizando algunos de los modelos ontológico más conocidos, como pueden ser:
Friend Of A Friend que modela principalmente el concepto de persona y otra serie de aspectos relacionados con las personas en el entorno de una oficina informatizada
Valid-Time ontology que modela conceptos como periodos o instantes de tiempo importantes la hora de manejar información adquirida de sensores
Delivery Context Ontology Modela las características de los dispositivos móviles
y ya en relación con los distintos dominios de aplicación planteados se ha planteado utilizar, por ejemplo, ontoModa para modelar los distintos tipos de prendas y tejidos existentes, en el dominio de eInclusión
o SNOMED-CT para gestionar los medicamentos teniendo en cuenta sus principios activos o la dosis con la que se presenta bien, esto por lo que respecta a la reutilización y compartición de modelos otra ventaja de los modelos ontológicos, frente a otros es la posibilidad de razonar sobre la información modelada
esto se consigue gracias a su alto grado de expresividad (es decir, las operaciones lógicas disponibles para relacionar conceptos) para OWL este grupo de operaciones lógicas se corresponde con lo que se llama Lógica Descriptiva, permitiendo, por ejemplo, expresar relaciones de: herencia, permitiendo realizar una clasificación de conceptos permite expresar cardinalidad en las relaciones entre conceptos (p.ej. 1 usuario puede tener 1 único terminal, o n usuarios pueden compartir la mísma localización simbólica, etc.) permite definir uniones o intersecciones de conceptos [no lo digo: definir mediante dominios y rangos el uso de las relaciones entre conceptos (¿¿¿ejemplo???) ] identificar relaciones o conceptos equivalentes (o totalmente contrarios) relaciones simétricas, transitivas, etc. entre conceptos en definitiva, una serie de operaciones que nos permite relaciona inteligentemente los distintos conceptos de un sistema esta expresividad contenida en el modelo de datos puede ser utilizada por los llamados motores de inferencia (o razonadores) para obtener nuevos datos contextuales a partir de datos inicialmente aislados [+++++ motor de reglas]
Por último, os quería comentar el panorama actual en cuanto a modelado e inferencia en dispositivos móviles:
En entornos fijos, que llamamos de “infraestructura”, existen ya bastantes herramientas de modelado y de razonamiento ontológico. tenemos OWL-DL, que limita la expresividad del lenguaje a la de la lógica descriptiva, asegurando de esta forma que los conceptos inferidos se van a poder obtener en un tiempo limitado existen gestores programáticos de ontologías (como Jena o OWL-API) que nos van a permitir gestionar ontologías (es decir, crearlas, borrarlas, modificarlas, etc.) empleando un lenguaje de programación como por ejemplo Java a nivel de razonadores ontológicos, exiten lenguajes de consulta a bases de conocimiento como SPARQL o SQWRL lenguajes de definición de reglas como SWRL o RIF y razonadores ontológicos comerciales como Pellet o FaCT++ sin embargo, el panorama para el entorno móvil es bastante diferente, concretamente este (foto) sí que existen desarrollos, pero o bien están en una fase muy temprana de desarrollo o son proyectos desactualizados y por lo tanto no se suelen adaptar a los últimos estándares existentes uno de estos estándares es, por ejemplo, OWL-Lite: una versión del lenguaje OWL que limita aún más su expresividad buscando aumentar su eficiencia y que pueda ser utilizado en entornos móviles (en el que estamos trabajando en PIRAmIDE) pues bien, como conclusión final, decir que respecto a modelado y razonamiento, el proyecto PIRAmIDE está intentando ahora mismo aplicar, tanto las herramientas y conocimientos de modelado y razonamiento en infraestructura, como las últimas investigaciones y proyectos de modelado y razonamiento en móviles para poder ofertar este tipo de servicios adaptados al usuario y su entorno de los que hablábamos al principio.