• No se han encontrado resultados

3. La plataforma de sensado InCense

3.1. Arquitectura

Retomando el objetivo principal del presente trabajo de investigación, se abordó el problema a nivel arquitectónico, es decir, la solución propuesta (que será detallada en el capítulo 4) requirió extender la arquitectura original de InCense. De ahí que debe hacerse una diferenciación clara entre arquitectura original y arquitectura extendida. La Figura 3 muestra el diagrama de la arquitectura original de InCense (Pérez Gamboa, 2012).

En la Figura 3 se observan seis elementos. Primero se tiene el Editor InCense que permite crear nuevos proyectos (representando la configuración de nuevas campañas de sensado), estos son enviados al Administrador de proyectos que selecciona los dispositivos que llevarán a cabo estas nuevas campañas de sensado. Dentro del dispositivo está corriendo la Aplicación Móvil que recibe el nuevo proyecto y se inicia la campaña de sensado, los datos recolectados y pre-procesados luego son enviados al Repositorio de contexto para su análisis.

Figura 4. Proyecto de sensado creado con el Editor InCense.

Cabe mencionar que la arquitectura de InCense está inspirada en el patrón arquitectónico de ductos y filtros. Pero esto no se hace evidente hasta que se analiza a mayor detalle. Por ejemplo en la Figura 4 se puede apreciar un nuevo proyecto de sensado creado con el Editor InCense. Se trata de un proyecto para detectar cuando el usuario del teléfono ha terminado de realizar una actividad vigorosa y luego la Aplicación Móvil le solicita que conteste un cuestionario. Al inicio del flujo de datos se encuentra un sensor: el acelerómetro. Luego la salida del sensor es la entrada de un componente (creado por el usuario) para estimar el equivalente metabólico de tarea (MET) que, a su vez, transmite el resultado de su procesamiento a un componente que tiene el propósito de evaluar si el portador del teléfono ha terminado una actividad vigorosa o no. Hasta este punto, se obtiene un falso o verdadero como dato de entrada para el trigger. Cuando se obtiene un verdadero se inicia automáticamente un cuestionario para preguntar al individuo sobre la actividad que realizó y esto es almacenado en la memoria del teléfono. En la Figura 4 también se observa una

conexión (ducto) que va del componente MET hasta el sink (memoria del teléfono). La salida directa del componente MET se almacena también en la memoria del dispositivo a la vez que se transmite al siguiente componente. Con esta información se podría generar un modelo personalizado para estimar adecuadamente la actividad de un usuario o un grupo similar de usuarios ya que la información del cuestionario se complementa con los datos del nivel de intensidad de la actividad física así como la duración del evento.

InCense cuenta con objetos ya definidos que permiten la construcción de nuevos proyectos de sensado y que forman parte de la notación gráfica de la plataforma.

Tabla 2. Figuras de los elementos existentes en InCense, necesarios para construir proyectos.

Figura Nombre

Sensor

Disparador de evento (Trigger)

Cuestionario

Componente

Almacenamiento (sink)

La Tabla 2 muestra la representación gráfica de los distintos elementos que forman parte de la notación gráfica de InCense, mismos que se explican a detalle en las siguientes líneas. 3.1.1. Sensores

Es un objeto de software genérico que modela un sensor (transductor) en el dispositivo móvil. A partir de este objeto se implementa el acelerómetro o cualquier otro sensor disponible en los teléfonos inteligentes más modernos permitiendo la manipulación de

manera directa a través de la plataforma de sensado. Está presente en el Editor InCense y en la Aplicación Móvil.

Un sensor es el inicio de toda campaña de sensado con InCense y es responsable de generar datos que luego son transmitidos a un componente o directamente al almacenamiento. Su representación gráfica es un rombo con el nombre del sensor (Tabla 2). El color puede variar de acuerdo al sensor de que se trate. La Tabla 3 muestra el código de colores asignado a cada sensor de acuerdo a los colores asignados en el Editor InCense.

Tabla 3. Código de colores para los sensores de acuerdo al Editor InCense.

Color Sensor

Azul Acelerómetro Verde Micrófono Marrón Nivel de batería Azul fuerte Bluetooth Naranja GPS Morado WiFi

Negro Llamadas telefónicas Gris Estado del teléfono

3.1.2. Disparador de evento (Trigger)

Elemento que permite definir eventos específicos en el teléfono inteligente. Por ejemplo si el usuario se encuentra realizando actividad física vigorosa, al terminar la actividad, puede comenzar un cuestionario. Presente también en el Editor InCense y la Aplicación Móvil. Se representan gráficamente con un triángulo apuntando hacia la derecha (Tabla 2).

3.1.3. Cuestionario (Survey)

Como se mencionó al inicio del capítulo, con InCense también se puede realizar sensado participativo, por ello existen los cuestionarios. Este objeto se puede desplegar después de que suceda cierto evento o a una hora específica. De igual manera que los sensores y eventos, estos se encuentran implementados en el Editor InCense y en la Aplicación Móvil. La Figura que lo representa es un rectángulo de esquinas redondeadas (Tabla 2).

3.1.4. Componente (Component o Filter)

Este es posiblemente uno de los objetos más sofisticados en la arquitectura de InCense. En la arquitectura original de InCense se le designó como filtro, sin embargo, este nombre

generaba algo de confusión al relacionarse con el concepto de filtro en el procesamiento de señales o imágenes por lo que se decidió cambiarlo a componente. De manera gráfica se le representa con un rectángulo (Tabla 2).

Como se mencionó anteriormente, un componente tiene una entrada de datos. Mismos que son procesados y transmitidos a otro componente o en su defecto, almacenados. Funciona como una entidad, un componente realmente está formado por dos objetos: un DataFilter y un Data. El primero es responsable del procesamiento y el segundo tiene el propósito de almacenar los datos una vez que son procesados y transportarlos al siguiente componente. Además, dado que son creados por el usuario, el Editor InCense y la Aplicación Móvil deben estar sincronizados para que en ambos se encuentre implementado el componente. 3.1.5. Almacenamiento (Sink)

De manera opuesta al componente, este es el objeto más sencillo de agregar a un proyecto ya que sirve para indicar el final del mismo. Representa el almacenamiento en un medio local (del teléfono inteligente) al final del flujo de datos del proyecto. Almacena lo mismo los datos provenientes de un sensor que las respuestas de un cuestionario. Su representación gráfica son dos círculos concéntricos (Tabla 2).