Arquitectura de pizarras distribuidas para sistemas de Inteligencia Ambiental

  1. Fernández de Alba López de Pablo, José María
Dirigida por:
  1. Rubén Fuentes Fernández Director
  2. Juan Luis Pavón Mestras Director

Universidad de defensa: Universidad Complutense de Madrid

Fecha de defensa: 15 de julio de 2014

Tribunal:
  1. Jorge Jesús Gómez Sanz Presidente
  2. María Victoria López López Secretario/a
  3. Jesus Garcia Herrero Vocal
  4. Iván García Magariño Vocal
  5. Emilio Serrano Fernández Vocal
Departamento:
  1. Ingeniería del Software e Inteligencia Artificial

Tipo: Tesis

Resumen

La información en un sistema de IAm (Inteligencia Ambiental) es de naturaleza diversa. Los datos sin procesar de los sensores se agregan y ltran para crear información abstracta, que puede ser procesada por componentes que observan sus cambios para decidir qué acciones tomar. Este proceso involucra las siguientes tareas: encontrar las fuentes de información disponibles y sus tipos, reunir los datos proporcionados por estas fuentes, facilitar la fusi ón (agregación y derivación) de los fragmentos de información, y actualizar la representación de este contexto para que sea usada por aplicaciones. El proceso inverso también aparece en los sistemas IAm, cuando cambios en la representación del contexto disparan acciones en dispositivos actuadores. Además, los dispositivos pueden ser agregados, cambiados o fallar, modi- cando la topología del sistema. También, pueden cambiar otras circunstancias afectando a las actividades de los usuarios, p.ej., el tiempo, la localizaci ón, o la presencia de otros usuarios. Estos cambios modi can la información que el sistema tiene disponible para satisfacer las necesidades de los usuarios (es decir, el contexto). Los sistemas IAm, deben adaptarse a estas condiciones cambiantes para ser capaz de proporcionar sus servicios, siendo tan poco intrusivos como sea posible. También hay requisitos de rendimiento que el sistema debe cumplir para proporcionar respuestas en tiempo real a los estímulos del entorno. Los mecanismos de control oportunista abordan estos aspectos monitorizando el contexto, y suspendiendo o resolviendo objetivos cuando las condiciones apropiadas se cumplen. Este trabajo presenta FAERIE (Framework for AmI: Extensible Resources for Intelligent Environments), una infraestructura que aborda los requisitos anteriores facilitando la gestión y fusión de información del contexto a distintos niveles. Está implementada siguiendo un modelo de pizarras distribuidas. Cada nodo del sistema tiene una pizarra privada para gestionar fragmentos de información a los que pueden acceder componentes observadores, ya sea local o remotamente (desde otras pizarras) de una forma transparente. También proporciona facilidades para implementar patrones de adaptación tales como a cambios en la topología o a ciertas actividades en un ujo de trabajo. La infraestructura se ofrece con un conjunto de elementos para facilitar su uso en el desarrollo de aplicaciones IAm. Concretamente, se proporciona una guía de desarrollo, que explica el proceso desde la extracción de requisitos a la implementación y despliegue siguiendo la arquitectura. Además, la infraestructura software viene con un conjunto de herramientas orientadas a hacer un desarrollo con integración continua de los módulos software. Este concepto persigue controlar en todo momento el estadio de desarrollo y la salud del software, entre otros aspectos, mediante la ejecución y validación automática de pruebas, bajo distintos despliegues y considerando diferentes casos de uso. Para automatizar en la mayor medida posible todo el proceso de validación de una aplicación, se ha desarrollado un adaptador de la infraestructura para hacer uso de una plataforma de simulación de entornos 3D. De esta manera, las aplicaciones pueden desplegarse en el entorno simulado como si fuese el real, abaratando los costes de detección de errores en las primeras fases de pruebas. Frente a otras arquitecturas, FAERIE ofrece un marco de desarrollo más robusto y sencillo, que otorga su ciente control para manejar la complejidad de este tipo de aplicaciones, y reduce el esfuerzo del seguimiento y validación de su desarrollo. Con respecto a su propia arquitectura, el modelo de pizarras distribuidas permite que la obtención del contexto sea transparente para su uso, manteniendo la escalabilidad y evitando el problema de tener un único punto de fallo. Aparte de esto, el modelo de procesamiento del contexto utilizado es menos restrictivo que el de otras arquitecturas, permitiendo a cada componente del sistema acceder a información a cualquier nivel de abstracción.