Modelando los Contextos v 0.2

Anuncio
M ODELANDO LOS
C ONTEXTOS
Eleonora Etchemendy
Andrés Macri
Tutora: Regina Motz
Proyecto de grado
ÍNDICE
Índice ............................................................................................................................................ 1
Introducción ................................................................................................................................. 2
Contexto ........................................................................................................................................ 3
Context-aware .............................................................................................................................. 4
Herramientas ............................................................................................................................... 5
Context-toolkit [1]: ................................................................................................................... 5
Componentes y Arquitectura ............................................................................................... 5
The context managing framework .......................................................................................... 6
Aura ........................................................................................................................................... 7
Gaia ........................................................................................................................................... 7
Socam ........................................................................................................................................ 7
Cobra ......................................................................................................................................... 7
Cass ........................................................................................................................................... 7
Camus ....................................................................................................................................... 7
Citron ........................................................................................................................................ 7
Framework de tao gu et al........................................................................................................ 7
arquitectura .................................................................................................................................. 7
Entorno ..................................................................................................................................... 8
Fuentes de Datos ...................................................................................................................... 8
Interprete .................................................................................................................................. 8
Ejemplos: ................................................................................................................................... 8
Ejemplo 1: .............................................................................................................................. 8
Ejemplo 2: .............................................................................................................................. 9
Conclusión .............................................................................. Error! Bookmark not defined.
Glosario ....................................................................................................................................... 11
Anexo .......................................................................................................................................... 14
1
Proyecto de grado
INTRODUCCIÓN
Como seres humanos cada vez que actuamos o hablamos, lo hacemos en un
contexto dado. La adaptación al contexto en nuestra vida cotidiana es muy fácil
para nosotros y la mayoría de las veces se trata de una acción subconsciente.
Cambiamos nuestro comportamiento en función de la situación y en relación al
lugar y con quien nos encontramos. El contexto nos permite discriminar qué es
importante y qué no lo es. Permite enriquecer nuestros conocimientos sobre una
determinada situación aprovechando recuerdos y experiencias relacionadas. A
través del contexto somos capaces de distinguir la enorme cantidad de información
que nos rodea en cualquier punto dado en el tiempo.
La naturaleza de la información que nos rodea no es diferente a los datos que se
pueden encontrar en aplicaciones ubicuas, móviles o web. Como en la vida real,
grandes cantidades de la información son fácilmente disponibles en un número casi
ilimitado de fuentes. Para que es tipo de aplicaciones sean cada vez más exitosas,
dependerán enteramente de su capacidad para entregar la información correcta al
usuario correcto en el momento correcto. El contexto es un poderoso
instrumento para lograr la difusión de la información relevante que esas
aplicaciones demandan.
Nos planteamos algunas preguntas que intentaremos contestar a lo largo del
documento.
¿Qué es el contexto? ¿Es importante en una app? ¿Cambia el comportamiento de
una app? ¿Existen contextos genéricos? ¿Cómo se relacionan? ¿Qué entidades
importan?
Empezamos por entender que es el contexto, como influye en una aplicación.
2
Proyecto de grado
CONTEXTO
Existen muchas definiciones de contexto vamos a citar algunas, porque a partir de
las misma fuimos creando nuestra propia definición.
SCHILIT [1], por ejemplo, identificó al
entorno informático (procesadores,
dispositivos, pantallas, etc), entorno de usuario (ubicación, situación social, las
personas cercanas, etc) y el medio físico (por ejemplo, la iluminación y el nivel de
ruido) como los componentes clave de contexto.
DEY Y ABOWD[2] , describe el contexto como:
" Cualquier información que se puede utilizar para caracterizar la situación de una
entidad. Una entidad es una persona, lugar u objeto que se considera relevante a la
interacción entre un usuario y una aplicación, incluyendo el usuario y las propias
aplicaciones. El contexto es típicamente la ubicación, la identidad y estado de las
personas, grupos y objetos computacionales y físicos."
DOURISH , por ejemplo, dice que el contexto no es información por si misma, sino
más bien una característica de la información existente. Cada objeto de datos
puede ser "contextualmente relevante "a otro objeto para una actividad particular
de un usuario. Es decir, no hay separación entre los objetos de contexto y aplicación
normal objetos.
Las definiciones de contexto antes mencionados son en su mayoría influenciadas
por la comunidad informática ubicua y omnipresente.
Nuestra definición
INFORMACIÓN RELEVANTE Y VARIABLE DEL ENTORNO PARA UN
OBJETIVO DADO POR UN DETERMINADO USUARIO .
3
Proyecto de grado
CONTEXT-AWARE
Las aplicaciones Contex-Aware, o sensibles al contexto consideran el qué, quién,
cuándo y dónde de una entidad y usan esa información para determinar por qué
una situación (la forma en la que se dispone algo en un determinado espacio) está
ocurriendo.
Son aplicaciones que adaptan automáticamente su comportamiento y
configuración, dependiendo de las condiciones del entorno y de las preferencias del
usuario.
4
Proyecto de grado
HERRAMIENTAS
Vamos a describir algunos de los frameworks ya existentes y sus arquitecturas
Context-toolkit [1]:
Se basa en la definición de Dey y Abowd, fue creado por ellos en la universidad de
Berkeley su objetivo es ayudar a la ardua tarea de la captación de contexto.
Los servicios de ContextToolkit son:






