En este documento de tesis se resume el trabajo de investigación que ha sido llevado a cabo para alcanzar los objetivos planteados, siguiendo la metodología presentada en la sección anterior. El documento se encuentra organizado en seis capítulos.
El primero es un capítulo introductorio en donde se explica la motivación global de esta tesis y los objetivos que se persiguen con este trabajo. Además se describe la metodología que ha sido aplicada para llevar a cabo esta investigación.
El capítulo II “El cómputo consciente del contexto y la incertidumbre en el contexto”, describe el marco teórico de la tesis. Se presentan las definiciones más comúnmente utilizadas del concepto de cómputo ubicuo y cómputo consciente del contexto. Al mismo tiempo se describen algunos de los principales retos a los que se enfrenta esta rama de la computación para lograr su completa inclusión en el mundo real. Particularmente el énfasis de lo presentado en el capítulo se centra en la incertidumbre que puede existir en las aplicaciones conscientes del contexto y el posible daño que causaría en la confiabilidad de los ambientes ubicuos. En este sentido, se describen los diferentes conceptos y nociones de incertidumbre, así como las técnicas generales que han sido utilizadas en la computación para su tratamiento. Se concluye con la presentación y discusión de las diferentes técnicas utilizadas para el tratamiento de la incertidumbre en cómputo consciente del contexto. Además se estableció una clasificación de las técnicas presentadas, tomando como base el grado de intervención y conocimiento del usuario sobre la existencia de la incertidumbre, quedando definidos dos grupos: administración automática de incertidumbre y administración de incertidumbre asistida por el usuario.
Después de presentar un panorama general sobre la administración de la incertidumbre, en el capítulo III “Procedimiento para la administración de incertidumbre en aplicaciones conscientes del contexto” describimos la metodología que hemos desarrollado para la incorporación de mecanismos administradores de incertidumbre en una aplicación consciente del contexto. La metodología busca, entre otras cosas, introducir en los creadores de las aplicaciones conscientes del contexto la necesidad de considerar el manejo
de la incertidumbre desde las primeras etapas de creación de la aplicación. La metodología se basa en el seguimiento sistemático de tres etapas principales: Análisis de los riesgos potenciales de incertidumbre, análisis de tipos de incertidumbre en el contexto y aplicación de estrategias de administración de incertidumbre. En las dos primeras etapas se definen una seria de preguntas base que pueden ser utilizadas como guías para obtener la información necesaria para la identificación de la incertidumbre. En la tercera etapa se plantean las diferentes estrategias que pueden implementarse para el tratamiento de la incertidumbre, nuevamente son agrupadas en: administración automática de la incertidumbre y administración de incertidumbre asistida por el usuario. También se plantea la necesidad de realizar un análisis costo/beneficio de cada una de las técnicas que pretendan ser utilizadas para crear mecanismos administradores de incertidumbre, enfatizando que entre los objetivos de la administración de incertidumbre se encuentran el no complicar el diseño de la aplicación, ni perjudicar el desempeño de la misma y principalmente facilitarle al usuario la utilización del sistema.
Una vez descrita la metodología propuesta pasamos ahora a la parte relacionada con la creación de una aplicación consciente del contexto, para ello en el capítulo IV “Implementación de mecanismos de administración de incertidumbre en aplicaciones conscientes del contexto” se describen las principales arquitecturas de diseño existentes para la creación de sistemas ubicuos. Al mismo tiempo se describen los elementos de la arquitectura en donde es posible incluir un mecanismo de administración de incertidumbre creado con la metodología propuesta. Es importante aclarar que el objetivo es únicamente presentar a los creadores de aplicaciones diferentes opciones de arquitecturas que pueden ser utilizadas y donde pueden incluir el mecanismo, pero respetando al 100% el planteamiento original, sin la intención de modificar o crear una nueva arquitectura.
Hasta este punto ya tenemos definida la metodología para la creación de mecanismos administradores de incertidumbre, también conocemos las arquitecturas de diseño para crear aplicaciones conscientes del contexto. El siguiente paso es validar y evaluar la metodología propuesta, estas actividades son las que se describen en el capítulo V “Evaluación del procedimiento para la implementación de mecanismos administradores de
incertidumbre”. En este capítulo se detallan una serie de experimentos desarrollados con la finalidad de obtener información que permita demostrar la aplicabilidad y funcionalidad del procedimiento propuesto para la creación de mecanismos administradores de incertidumbre. También la información recopilada fue utilizada para evaluar la utilidad de la introducción de un mecanismo de administración de incertidumbre y su impacto en la confiabilidad de las aplicaciones conscientes del contexto. Para la realización de los experimentos se desarrollaron tres aplicaciones conscientes del contexto, cada una aplicada a un escenario diferente. La primera es utilizada en un ambiente de aprendizaje colaborativo dentro de un aula de clases, la segunda consiste en la estimación de la actividad realizada por una enfermera en un Hospital y la tercera es una guía electrónica consciente de la localización para Museos. Algunas de las conclusiones importantes que se obtuvieron como resultado de los experimentos, es que las aplicaciones conscientes del contexto se benefician al contar con mecanismos que les permitan mantener su funcionamiento en presencia de incertidumbre en el contexto. Otro resultado obtenido nos indica que la confianza de los usuarios puede verse afectada por la presencia de la incertidumbre en la aplicación.
Con el análisis, estudio y procesamiento de la información recopilada y la realización del trabajo descrito en los capítulos anteriores, se logró integrar el último capítulo de la tesis “Conclusiones y trabajo futuro”, en donde se resumen las contribuciones y resultados de la investigación realizada, se trazan algunas direcciones interesantes que pueden ser desarrolladas en trabajos futuros. Finalmente se describen las conclusiones a las que se llegó como resultado de todo el trabajo de investigación presentado en este documento de tesis.
Capítulo II
El cómputo consciente del contexto y la incertidumbre en
el contexto
El énfasis principal de los conceptos presentados en esta sección, se centra en los términos relacionados con el cómputo consciente del contexto e incertidumbre. Dentro del primer término se incluyen algunas de las principales definiciones de contexto, las cuales han surgido como resultado de una amplia gama de trabajos de investigación, y que continúa siendo un reto constante a medida que el cómputo ubicuo sigue desarrollándose e integrándose cada vez más a la vida cotidiana de las personas. Referente al concepto de incertidumbre, se realiza una exposición de los diferentes enfoques que han sido utilizados para representar cada una de las nociones de este término, en donde se abarca desde el significado lingüístico de la palabra y su utilización en escenarios de la vida cotidiana, hasta la representación tecnológica del concepto. Para ello se establece una clasificación de los diferentes términos asociados a las siguientes tres nociones: duda, ambigüedad y error. Es importante aclarar que aun cuando el error es una de las posibles fuentes de incertidumbre, no son términos sinónimos. El error es objetivo, representa la diferencia entre el valor medido y el valor verdadero; la incertidumbre tiene un grado de subjetividad, representa la cantidad que describe la probable o posible magnitud del error desconocido (Cohen y Taylor, 1994). Esto es, el desconocimiento genera incertidumbre, por ejemplo, si se tiene un reloj deliberadamente adelantado por 5 minutos, cada vez que se lea la hora se obtiene un error de 5 minutos, pero al conocer ese error es posible asumir con cierto nivel de certeza que la hora correcta es cinco minutos menos de la leída, disminuyendo así la presencia de incertidumbre, al grado tal que es posible asegurar ausencia de incertidumbre. Posteriormente a la definición de los conceptos señalados en el párrafo anterior, se realiza la descripción de algunas de las principales técnicas que han sido utilizadas para el tratamiento de la incertidumbre en diferentes áreas, como por ejemplo en la inteligencia artificial y los sistemas expertos, para lo que se muestra de manera muy breve su manejo
histórico dentro del área de la computación. Desde sus inicios con la utilización de la lógica clásica de probabilidad hasta el manejo actual utilizando lógica difusa.
Finalmente, se hace la exposición de algunas de las técnicas que se han utilizado para el tratamiento de la incertidumbre específicamente en aplicaciones conscientes del contexto. Todas las técnicas presentadas se agrupan en dos clasificaciones generales: Tratamiento automático de incertidumbre y tratamiento de incertidumbre asistido por el usuario. Esta clasificación se basa en el nivel de intervención del usuario requerido por la aplicación para administrar la incertidumbre. En la primera clasificación la aplicación ejecuta las acciones necesarias para la administración de la incertidumbre sin requerir la intervención del usuario y en la segunda clasificación el usuario es el elemento ejecutor.