En esta sección se discuten los requerimientos que se identificaron para el desarrollo de una infraestructura que permite la creación y evolución de esta anatomía hacia el desarrollo de sistemas conscientes de la actividad.
La infraestructura debe proveer mecanismos robustos para estimar la actividad e inferir otra información contextual
Un elemento central de los escenarios es conocer la actividad ejecutada por el personal médico o por el paciente (i.e., la actividad monitoreada por los trabajadores hospitalarios). Conociendo, esta actividad se puede inferir contexto secundario como la disponibilidad de la persona. Como se ilustra en el escenario II, cuando Carmen busca a una enfermera disponible. Entonces la infraestructura debe de proveer mecanismos para la estimación de esta información –incluyendo la actividad ejecutada, monitoreada y contexto secundario derivado de esta información.
Estos mecanismos deben ser lo suficientemente flexibles para permitir al programador definir máquinas de inferencia incluyendo aquéllas basadas en reglas, así como, aquéllas
Capítulo VII – AToM: Una infraestructura para el desarrollo de aplicaciones conscientes de la actividad
_________________________________________________________________________________________________________ 129
que utilizan algoritmos de reconocimiento de patrones. Independientemente de que el programador puede definir su propia máquina de inferencia, la infraestructura debe incluir diferentes servicios que permitan realizar automáticamente esta inferencia, que se puedan modificar o actualizar fácilmente. Este requerimiento es crucial para el desarrollo de sistemas conscientes de la actividad ya que son la base de la unidad central del sistema de UbiComp.
La infraestructura debe proveer mecanismos flexibles para transformar la información contextual capturada por sensores y dispositivos a una representación estándar
La información contextual como las personas involucradas en una actividad, los artefactos utilizados o la ubicación de una persona, es información contextual relevante y utilizada para inferir la actividad de un usuario (Philipose et. al., 2004; Favela et. al., 2007; Sanchez
et. al., 2008). Se han propuesto diferentes soluciones para capturar y monitorear esta información contextual. Estas soluciones incluyen desde aquéllas que utilizan simples sensores como etiquetas RFID hasta sistemas complejos que fusionan la información de diferentes fuentes. Cada fuente entonces tendrá su propia forma de representación de la información sensada, para después, comunicarla a un componente de software. Por ejemplo, mientras una red neuronal genera como salida un vector de datos una etiqueta RFID genera un identificador.
Esta información sensada por diferentes fuentes debe poder unificarse para después transformarse en una actividad computacional. Es por ello que la infraestructura necesita de mecanismos que permitan codificar esta información hacia una estructura de datos estándar entendida por una aplicación consciente de la actividad. La infraestructura deberá permitir a un programador definir etiquetas para los datos sensados por cada fuente (e.g., un lector de RFID). Esta información la administra un protocolo de comunicación flexible.
La infraestructura debe proveer mecanismos para administrar actividades e historias computacionales en una base de conocimiento
Las actividades e historias se deben almacenar y recuperar cuando sean relevantes, como se ilustra en el escenario III, cuando el Dr. Díaz consulta la guía de tiempo de actividades y recupera aquélla que representa la extracción de médula. Es por ello que la infraestructura
Capítulo VII – AToM: Una infraestructura para el desarrollo de aplicaciones conscientes de la actividad
_________________________________________________________________________________________________________ 130
debe proporcionar mecanismos que permitan el registro, almacenamiento y administración de actividades e historias en una base de conocimiento. Esta base de conocimiento podrá utilizarse después para crear automáticamente actividades o historias similares. Por ejemplo, en el escenario III, cuando se detecta que una actividad similar a aquella ejecutada por el trabajador hospitalario (i.e., la extracción de médula) esta almacenada en la base del conocimiento.
La infraestructura debe proporcionar mecanismos para definir controladores de actividades computacionales
Una actividad no es autónoma, la ejecuta y controla una persona. Una actividad computacional entonces deberá tener un mecanismo que controle su ciclo de vida y ejecución –como inicia, termina, se suspende o se reanuda. Este mecanismo “controlador” actuará como su sistema de archivos, percibiendo nueva información que indique algún evento relacionado con alguna actividad, procesando dicho evento y tomando una decisión acerca del mismo. Por ejemplo, en los sistemas operativos que conocemos y manejamos (e.g. Windows), si un usuario crea un archivo, el sistema de archivos deberá percibir este evento, tomar la decisión de crear un nuevo archivo y generarlo asignándole un espacio de almacenamiento, nombre y otras etiquetas, como fecha de creación. La infraestructura deberá apoyar al programador a crear estos controladores que funjan como el sistema de archivos de actividades e historias.
Estos mecanismos entonces deberán permitir a los controladores percibir información y actuar en función a la información percibida. El mecanismo de percepción deberá ser capaz de percibir información generada por otro controlador de actividad, directamente de otros dispositivos y servicios o, por el usuario. El protocolo de razonamiento deberá gobernar al controlador y decidir las siguientes acciones que éste ejecutará. Y finalmente, se deberá proveer un conjunto de acciones donde el controlador podrá seleccionar cual ejecutar. Estas acciones las puede definir el programador. La infraestructura deberá proveer mecanismos para también definir controladores de historias.
Basados en estos requerimientos se diseño AtoM, una plataforma que facilita el diseño e implementación de aplicaciones conscientes de la actividad –descrita a continuación:
Capítulo VII – AToM: Una infraestructura para el desarrollo de aplicaciones conscientes de la actividad
_________________________________________________________________________________________________________ 131