Encapsulación de sensores
El acceso a los datos de contexto a través de una API de red
Abstracción de datos de contexto a través de intérpretes
Intercambio de datos de contexto a través de una infraestructura
distribuida.
El almacenamiento de datos de contexto, incluyendo la historia control.
Acceso básico para la protección de la privacidad
Componentes y Arquitectura
Está basado en tres componentes principales.



Widget. Recogen la información de los sensores y la envía. Son
responsables de la separación de los detalles de detección de contexto y de
utilizarlo. Ellos abstraer los detalles de cómo el contexto se detecta a partir
de las aplicaciones y otros componentes de contexto que necesitan el
contexto. Widgets pueden ser considerados como similares a los widgets de
interfaz gráfica de usuario (por ejemplo, campos de texto, hilanderos), pero
aplicados a los sensores y actuadores que serían comunes en los sistemas de
computación ubicua. Cada widget contexto es responsable por algún
pequeño conjunto de contextos que se captura de un (hardware o software)
del sensor.
Server. Recogen la información de los Widgets. Evitan que los usuarios se
deban conectar a n máquinas para recoger n piezas de información, pueden
agregar y combinar información de varios widgets para ofrecer una única
pieza de información. A su vez, estos componentes abstraen a la aplicación
de la forma en a que diferentes informaciones de contexto deben ser
combinadas para obtener información de un cierto mayor nivel.
Intérprete :Los intérpretes son los encargados de recoger cierta
información en conjunto e interpretarla, para crear contexto de más alto
nivel. Estos intérpretes pueden recibir la información de varios widgets o
agregadores y combinarla para crear eventos de mayor abstracción del tipo
“se ha iniciado una reunión”.
5
Proyecto de grado
Figura 1Arquitectura de ContextToolkit[3]
The context managing framework
Se centra básicamente en la captación, modelado y razonamiento del contexto. Su
arquitectura está dispuesta en forma jerárquica teniendo un componente central al
que la aplicación accede. De esta forma se crean dos capas: una con el componente
central y otra con los componentes secundarios que este componente utiliza.
6
Proyecto de grado
Aura
Gaia
Socam
Cobra
Cass
Camus
Citron
Framework de tao gu et al
ContextToolkit utiliza conjuntos de pares clave-valor para representar valores. Aura y
CASS utilizan una Base de Datos relacional. Formas más sofisticadas de contexto son
utilizadas en ContextManaging Framework (RDF), Tao Gu et al.(RDF/OWL), SOCAM
(OWL), CAMUS (OWL) y COBRA (OWL), que utilizan ontologías para el modelado.
ARQUITECTURA
7
Proyecto de grado
Entorno
Es demasiado ambiguo y bien podría incluso representar un sinónimo del mismo
concepto de contexto que se intenta categorizar. Pero el contexto no es el entorno
sino su sentido.
Fuentes de Datos
Son los datos relevados de las distintas fuentes.
Por ejemplo, de los sensores se puede tomar temperatura, movimiento, velocidad,
luminosidad, etc. También podrían ingresarse datos manualmente a través de una
interfaz para el usuario, o incluso como en un LMS del tipo "Moodle" donde se
obtienen estadísticas.
Interprete
A grandes rasgos, se encarga de tomar los datos (entre estos datos los límites), los
monitorea para detectar cuando se alcanza un límite, y cuando esto sucede se
encarga de mandar eventos al entorno según el objetivo deseado por el usuario.
Ejemplos:
Ejemplo 1:
Se busca climatizar un salón(entre 20°C y 22°C) en caso de que se encuentre al menos una
persona adentro.
Entorno:
Salón, aire acondicionado, cantidad de personas.
8
Proyecto de grado
Fuente:
Sensor de temperatura del aire acondicionado, sensor de movimiento.
Objetivo:
Mantener la temperatura en 22°C en caso de que se encuentre una persona dentro del
salón.
Usuario:
Persona que ingresa al salón.
Límite:
Límite inferior 20°C
Límite superior 22°C
Funcionamiento del intérprete:
El intérprete monitorea el ingreso de personas y también la temperatura utilizando los
sensores. En caso de que se encuentre una persona dentro del salón y:
-
La temperatura sea menor a los 20°C se dispara el evento “subir temperatura”
La temperatura sea mayor a los 22°C se dispara el evento “bajar temperatura”
Ejemplo 2:
Se quiere mejorar el transito en las autopistas, para esto se implementa una “ruta
inteligente” que consiste en:
Existen 2 carriles, el de la izquierda no permite ir a menos de 110 km/h, y el de la derecha
es para circular a menos de 110 km/h.
Entorno:
Ruta inteligente, sensores de velocidad, autos.
Fuente:
Sensores de velocidad, sensor de movimiento que detecta por cual carril va el vehículo.
Usuario:
Vehículos.
Límite:
110 km/h.
Funcionamiento del intérprete:
La ruta mide la velocidad de los autos:
9
Proyecto de grado
-
Auto que va por la izquierda y baja de 110 km/h lo acelera, y en caso de no poder
subirle la velocidad lo obliga a pasarse al carril de la derecha
Auto que va por la derecha a más de 110 km/h lo lleva al carril de la izquierda.
10
Proyecto de grado
GLOSARIO
Computación Ubicua: (ubicomp)
Es entendida como la integración de la informática en el entorno de la persona, de
forma que los ordenadores no se perciban como objetos diferenciados. Esta
disciplina se conoce en inglés por otros términos como Pervasivecomputing,
Calmtechnology, ThingsThatThink y Everyware. Desde hace unos años también se
denomina inteligencia ambiental.1
Framework:
Es un conjunto estandarizado de conceptos, prácticas y criterios para enfocar un
tipo de problemática particular que sirve como referencia, para enfrentar y resolver
nuevos problemas de índole similar.
Desde el punto de vista del desarrollo de software, un framework es una estructura
de soporte definida, en la cual otro proyecto de software puede ser organizado y
desarrollado. Suelen incluir soporte de programas, bibliotecas, lenguaje de
scripting, software para desarrollar y unir diferentes componentes de un proyecto
de desarrollo de programas. Permiten facilitar el desarrollo de software, evitar los
detalles de bajo nivel, permitiendo concentrar más esfuerzo y tiempo en identificar
los requerimientos de software.
Situación:
La forma en la que se dispone algo en un determinado espacio.
11
Proyecto de grado
REFERENCIAS
[1] A Conceptual Framework and a Toolkit for Supporting the Rapid Prototyping of
Context-Aware Applications Anind K. Dey and Gregory D.
Abowdhttp://www.cc.gatech.edu/fce/ctk/pubs/HCIJ16.pdf
[Consulta: Mayo 2014]
[2] Context-toolkit
http://contexttoolkit.sourceforge.net/
[Consulta: Mayo 2014]
[3] An Architecture To Support Context-Aware Applications
ftp://ftp.cc.gatech.edu/pub/gvu/tr/1999/99-23.pdf
[Consulta: Mayo 2014]
[4]ContextManagingframework
http://140.127.22.92/download/learn_web/Tong(93-2)-Distribution_Multimedia/database/67/Managing%20Context%20Information%20in%20Mobile%20Devices.pdf
[Consulta: Mayo 2014]
12
Proyecto de grado
13
Proyecto de grado
ANEXO
AGREGAMOS ALGO DE CÓDIGO O VEMOS
14
Descargar