• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Generación y Explotación de Mapas Semánticos de Instalaciones Organizacionales mediante el uso de Ontologías
 

Generación y Explotación de Mapas Semánticos de Instalaciones Organizacionales mediante el uso de Ontologías

on

  • 256 views

Desarrollar un conjunto de herramientas para la generación y explotación de mapas semánticos, en formato SVG, que describan las instalaciones de organizaciones mediante el uso de ontologías, estos ...

Desarrollar un conjunto de herramientas para la generación y explotación de mapas semánticos, en formato SVG, que describan las instalaciones de organizaciones mediante el uso de ontologías, estos mapas contendrán información contextual de las instalaciones de una organización que les permitirá ser auto-descriptibles.

Statistics

Views

Total Views
256
Views on SlideShare
256
Embed Views
0

Actions

Likes
0
Downloads
1
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Generación y Explotación de Mapas Semánticos de Instalaciones Organizacionales mediante el uso de Ontologías Generación y Explotación de Mapas Semánticos de Instalaciones Organizacionales mediante el uso de Ontologías Document Transcript

    • Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ciencias Computacionales TESIS DE MAESTRÍA EN CIENCIAS Generación y Explotación de Mapas Semánticos de Instalaciones Organizacionales mediante el uso de Ontologías presentada por Ricardo Estrada Peláez Ing. En Sistemas Computacionales por el Instituto Tecnológico de Veracruz como requisito para la obtención del grado de: Maestría en Ciencias en Ciencias de la Computación Director de tesis: Dra. Azucena Montes Rendón Co-director de Tesis: Dr. Juan Gabriel González Serna Jurado: Dr. Máximo López Sánchez – Presidente Dr. Hugo Estrada Esquivel – Secretario M.C. Humberto Hernández García – Vocal Dr. Juan Gabriel González Serna– Vocal SuplenteCuernavaca, Morelos, México. 28 de febrero de 2012
    • Dedicatoria A mi hijo por nacer: Te estamos esperando con los brazos abiertos.
    • AgradecimientosQuiero agradecer a mis padres María de los Ángeles Peláez Conde y José de Jesús EstradaAguilar† por haberme dado vida, y en especial a mi madre por todo el apoyo que me habrindado hasta la fecha.A mi novia Lourdes Vázquez Coronado por estar conmigo todo este tiempo y soportar ladistancia.Al CONACYT por el apoyo económico aportado por su sistema de becas, sin el cualprobablemente no hubiera realizado la maestría.A la Dra. Azucena Montes Rendón y el Dr. Juan Gabriel González Serna por su orientación enesta tesis, así como por sus clases de ontologías y redes respectivamente, que facilitaron debuen modo el desarrollo de este trabajo.A mis revisores el Dr. Hugo Estrada Esquivel, el Dr. Máximo López Sánchez y el M.C.Humberto Hernández García por sus observaciones e interés por hacer de este el mejor trabajoposible.A mis amigos y compañeros de maestría que gracias a su compañía hacían menos pesados losdías, en especial a Felipe A. Román, Everardo Munguía y Nazir O. Molina.
    • ResumenLos Servicios Basados en Localización (LBS por sus siglas en inglés) dan al usuario final unconjunto de servicios empezando por su ubicación geográfica. Estos servicios le ofrecen laposibilidad a los usuarios o máquinas de encontrar o localizar a otra persona, dispositivo,vehículo, recurso o servicio sensibles a la ubicación, así como la posibilidad de rastrear supropia ubicación.El presente trabajo se enfoca en el subsistema de visualización, en donde surge la necesidad derealizar, mapas auto descriptibles de las instalaciones de organizaciones, es decir, edificios,plantas, habitaciones, pasillos, accesos, etc. pertenecientes a una organización, logrando conesto mapas en los cuales sus elementos contengan información de su composición ocaracterización.En este trabajo de tesis se propone un conjunto de herramientas de software que darán lasbases para mejorar el subsistema de visualización de un sistema de recomendación contextual,permitiendo realizar una secuencia de tareas relacionadas a la generación y explotación demapas semánticos.
    • AbstractLocation-based services provide end users with a set of services starting by its geographicallocation. This services offer to users or machines the possibility to find or locate anotherperson, device, vehicle, resource or service sensible to the location, as well as the possibility totrack their own position.This work is focused in the visualization subsystem, where the need to create self-describingmaps of organization‟s facilities arise, that is; buildings, floors, rooms, corridors, access, etc.belonging to the organization, achieving with this, maps where its elements containinformation about their composition or characterization.On this thesis is proposed a set of software tools that will place the foundation to enhance thevisualization subsystem of a contextual recommendation system, by allowing to perform asequence of tasks related to the creation and exploitation of semantic maps.
    • Tabla de contenido.Tabla de contenido........................................................................................................................iListado de códigos. .................................................................................................................... iiiListado de figuras. ..................................................................................................................... iiiListado de tablas. ........................................................................................................................viGlosario de términos y siglas................................................................................................... viiiCapítulo 1 Introducción. .............................................................................................................. 9 1.1 Introducción. .................................................................................................................... 10 1.2 Antecedentes del proyecto. .............................................................................................. 11 1.3 Descripción del problema. ............................................................................................... 13 1.4 Objetivos.......................................................................................................................... 14 1.4.1 Objetivo general. ...................................................................................................... 14 1.4.2 Objetivos específicos. ............................................................................................... 14 1.5 Justificación y beneficios del proyecto. ........................................................................... 14 1.6 Alcances y limitaciones. .................................................................................................. 16 1.6.1 Alcances. .................................................................................................................. 16 1.6.2 Limitaciones. ............................................................................................................ 16 1.7 Organización del documento. .......................................................................................... 16Capítulo 2 Marco teórico ........................................................................................................... 18 2. 1 Ontologías....................................................................................................................... 19 2.2 Jena. ................................................................................................................................. 19 2.3 SVG y SVG Tiny. ............................................................................................................ 20 2.4 Android. ........................................................................................................................... 21 2.5 TinyLine SVG. ................................................................................................................ 22Capítulo 3 Estado del arte .......................................................................................................... 24 3.1 Modelos de representación de espacios. .......................................................................... 25 3.1.1 An ontology for context-aware pervasive computing environments. [Chen 2003] 25 3.1.2 LAIR: Location awareness information representation. [Kottahachchi 2005]......... 27 3.1.3 OntoNav: A semantic indoor navigation system. [Anagnostopoulos 2005] ............ 29 3.1.4 ONALIN: ontology and algorithm for indoor routing. [Dudas 2009] ...................... 31 3.1.5 Semantic Location Modeling for Location Navigation in Mobile Environment. [Hu 2004] .................................................................................................................................. 33 3.2 Técnicas para extender SVG. .......................................................................................... 34 i
    • 3.2.1 Embedding domain semantics. [Chang 2003] .......................................................... 34 3.2.2 Indoor navigation with SVG. [Schmitt 2005] .......................................................... 38 3.2.3 Techniques for binding scalable vector graphics to associated information. [Mor 2007] .................................................................................................................................. 39 3.3 Análisis comparativo. ...................................................................................................... 40Capítulo 4 Análisis y diseño. ..................................................................................................... 43 4.1 Análisis. ........................................................................................................................... 44 4.1.1 Ontología de infraestructura. ........................................................................................ 45 4.1.2 Herramienta generadora de croquis. ......................................................................... 57 4.1.3 Módulo de edición automática. ................................................................................ 68 4.1.4 Visualizador SVG. .................................................................................................... 74 4.2 Diseño. ............................................................................................................................. 82 4.2.1 Herramienta generadora de croquis .......................................................................... 82 4.2.2 Módulo de edición automática. ................................................................................ 89 4.2.3 Visualizador SVG. .................................................................................................... 91Capítulo 5 Implementación. ...................................................................................................... 99 5.1 Herramienta para la generación de croquis. .................................................................. 100 5.2 Módulo de edición automática de croquis. .................................................................... 104 5.3 Visualizador SVG. ......................................................................................................... 105Capítulo 6 Pruebas ................................................................................................................... 110Capítulo 7 Conclusiones. ......................................................................................................... 131 7.1 Conclusiones.................................................................................................................. 132 7.2 Aportaciones. ................................................................................................................. 133 7.3 Trabajos futuros. ............................................................................................................ 133Referencias. ............................................................................................................................. 135Anexos ..................................................................................................................................... 139 Anexo A1. Plan de pruebas – PP01 ..................................................................................... 140 Anexo A2. Formato del archivo de recomendaciones XML ............................................... 157 Anexo A3. Formato del archivo SVG ................................................................................. 158 ii
    • Listado de códigos.Código 3.1 Ejemplo de extensión de atributos SVG [Chang 2003] .......................................... 35Código 3.2 Ejemplo de extensión de modelo de contenido de SVG [Chang 2003].................. 35Código 3.3 Ejemplo de enlace a datos desde elementos SVG [Chang 2003] ........................... 37Código 4. Ejemplo de archivo XML de recomendaciones. ..................................................... 157Código 5. Ejemplo de archivo SVG. ....................................................................................... 159Listado de figuras.Figura 1-1 Asociación de ubicaciones a mapa [Arjona 2009] .................................................. 12Figura 1-2 Comparación de formato vectorial con formato de mapa de bits o raster [IES_EP2011] .......................................................................................................................................... 13Figura 1-3 Arquitectura general de la extensión de la plataforma T-Guía ................................ 15Figura 2-1 Arquitectura general de Android [Android 2011] ................................................... 22Figura 3-1 Parte central de INO [Anagnostopoulos 2005] ........................................................ 30Figura 3-2 ONALIN [Dudas 2009] ........................................................................................... 32Figura 3-3 Ejemplo de jerarquía de ubicaciones y salidas en base a un plano. [Hu 2004] ....... 34Figura 3-4 Generador de mapas SVG ....................................................................................... 39Figura 3-5 Representación general del trabajo de la patente [Mor 2007] ................................. 40Figura 4-1 Esquema de interacción entre los módulos desarrollados. ...................................... 44Figura 4-2 Diagrama conceptual del enlace de la ontología de infraestructura en la red deontologías .................................................................................................................................. 45Figura 4-3 Casos de uso generales del conjunto de herramientas ............................................. 57Figura 4-4 Caso de uso 1. Generar croquis ............................................................................... 58Figura 4-5 Diagrama de actividad del caso de uso 1.1 .............................................................. 59Figura 4-6 Diagrama de actividad del caso de uso 1.2 .............................................................. 60Figura 4-7 Diagrama de actividad del caso de uso 1.3 .............................................................. 61Figura 4-8 Diagrama de actividad del caso de uso 1.4 .............................................................. 62Figura 4-9 Diagrama de actividad del caso de uso 1.5 .............................................................. 63Figura 4-10 Diagrama de actividad del caso de uso 1.6 ............................................................ 64 iii
    • Figura 4-11 Diagrama de actividad del caso de uso 1.7 ............................................................ 65Figura 4-12 Diagrama de actividad del caso de uso 1.8 ............................................................ 66Figura 4-13 Diagrama de actividad del caso de uso 1.9 ............................................................ 67Figura 4-14 Diagrama de actividad del caso de uso 1.10 .......................................................... 68Figura 4-15. Caso de uso 2. Editar croquis automáticamente. .................................................. 69Figura 4-16. Diagrama de actividad del caso de uso 2.1 ........................................................... 70Figura 4-17. Diagrama de actividad del caso de uso 2.2 ........................................................... 71Figura 4-18. Diagrama de actividad del caso de uso 2.3 ........................................................... 72Figura 4-19. Diagrama de actividad del caso de uso 2.4 ........................................................... 73Figura 4-20. Caso de uso 3. Visualizar croquis. ........................................................................ 74Figura 4-21. Diagrama de actividad del caso de uso 3.1 ........................................................... 76Figura 4-22. Diagrama de actividad del caso de uso 3.3 ........................................................... 77Figura 4-23. Diagrama de actividad del caso de uso 3.4 ........................................................... 78Figura 4-24. Diagrama de actividad del caso de uso 3.5 ........................................................... 79Figura 4-25. Diagrama de actividad del caso de uso 3.6 ........................................................... 80Figura 4-26. Diagrama de actividad del caso de uso 3.7 ........................................................... 81Figura 4-27. Diagrama de actividad del caso de uso 3.8 ........................................................... 82Figura 4-28 Diagrama de clases de la Herramienta generadora de croquis .............................. 83Figura 4-29 Diagrama de secuencia para la carga de croquis ................................................... 84Figura 4-30 Diagrama de secuencia para la eliminación de croquis ......................................... 85Figura 4-31 Diagrama de secuencia para la selección de croquis y organización .................... 86Figura 4-32 Diagrama de secuencia para la asociación de información ................................... 87Figura 4-33 Diagrama de secuencia para la desasociación de información .............................. 88Figura 4-34 Diagrama de secuencia para generar croquis ......................................................... 88Figura 4-35. Diagrama de clases de el módulo de edición automática. .................................... 89Figura 4-36. Diagrama de secuencia del módulo de edición automática. ................................. 91Figura 4-37. Diagrama de clases del visualizador de SVG. ...................................................... 93Figura 4-38. Diagrama de secuencia para la carga del archivo SVG. ....................................... 94Figura 4-39. Diagrama de secuencia para el zoom in y zoom out............................................. 95Figura 4-40. Diagrama de secuencia para el panning. ............................................................... 96 iv
    • Figura 4-41. Diagrama de secuencia para el reset. .................................................................... 97Figura 4-42. Diagrama de secuencia para el cambio de capa del croquis. ................................ 98Figura 5-1 Interacción entre las herramientas desarrolladas ................................................... 100Figura 5-2 Pantalla inicial de la aplicación ............................................................................. 101Figura 5-3 Pantalla principal de la aplicación web (Parte 1) ................................................... 102Figura 5-4 Pantalla principal de la aplicación web (Parte 2) ................................................... 103Figura 5-5 Interfaz gráfica del editor automático de croquis .................................................. 104Figura 5-6. Pantalla inicial del visualizador. ........................................................................... 105Figura 5-7. Menú inferior del visualizador. ............................................................................. 106Figura 5-8. Menú oculto del visualizador................................................................................ 106Figura 5-9. Carga del croquis en el visualizador. .................................................................... 106Figura 5-10. Zoom in y zoom out. ........................................................................................... 107Figura 5-11. Panning. .............................................................................................................. 107Figura 5-12. Reset. .................................................................................................................. 108Figura 5-13. Localización ........................................................................................................ 108Figura 5-14. Cambio de capas ................................................................................................. 109Figura 6-1 Imágenes del archivo de pruebas por capas ........................................................... 111Figura 6-2 Croquis de prueba que cumple con los requisitos del caso de prueba HGC-03-01................................................................................................................................................. 111Figura 6-3 Carga de croquis en la aplicación .......................................................................... 113Figura 6-4 Selección de croquis y organización para trabajo .................................................. 113Figura 6-5 Asociación de información al primer elemento ..................................................... 114Figura 6-6 Asociación de información al segundo elemento .................................................. 115Figura 6-7 Asociación de información al tercer elemento ...................................................... 116Figura 6-8 Verificación de atributo xlink:href en el primer elemento .................................... 117Figura 6-9 Verificación de atributo xlink:href en el segundo elemento .................................. 117Figura 6-10 Verificación de atributo xlink:href en el tercer elemento .................................... 118Figura 6-11 Verificando correspondencia de información para el primer elemento ............... 119Figura 6-12 Verificando correspondencia de información para el segundo elemento ............ 119Figura 6-13 Verificando correspondencia de información para el tercer elemento ................ 120 v
    • Figura 6-14 Desasociación de información a un elemento...................................................... 121Figura 6-15 Asociación de información a un nuevo elemento ................................................ 122Figura 6-16 Verificación del atributo xlink:href para el primer elemento después de lareasociación ............................................................................................................................. 123Figura 6-17 Verificación del atributo xlink:href para el segundo elemento después de lareasociación ............................................................................................................................. 123Figura 6-18 Verificación del atributo xlink:href para el tercer y cuarto elemento después de lareasociación ............................................................................................................................. 124Figura 6-19. Información existente depués de desasociar información. ................................. 124Figura 6-20 Archivo de recomendaciones a utilizar ................................................................ 125Figura 6-21 Información del croquis antes del proceso automático de depuración ................ 126Figura 6-22 Ejecución del módulo de edición automática ...................................................... 126Figura 6-23 Información adicional después del proceso de edición automática ..................... 127Figura 6-24 Código de animación agregado por el proceso de edición automática ............... 127Figura 6-25 Capas en la interfaz gráfica del visualizador ....................................................... 129Figura 6-26 Efecto de animación e información del primer elemento .................................... 129Figura 6-27 Efecto de animación e información del segundo elemento ................................. 130Listado de tablas.Tabla 2-1. Comparativa de APIs o visualizadores SVG para dispositivos móviles .................. 23Tabla 3-1 Lista completa de clases y propiedades en COBRA-ONT v0.2 [Chen 2003] .......... 26Tabla 3-2 Análisis comparativo del estado del arte en modelos de representación de espacios................................................................................................................................................... 41Tabla 3-3 Análisis comparativo del estado del arte en técnicas para extender SVG ................ 42Tabla 4-1 Descripción del caso de uso 1.1. Cargar croquis ...................................................... 58Tabla 4-2 Descripción del caso de uso 1.2. Eliminar croquis ................................................... 59Tabla 4-3 Descripción del caso de uso 1.3. Seleccionar croquis y organización ...................... 60Tabla 4-4 Descripción del caso de uso 1.4. Manipular información. ........................................ 61Tabla 4-5 Descripción del caso de uso 1.5. Generar croquis .................................................... 62 vi
    • Tabla 4-6 Descripción del caso de uso 1.6. Cargar organizaciones .......................................... 63Tabla 4-7 Descripción del caso de uso 1.7. Cargar croquis existentes...................................... 64Tabla 4-8 Descripción del caso de uso 1.8. Asociar información ............................................. 65Tabla 4-9 Descripción del caso de uso 1.9. Desasociar información ........................................ 66Tabla 4-10 Descripción del caso de uso 1.10. Cargar información de espacios ....................... 67Tabla 4-11. Descripción del caso de uso 2.1. Recibir solicitud de datos. ................................. 69Tabla 4-12. Descripción del caso de uso 2.2. Enviar croquis editado. ...................................... 70Tabla 4-13. Descripción del caso de uso 2.3. Extraer ID de recomendaciones......................... 71Tabla 4-14. Descripción del caso de uso 2.4. Editar croquis en base a IDs. ............................. 72Tabla 4-15. Descripción del caso de uso 3.1. Cargar croquis. .................................................. 75Tabla 4-16 Descripción del caso de uso 3.2. Interactuar con croquis ....................................... 76Tabla 4-17. Descripción del caso de uso 3.3. Zoom in. ............................................................ 77Tabla 4-18. Descripción del caso de uso 3.4. Zoom out. .......................................................... 77Tabla 4-19. Descripción del caso de uso 3.5. Panning. ............................................................. 78Tabla 4-20. Descripción del caso de uso 3.6. Reset .................................................................. 79Tabla 4-21. Descripción del caso de uso 3.7. Cambiar capa ..................................................... 80Tabla 4-22. Descripción del caso de uso 3.8. Examinar información del croquis .................... 81Tabla 6-1 Identificadores seleccionados con su información asociada ................................... 117Tabla 6-2 Información asociada dentro del croquis ................................................................ 118Tabla 6-3Información restante después del proceso de edición automática ........................... 128 vii
    • Glosario de términos y siglas.Mapa semántico En un contexto geográfico, es una representación gráfica que muestra ubicaciones y contiene información o situación de sus ubicaciones.Ontología Es una jerarquía de conceptos con atributos y relaciones que describe un dominio.QRCodes Es un sistema para almacenar información en una matriz de puntos o un código de barras bidimensional.RFID Identificación por Radiofrecuencia (Radio Frequency Identification por sus siglas en inglés). Es un sistema de almacenamiento y recuperación de datos que usa dispositivos denominados etiquetas, transpondedores o tags RFID. El propósito fundamental de la tecnología RFID es transmitir la identidad de un objeto (similar a un número de serie único) mediante ondas de radio.SVG Gráficos Vectoriales Escalables (Scalable Vector Graphics por sus siglas en inglés). Es un lenguaje para gráficos de dos dimensiones. Es un estándar gratuito, abierto e independiente de plataforma basado en XML.SVG Tiny Gráficos Vectoriales Escalables Pequeño (Scalable Vector Graphics Tiny por sus siglas en inglés). Es un subconjunto de SVG, manejado como un perfil para uso en dispositivos móviles.LBS Servicios basados en localización (Location Based Services por sus siglas en inglés). viii
    • Capítulo 1 Introducción.
    • Capítulo 1 Introducción1.1 Introducción.Los Servicios Basados en Localización (LBS por sus siglas en inglés) dan al usuario final unconjunto de servicios empezando por su ubicación geográfica. Estos servicios le ofrecen laposibilidad a los usuarios o máquinas de encontrar/localizar a otra persona, máquina, vehículo,recurso o servicios sensibles a la ubicación, así como la posibilidad de rastrear su propiaubicación. La mayoría de los LBS incluyen dos grandes acciones: a) obtener la ubicación delusuario y b) utilizar esta información para proveer un servicio personalizado [GSMAssociation 2003]. Dentro del Departamento de Ciencias Computacionales del CentroNacional de Investigación y Desarrollo Tecnológico (CENIDET) se realizan diferentestrabajos de tesis en las líneas de investigación de: Ingeniería de Software, InteligenciaArtificial y Sistemas Distribuidos. En los últimos años, el área de Sistemas Distribuidos hadesarrollado proyectos en LBS‟s. Algunos trabajos desarrollados en esta área son: “GatewaySMS Pull para servicios basados en localización con arquitectura de servicios Web”[Quiñonez 2008] y “API SMS para el procesamiento de consultas georeferenciadas y nogeoreferenciadas” [Ruiz 2007]. Se hace particular énfasis en la tesis denominada “Servicios delocalización conscientes del contexto aplicando perfiles de movilidad y tecnologías delocalización heterogéneas” [Arjona 2009], donde se hace uso de dispositivos móviles paraproporcionar servicios conscientes del contexto; uno de estos servicios es el guiado eninteriores, que hace uso de mapas creados manualmente en el formato de imagen JPG, sobreellos se registran puntos de interés que se almacenan en un sistema gestor de base de datos, delcual el dispositivo móvil extrae la información.Este trabajo de tesis es continuación del trabajo “Servicios de localización conscientes delcontexto aplicando perfiles de movilidad y tecnologías de localización heterogéneas” [Arjona2009], con el desarrollo de un proyecto compuesto de tres módulos: a) un servicio delocalización, b) un servicio de recomendación, y c) un servicio de visualización. En estetrabajo de tesis se modeló e implementó una ontología y prototipos para la creación, pobladoy visualización de mapas interactivos en formato SVG, estos mapas contienen informaciónque describe funcionalmente las instalaciones de una organización, es decir, edificiosmultinivel, habitaciones, pasillos, accesos, recursos disponibles en cada área, personas 10
    • Capítulo 1 Introducciónasociadas a las áreas y actividades asociadas a las áreas funcionales, como resultado seobtienen mapas SVG auto-descriptibles. Al tener los mapas auto-descriptibles se logra quesean independientes de algún servidor de aplicaciones web o sistema gestor de base de datospara obtener información de su contenido. Para lograr esto, en el presente trabajo se diseñó eimplementó una ontología, la cual, es el punto de partida para generar los mapas deinstalaciones. En esta ontología se crean instancias con sus respectivos atributos ycaracterísticas que describen en detalle la infraestructura de la organización, en instalaciones ytecnología, por ejemplo, aulas, laboratorios, auditorios, cubículos, biblioteca, cafetería, etc.De igual manera aquí se presenta el diseño y la implementaron de dos prototipos para laexplotación de la información almacenada en la ontología de la infraestructura, permitiendoasociar a los elementos gráficos de archivo SVG, la información de una determinada instanciade la ontología y posteriormente realizar la consulta en un dispositivo móvil.1.2 Antecedentes del proyecto.Servicios de localización conscientes del contexto aplicando perfiles de movilidad ytecnologías de localización heterogéneas. [Arjona 2009]Este trabajo se ubica sobre los servicios conscientes del contexto con localización en interioresen edificios multinivel, presenta la realización de tareas (creación, cancelación ycumplimiento) pudiendo asociar algún recurso a ella (mediante etiquetas RFID o QRCodes)para el recordatorio de las tareas al estar en proximidad del recurso asociado a ella.Dentro de sus tareas existe la capacidad de guiado, donde se selecciona un punto destino y,basado en la posición actual del dispositivo se solicita a un servidor una ruta, el servidordevuelve al dispositivo la ruta a seguir y muestra en pantalla la ubicación actual y el punto adirigirse, conforme se van leyendo nuevos sensores o códigos de barras, se va actualizando laposición del usuario en el mapa hasta llegar al destino. 11
    • Capítulo 1 IntroducciónCuenta con una aplicación web que gestiona la información de tareas, ubicaciones, usuarios yrecursos y una aplicación cliente para celulares basados en Android con las siguientescaracterísticas:  Las ubicaciones se denotan a través de tarjetas RFID.  Los valores RFID antes mencionados se guardan en una base de datos.  Los valores se asocian a mapas en imágenes de tipo mapa de bits.  Almacena recursos igualmente mediante RFID y sus datos se almacenan en una base de datos.Su relevancia para este trabajo de tesis consiste en retomar la parte del uso de mapas para laorientación del usuario, buscando no depender de entidades externas como un servidor webpara saber la localización, para lo cual se plantea la incorporación de información adicional almapa o croquis que se esté desplegando. Figura 1-1 Asociación de ubicaciones a mapa [Arjona 2009] 12
    • Capítulo 1 Introducción1.3 Descripción del problema.Esta tesis es continuación del trabajo realizado en [Arjona 2009], se centra específicamente enla optimización de mapas organizacionales, los mapas empleados en la tesis de [Arjona 2009]son imágenes raster1 en formato JPG, las cuales se asocian a través de una aplicación que acoordenandas de la imagen la ubicación de etiquetas RFID y QRCodes, estas coordenadas sonalmacenadas en una base de datos, cuando el dispositivo lee una etiqueta RFID o decodificauna imagen QRCodes envía una petición al servidor, como respuesta, el servidor le envía unaimagen JPEG en donde se muestra la ubicación del usuario en el mapa.Una de las principales desventajas del método de solución de la tesis de [Arjona 2009] es queutiliza mapas organizacionales en formato raster (JPEG), este formato se deforma cuando serealizan acercamientos a la imagen, lo cual tiene como resultado una calidad de imagendegradada debido a que se observan los pixeles que la componen. Otro problema con estosformatos (JPEG) es que no permiten la incorporación de información contextual que los auto-describa, esto genera que sea necesario recurrir a la manipulación a nivel de bits o se requierael acceso a alguna entidad externa, como una base de datos en el caso de [Arjona 2009],aunado a esto, el uso sobre dispositivos móviles donde el espacio de visualización es reducidorequiere que las imágenes deban ser pequeñas y por lo tanto estas presentan una degradaciónen su calidad si se realizan acercamientos sobre ellas como se aprecia en la Figura 1-2. Figura 1-2 Comparación de formato vectorial con formato de mapa de bits o raster [IES_EP 2011]1 Rejilla rectangular de pixeles 13
    • Capítulo 1 Introducción1.4 Objetivos.1.4.1 Objetivo general.Desarrollar un conjunto de herramientas para la generación y explotación de mapassemánticos, en formato SVG, que describan las instalaciones de organizaciones mediante eluso de ontologías, estos mapas contendrán información contextual de las instalaciones de unaorganización que les permitirá ser auto-descriptibles.1.4.2 Objetivos específicos. i. Crear una ontología de estructuras físicas de interiores y exteriores de organizaciones que represente su caracterización tanto espacial como funcional. ii. Crear una herramienta que permita generar mapas SVG con anotaciones semánticas del exterior e interiores de una organización. iii. Crear un módulo que permita recibir un conjunto de recomendaciones y modificar el mapa SVG para que represente la información que corresponde a las recomendaciones. iv. Crear un visualizador de mapas SVG que soporten anotaciones semánticas y trabajen sobre plataforma Android 2.x en dispositivos móviles.1.5 Justificación y beneficios del proyecto.El presente trabajo forma parte de un sistema de recomendación contextual que tiene susorígenes en el trabajo desarrollado por “Servicios de localización conscientes del contextoaplicando perfiles de movilidad y tecnologías de localización heterogéneas” [Arjona 2009] yque es acompañado de los trabajos “Sistema de recomendación contextual basado enontologías para ambientes organizacionales y de usuario en entornos de cómputo móvil”[González 2012] y “API para servicios de localización basada en tecnología RFID, QRCode,WiFi y Bluetooth” [Yris 2012], la arquitectura general del proyecto que extiende la plataformaT-Guía se describe en la Figura 1-3 14
    • Capítulo 1 Introducción Generador de mapas Repositorio de semánticos SVG mapas Módulo de edición automática de mapas Visualizador Red de SVG ontologías Gestor de recomendaciones contextuales [González Evaluador de 2012] recomendaciones BD Relacional [González 2012] API de localización [Yris 2012] Figura 1-3 Arquitectura general de la extensión de la plataforma T-GuíaCon esta tesis se mejora y complementa la plataforma T-Guia desarrollada en [Arjona 2009],específicamente en la parte del subsistema de creación y visualización de mapas mediante eldesarrollo de prototipos que permitan realizar tareas de una manera más eficiente y queproporcionen nuevas funcionalidades.El resultado de esta tesis ayudará a:  Contar con un modelo semántico que caracterice y describa la infraestructura de las organizaciones con el uso de la red de ontologías, que incluye la ontología desarrollada en esta tesis.  Mejorar el proceso de creación de mapas para el sistema de localización T-Guía.  Contar con mapas de instalaciones organizacionales auto-descriptivos e interactivos como resultado del uso del formato de imágenes vectoriales SVG. 15
    • Capítulo 1 Introducción1.6 Alcances y limitaciones.Para el desarrollo de éste proyecto se tomaron las siguientes consideraciones.1.6.1 Alcances.  Se manipulan mapas en formato SVG y SVG Tiny y se generara mapas en formato SVG Tiny.  La aplicación para la generación de mapas semánticos es multiplataforma, esto implementado mediante una aplicación web.  La población de información a elementos en el mapa se hace de forma manual por parte de un usuario, con la ayuda de la aplicación web.  El módulo de edición automática de información contextual contenida en mapas SVG sólo se encarga de remover la información que no sea necesaria del mapa.  El visualizador de mapas SVG se implementa sobre la plataforma Android 2.x.1.6.2 Limitaciones.  No se considera la implementación del prototipo para la creación de mapas SVG, se utilizarán editores de código abierto para este proceso de creación de los mapas.1.7 Organización del documento.La estructura restante del documento se presenta a continuación. El Capítulo 2 Marco teórico,da un panorama general de las herramientas y plataformas sobre las cuales se basa eldesarrollo de esta tesis. El Capítulo 3 Estado del arte da una recopilación de los artículos másrelevantes que poseen similitudes en ciertos aspectos con el trabajo a desarrollado en estatesis, concluyendo el capítulo con una tabla comparativa entre estos trabajos y esta tesis. ElCapítulo 4 Análisis y diseño muestra los diagramas UML correspondientes de ambas etapasque presentan las conceptualizaciones de las herramientas desarrolladas. El Capítulo 5Implementación, muestra las interfaces gráficas y funcionalidades de los prototiposdesarrollados. El Capítulo 6 Pruebas, contiene la ejecución de los casos de prueba definidos en 16
    • Capítulo 1 Introducciónel Anexo A1. El Capítulo 7 Conclusiones, describe los resultados obtenidos con este trabajo detesis, así como los trabajos futuros.Posteriormente a esta serie de capítulos se encuentra una secuencia de anexos, donde el AnexoA1 es el plan de pruebas que se ejecutó sobre los prototipos, el Anexo A2 especifica elformato que debe tener el archivo de recomendaciones empleado por uno de los prototipos y elAnexo A3 hace referencia al formato al cual se debe acoplar el mapa SVG para elfuncionamiento adecuado con los prototipos. Por último se encuentra la sección de referencias. 17
    • Capítulo 2 Marco teórico
    • Capítulo 2 Marco teóricoLa naturaleza de este trabajo de tesis requirió incursionar en diferentes disciplinas entre lascuales sobresalen: ontologías, imágenes vectoriales, programación para dispositivos móviles ypara la Web. Por ello se destacan en esta sección las tecnologías involucradas.2. 1 Ontologías.En el contexto de las ciencias de la computación y la informática, [Gruber 2009] define a unaontología como un conjunto de primitivas figurativas con las cuales se modela un dominio deconocimiento o discurso. Las primitivas figurativas son típicamente clases (o conjuntos),atributos (o propiedades) y relaciones (o relaciones entre miembros de clases). Lasdefiniciones de las primitivas incluyen información acerca de su significado. En un contextode sistemas de base de datos, la ontología se puede ver como un nivel de abstracción demodelos de datos, análogo a los modelos relacionales y jerárquicos, pero pretendido paramodelar conocimiento acerca de individuos, sus atributos, y sus relaciones con otrosindividuos. Las ontologías son normalmente especificadas en lenguajes que permiten separarlo abstracto de las estructuras de datos e implementación de estrategias; en la práctica, loslenguajes de ontologías están más cerca en expresividad a la lógica de primer orden que loslenguajes utilizados para modelar bases de datos. Por esta razón, se dice que las ontologíasestán a nivel “semántico”, mientras que los esquemas de base de datos son modelos a un nivel“físico” o “lógico”. Debido a su independencia de modelos de datos a más bajo nivel, lasontologías se utilizan para integrar bases de datos heterogéneas, permitir la interoperabilidadentre sistemas distintos, y especificar interfaces para sistemas independientes basados enconocimiento.2.2 Jena.Jena es un framework en Java para construir aplicaciones para la Web semántica [Jena 2011].Jena es de código abierto e incluye:  Una API para RDF.  Una API para OWL  Almacenamiento persistente y en memoria 19
    • Capítulo 2 Marco teórico  Un motor de consultas SPARQL.Hay dos subsistemas para la persistencia de datos RDF y OWL en Jena, SDB y TDB [Jena22011]:  TDB es un motor de persistencia nativo y de alto rendimiento que utiliza almacenamiento e indexación a la medida.  SDB es una capa de persistencia que utiliza una base de datos SQL y soporta completamente transacciones ACID.2.3 SVG y SVG Tiny.De acuerdo con [SVG 2008], SVG es un lenguaje para describir gráficas de dos dimensionesen XML. SVG permite tres tipos de objetos gráficos: figuras de gráficos vectoriales (ej. Trazosque consisten de líneas o curvas), imágenes y texto. Dichos objetos gráficos pueden seragrupados, estilizados y transformados; este conjunto de características incluyetransformaciones anidadas, caminos de corte, máscaras alfa, filtros de efectos y plantillas deobjetos.Los dibujos SVG pueden ser interactivos y dinámicos. Se pueden definir y activaranimaciones ya sea declarativamente (ej. Empotrando elementos de animación SVG en elcontenido de un elemento gráfico SVG) o por medio de scripts.Se ha establecido por la demanda de la industria, que se requiere de alguna forma de visualizargráficas vectoriales en dispositivos pequeños. Para cumplir con estas demandas el grupo detrabajo de SVG se comprometió a hacer un esfuerzo por crear una especificación para unperfil que se enfocara a dispositivos móviles.Sin embargo, su solo perfil no es suficiente para tratar con la variedad de dispositivos móviles,porque cada dispositivo móvil tiene diferentes características en términos de velocidad deCPU, tamaño de memoria y soporte de colores. Para atacar el rango de diferentes familias dedispositivos, dos perfiles fueron definidos. El primer perfil de bajo nivel, SVG Tiny (SVGT) 20
    • Capítulo 2 Marco teóricoes adecuado para dispositivos móviles altamente restringidos; mientras que el segundo perfil,SVG Basic (SVGB) está enfocado a dispositivos móviles de mayor nivel.Para asegurar la interoperabilidad entre contenido y herramientas de software que cumplencon diferentes perfiles, SVGT está especificado como un subconjunto propio de SVGB, ySVGB un subconjunto propio de SVG. [SVGM 2003]Sin embargo, avances en el DOM nivel 3, provocaron que se diera una revisión al uso delenguajes de programación en SVG Tiny. También se desarrolló una interfaz ligeradenominada Micro DOM, o uDOM. Con lo anterior se hizo posible el control programáticosobre SVG en todo el rango de plataformas, desde celulares a equipos de escritorio. Enconsecuencia, solo existe un perfil móvil para SVG: Svg Tiny 1.2.2.4 Android.Android es una plataforma para dispositivos móviles que incluye un sistema operativo,middleware y aplicaciones clave desarrollado por la Open Handset Alliance, un grupo delíderes en tecnología y móviles que comparten la visión de cambiar la experiencia móvil de losconsumidores [OPA 2011].La arquitectura de Android se puede apreciar en la Figura 2-1 y sus partes principales sedescriben a continuación:  Aplicaciones. Android se instala con un conjunto básico de aplicaciones todas escritas en el lenguaje de programación Java.  Framework de aplicaciones. Se provee una plataforma de desarrollo abierta que permite a los desarrolladores construir aplicaciones innovadoras, teniendo acceso a las mismas API utilizadas por las aplicaciones básicas de Android.  Librerías. Se incluyen también un conjunto de librerías en C/C++ utilizadas por varios componentes del sistema Android. Capacidades que también están expuestas a los desarrolladores mediante el framework de aplicaciones.  Tiempo de ejecución. Android incluye un conjunto de librerías que provee la mayoría de la funcionalidad de las librerías básicas de Java. También posee la capacidad de ejecutar múltiples máquinas virtuales de manera eficiente. 21
    • Capítulo 2 Marco teórico  Kernel de Linux. Android se basa en la versión 2.6 de Linux para el sistema básico de servicios como la seguridad, administración de memoria y procesos, la pila de red, etc. Figura 2-1 Arquitectura general de Android [Android 2011]2.5 TinyLine SVG.TinyLine SVG implementa un motor de SVG Tiny 1.1 y superior para la plataforma Java yAndroid. [TinyLine 2011]. Sus principales características son: motor SVG Tiny 1.1 y superior,soporta fuentes SVG, imágenes raster, caminos y elementos texto, soporta animaciones SMILy eventos, permite flujos en texto y comprimidos gzip, posee un código compacto (JAR de100KB aproximadamente) y una API con una pequeña curva de aprendizaje.Esta API es la empleada para el desarrollo de uno de los prototipos y fue elegida en base a lacomparación de sus características con otros opciones que trabajan con SVG, siendo esta laque proporciona mayores ventajas, como se observa en la Tabla 2-1. 22
    • Capítulo 2 Marco teórico Tabla 2-1. Comparativa de APIs o visualizadores SVG para dispositivos móvilesOpción Ventajas DesventajasAnti-Grain Código abierto. Código nativo (C++).Geometry Soporte básico de SVG. Visualizador solamente.libsvg-android Código abierto. Código nativo (Lenguaje C). Solo funciona con imágenes estáticas. Visualizador solamente.svg4mobile Código abierto en Java. Visualizador solamente. Implementa una porción reducida de la especificación SVG Tiny 1.1TinyLine SVG Código para Java. Código cerrado. Soporta SVG Tiny 1.1+. De paga. Permite alterar el DOM de SVG. Posee una API 23
    • Capítulo 3 Estado del arte
    • Capítulo 3 Estado del artePara este trabajo fue necesario recurrir a diferentes áreas de las ciencias computacionales,destacando la ingeniería ontológica y las imágenes vectoriales. Por ello, el estado del arte sedivide en dos grandes secciones, los trabajos que involucran el aspecto relacionado almodelado de espacios mediante el uso de ontologías y la segunda sección, los trabajos queinvolucran técnicas para extender el formato SVG que permitan contener informaciónadicional a la provista por el estándar.3.1 Modelos de representación de espacios.3.1.1 An ontology for context-aware pervasive computing environments. [Chen 2003]Descripción.En este trabajo se presenta a CoBrA (Context Broker Architecture), una arquitecturamediadora de agentes para apoyar a los sistemas conscientes del contexto en espaciosinteligentes. El rol de esta arquitectura es mantener un modelo compartido del contexto parauna comunidad de agentes y dispositivos en un espacio, protegiendo la privacidad de losusuarios aplicando políticas definidas por los usuarios para compartir información con otrosagentes en el espacio asociado.Características.  Utiliza un conjunto un conjunto de ontologías denominado COBRA-ONT, que le ayuda a CoBrA a compartir el conocimiento del contexto con otros agentes y le permiten razonar acerca del contexto, el cual se categoriza en cuatro temas: 1. Lugares físicos. 2. Agentes (humanos o software). 3. Contexto de localización de los agentes. 4. Contexto de actividades de los agentes.  No menciona el uso de mapas dentro de su sistema, solamente el uso de la información espacial descrita en la ontología para realizar inferencias.  La conceptualización de espacios va desde un Campus a una habitación  Ontologías expresadas en OWL. 25
    • Capítulo 3 Estado del arte Tabla 3-1 Lista completa de clases y propiedades en COBRA-ONT v0.2 [Chen 2003]Relevancia para la tesis.Es de particular interés la definición de la clase Place (lugar) y dos subclases de Place (querepresenta la abstracción de una ubicación física), AtomicPlace (lugar atómico) yCompoundPlace (lugar compuesto). La propiedad de contención está representada porspatiallySubsumes (contiene espacialmente) y isSpatiallySubsumedBy (está espacialmentecontenido por). Existen subclases predefinidas de AtomicPlace tales como, Room (habitación),Hallway (pasillo), Stairway (escalera) y ParkingLot (estacionamiento), y subclasespredefinidas de CompoundPlace como Campus y Building (Edificio).Sin embargo, la categorización de los conceptos anteriores se basa en un tipo de aplicacionesconscientes del contexto que necesitan basarse en el prototipo CoBrA (como lo es la ubicaciónde agentes y políticas de seguridad). Por tanto para una aplicación consciente del contexto conun enfoque diferente es necesario modificar la jerarquía de la ontología para poder reutilizarla. 26
    • Capítulo 3 Estado del arte3.1.2 LAIR: Location awareness information representation. [Kottahachchi 2005]Descripción.Este artículo se enfoca a la necesidad de un modelo de espacios que represente no solo dóndeestá una persona, sino también de qué lugares está cerca y que puede hacer en esos lugarescercanos. Pretende dejar a un lado los modelos hechos a la medida y propone unarepresentación universal de ubicaciones, que pueda ser utilizada sin pensar en una aplicaciónespecífica, para construir aplicaciones basadas en dicho modelo.Características.  El modelo representa tanto exteriores como interiores.  El modelo puede representar las características funcionales de los espacios así como recursos.  Se pretende que la ontología esté disponible en DAML, OWL y RDF.  Dado que solamente se propone un modelo; el uso de mapas, su formato e implementación es dependiente de la aplicación a crear.Relevancia para la tesis.LAIR es una ontología inspirada en el modelo TOUR de Kuiper [Kuipers 1977] de los mapascognitivos de una persona acerca de los espacios a gran escala, utiliza los siguientesconceptos:Entity: colección de Resources que representan al mundo real Person, Place, etc.Resource: artículo o servicio dentro del control de una Entity en particular.Security Manager: software contenido en cada Entity para administrar su seguridad, tal comocontrol de acceso.Derivado de los conceptos básicos, se definen los siguientes subconceptos:Place: Entity utilizado para representar un lugar del mundo real. En general contiene lassiguientes propiedades: Name: forma de referirse al Place. 27
    • Capítulo 3 Estado del arte On: lista de Paths sobre los que está este Place.Star: lista de tripletas (Path, heading, dirección de Path), que describe la geometría de laintersección formada por los Paths, que se encuentran en este Place, el valor de heading va de0 a 360.View: lista de tripletas (Place, orientación, distancia) que describe los otros Place que puedenser vistos desde este. Contained: lista desordenada de Places.Function: lista de Functional Places que describe que puede hacerse y para que se usa estePlace.AbnormalActions: modifica la lista de acciones heredada de Funcional Place.Resources: describe los servicios e ítems disponibles en este lugar. Heredado de Entity.Occupants: propiedad dinámica que lista las entidades Person que ocupan actualmente ellugar.Path: enlazan Places. Se puede viajar en dirección +1 o -1 (+, - son direcciones arbitrarias).Sus propiedades son: Name: Una forma de referirse a este Path.Row: Una lista de listas ordenadas de Places. Cada lista es una secuencia de Placesencontrados cuando se va por el Path en dirección +1.Functional Place: Describen aquellas Actions que pueden hacerse en un espacio dado. Tienelas siguientes propiedades: Name: forma de referirse a este Functional Place. Supports: lista de Actions que pueden realizarse en este lugar.Action: tarea que puede realizarse en un espacio dado usando los Resources disponibles.Contienen las siguientes propiedades.Name: forma de referirse a esta acción.Requires: lista de Resources requeridos para realizar la acción. 28
    • Capítulo 3 Estado del arteUtility: función que describa la utilidad ganada por el Place cuando esta acción se lleva acabo.Cost: función que describa el costo incurrido por el lugar al realizarse la acción.Person: Entity representando una persona del mundo real. Hereda de Entity una lista deResources en el control de esta persona. Tiene las siguientes propiedades: Name: forma de referirse a esta persona. Location: lugar donde esta persona está actualmente. Interests: lista de Actions que describen los intereses de esta persona.Del modelo anterior podemos extraer algunos conceptos y propiedades generales que puedenayudar a describir la infraestructura del edificio, como lo son el FunctionalPlace y Action, asícomo observar que pueden no ser necesarios subconceptos de Place como se propone en[Chen 2003]3.1.3 OntoNav: A semantic indoor navigation system. [Anagnostopoulos 2005]Descripción.OntoNav es un sistema de navegación en ambientes interiores basado en un modelo híbrido(geométrico y semántico) de éstos ambientes. OntoNav está centrado en el usuario en elsentido que las rutas y las guías que las describen son dadas dependiendo de las capacidadesperceptivas o físicas del usuario, así como sus preferencias particulares. Para este trabajodesarrollaron INO (Indoor Navigation Ontology), que se adecua a las tareas de presentación ybúsqueda de rutas. Una parte central de la ontología se muestra en la Figura 3-1. 29
    • Capítulo 3 Estado del arte Figura 3-1 Parte central de INO [Anagnostopoulos 2005]Características.  El modelo presentado limita su capacidad de representación a interiores de edificios.  Se utiliza una base de datos espacial para calcular las rutas.  La ontología sirve para rutas en base a preferencias o perfiles de usuario.  Se devuelve un conjunto de instrucciones y no un mapa de la ruta.Relevancia para la tesis.INO es nuestro punto de interés dado que es el modelo encargado de representar los caminos yubicaciones:User: representa los usuarios del servicio de navegación.PointOfInterest: cualquier ubicación física o virtual u objeto que le resulte de interés alusuario.Passage: cualquier elemento espacial parte de un Path y que tiene propiedades deaccesibilidad específicas. Se pueden caracterizar en horizontales (conectan corredores en elmismo piso) y verticales (conectan corredores de diferentes pisos). Los cruces son un tipoespecial de passage que conectan uno o más corredores o fuerzan al cambio de dirección delusuario o indican el inicio o fin de corredores.Exit: una entrada o salida de una región interior, La región puede ser todo el edificio, unaplanta o un cuarto. 30
    • Capítulo 3 Estado del arteObstacle: cualquier cosa que impida el paso del usuario.CorridorSegment: concepto creado para facilitar el modelado, conecta exits con passages.Corridor: compuesto de segmentos de corredor, el cual conecta dos cruces o un passagevertical con un cruce.Anchor: cualquier passage, exit, o pointofinterest en un path que pueda ayudar a lapresentación del plan de navegación.Path: una secuencia intercalada de corridors, exits y passages, que es capaz de llevar a unusuario de su ubicación a su destino.El autor considera que los conceptos anteriores son insuficientes, por ello importan de otrasontologías espaciales conceptos como habitación, planta, edificio. Sin embargo de este trabajopodemos utilizar el concepto de salida que es importante en la definición de la infraestructurade un edificio.3.1.4 ONALIN: ontology and algorithm for indoor routing. [Dudas 2009]Descripción.Aquí se presenta una ontología y un algoritmo para encontrar rutas en interiores paradiferentes tipos de usuarios (personas con discapacidades físicas, cognitivas o sensoriales)basándose en los estándares ADA (American Disability Act) [ADA 1994], entre otrosrequerimientos.Características.  La conceptualización de espacios se enfoca solamente a interiores.  Acceso al sistema a través de internet vía un cliente web o un dispositivo móvil con acceso a internet.  No menciona si el resultado es un mapa con la ruta visible o un conjunto de direcciones. 31
    • Capítulo 3 Estado del arte  Utiliza un servidor web para contener la ontología, una estructura que modela los pasillos y sus conexiones, el BIM2 y un módulo para calcular rutas. Figura 3-2 ONALIN [Dudas 2009]Relevancia para la tesis.Para cumplir con los estándares ADA se incluyen información como la altura de una escalera,disponibilidad de un pasamanos, el ancho de los pasillos, inclinación de rampas o corredores,varios conjuntos de datos para sanitarios, señalamientos permanentes que por su lecturaayuden al usuario o Braille, de lo cual se pueden rescatar para nuestro trabajo algunaspropiedades necesarias para la descripción de las capacidades de la infraestructura a modelar.De igual manera que en [Anagnostopoulos 2005] podemos observar la incidencia en elconcepto de salida.2 BIM (Building Information Modeling). Es la última generación de OOCAD (Object Oriented Computer-AidedDesign, Diseño Asistido por Computadora Orientado a Objetos) en el cual todos los objetos del edificio soncapturados en un solo “proyecto de base de datos” o “edificio virtual”. 32
    • Capítulo 3 Estado del arte3.1.5 Semantic Location Modeling for Location Navigation in Mobile Environment. [Hu2004]Descripción.Los autores nos presentan un modelo de ubicación semántica que conserva la semántica de latopología y la distancia para apoyar a la navegación en interiores esto para facilitar elmantenimiento y la construcción programática del modelo. Dicho modelo tiene la visión depermitir al usuario mirar, navegar o buscar una ubicación física en interiores u otros ambientesrestringidos.Características.  Conceptualización del modelo para interiores o espacios restringidos.  Uso para navegar en interiores y búsqueda de ruta más corta.  Utilización de grafos para representar el modelo.  La población del modelo puede ser manual o automática (técnicas de reconocimiento de lugares de un plano de plantas).  Presenta una jerarquía de ubicaciones y salidas.Relevancia para la tesis.En la metodología que propone este trabajo es definido un concepto de “ubicación” quemenciona que “la ubicación de una entidad es un área geográfica limitada con una o más„salidas‟, donde una „salida‟ es un punto límite desde el cual una entidad puede ser accedida”.El trabajo utiliza las salidas para crear una jerarquía de estas y así buscar rutas de navegación.Para nuestro trabajo tomamos la asociación de ubicación-salida para establecer solamente unarelación espacial entre ubicaciones de modo que se defina el número de salidas de cadaubicación. 33
    • Capítulo 3 Estado del arte Figura 3-3 Ejemplo de jerarquía de ubicaciones y salidas en base a un plano. [Hu 2004]3.2 Técnicas para extender SVG.3.2.1 Embedding domain semantics. [Chang 2003]Descripción.Este trabajo presenta tres enfoques para asociar datos de otros dominios a elementos gráficosde SVG, haciendo énfasis en producir documentos SVG que sean desplegables por unvisualizador SVG convencional.Características.  Presenta métodos para agregar información a un archivo SVG sin perder sus capacidades de visualización.  Son métodos de propósito general, por tanto su uso depende de la aplicación a desarrollar.  El SVG resultante no necesariamente es un mapa.  No utiliza recursos externos para la información asociada a los mapas.Relevancia para la tesis.De este trabajo podemos obtener formas de estructurar el documento SVG para agregarlesinformación adicional a la que provee la especificación por omisión. Nos presenta lossiguientes 3 métodos: 34
    • Capítulo 3 Estado del arte a) Agregar nuevos atributos a los elementos de SVG.Teniendo de ejemplo a un polígono que represente a un pueblo o ciudad, podría desearse tenerasociados su área y perímetro en el mapa. Una forma directa de lograrlo es extendiendo losatributos del tipo polígono con su área y perímetro, de manera que cada información pueda serasociada a cada elemento polígono como un atributo. Código 3.1 Ejemplo de extensión de atributos SVG [Chang 2003] <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd" [ <!ATTLIST polygon area CDATA #IMPLIED circumference CDATA #IMPLIED> ]> Información adicional <svg width="100" height="100" viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg"> mediante la extensión <defs> de atributos <style type="text/css"><![CDATA[ polygon { fill: green; stroke: black; stroke-width: 1} ]]> Uso de los </style> atributos </defs> definidos <polygon id="_10001001" points="10,10 10,90 90,90 90,10" area="6400" circumference="320"/> </svg>La ventaja de este enfoque es que la relación entre el elemento SVG y los datos de dominio esbastante clara. La desventaja es que solo datos de tipo simple pueden ser introducidos para losatributos y no permite la incorporación de información de dominio de tipo estructurado. b) Extender los modelos de contenido de los elementos de SVG.Aquí se extiende el modelo del elemento SVG permitiendo que se tengan hijos de tipo cantondel nombre de espacios m, que tiene a su vez hijos con los datos relacionados al dominio de unpueblo o ciudad: nombre, estadística, límites (el límite expresado por un elemento geométricode SVG). Código 3.2 Ejemplo de extensión de modelo de contenido de SVG [Chang 2003] <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd" [ <!ATTLIST svg xmlns:m CDATA #IMPLIED> 35
    • Capítulo 3 Estado del arte <!ENTITY % svgExt "| m:canton"> <!ELEMENT m:canton (m:name*, m:statistics, m:boundary)> Información adicional <!ATTLIST m:canton id ID #REQUIRED mediante la extensión bndtype (village | county) #REQUIRED> del modelo SVG. <!ELEMENT m:name EMPTY> <!ATTLIST m:name lang (chinese | tonyonPinyin) "chinese" desc CDATA #REQUIRED> <!ELEMENT m:statistics (m:population)> <!ELEMENT m:population EMPTY> <!ATTLIST m:population count CDATA #REQUIRED> <!ELEMENT m:boundary ((g | path| polygon | polyline | rect | circle | ellipse | line)*, m:geometricInfo)> <!ELEMENT m:geometricInfo EMPTY> <!ATTLIST m:geometricInfo area CDATA #IMPLIED circumference CDATA #IMPLIED> ]> <svg width="100" height="100" viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg" xmlns:m="http://example.tsm.iis.sinica.edu.tw"> <defs> <style type="text/css"><![CDATA[ polygon { fill: green; stroke: black; stroke-width: 1} ]]> </style> </defs> <m:canton id="_10001001" bndtype="village"> <m:name lang="tonyonPinyin" desc="myvillage"/> <m:statistics> Integración de un <m:population count="100"/> elemento externo a SVG. </m:statistics> <m:boundary> <polygon id="_pg01" points="10,10 10,90 90,90 90,10"/> <m:geometricInfo area="6400" circumference="320"/> </m:boundary> </m:canton> </svg>Las ventajas con respecto al enfoque anterior es que se puede utilizar un vocabulario ajeno deldominio de SVG, la relación entre los elementos geométricos de SVG y sus anotacionessemánticas es clara y no es muy difícil extraer los elementos núcleo de SVG para formar undocumento renderizable3.La desventaja principal de este enfoque es que el SVG resultante solo será reconocido poralgunos de los visualizadores SVG.3 El renderizado es el proceso de generar una imagen desde un modelo. 36
    • Capítulo 3 Estado del arte c) Enlazar a datos de un dominio específico desde elementos de SVG.Este enfoque es una mezcla de los dos anteriores, en este caso se extiende el elemento defs deSVG para incorporar los datos del dominio y a través del atributo xlink:href en la figurageométrica se apunta a la información adicional declarar en los defs. Código 3.3 Ejemplo de enlace a datos desde elementos SVG [Chang 2003] <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd" [ .... <!ENTITY % defsExt "| tsm:cantons"> <!ELEMENT tsm:cantons (tsm:canton)*> <!ELEMENT tsm:canton (tsm:countyName, tsm:townName, tsm:countyNamePinyin, tsm:townNamePinyin, tsm:area, tsm:population, tsm:statistics)*> .... <!ELEMENT tsm:statistics (tsm:Han | tsm:Paiwan | tsm:Bunun | tsm:Puyuma | tsm:Amis | tsm:Atayal | tsm:Rukai | tsm:Tsou | tsm:Tau | tsm:Others | tsm:Saisiat)*> <!ELEMENT tsm:Han EMPTY> <!ATTLIST tsm:Han count CDATA #REQUIRED> .... ]> <svg viewBox="0 0 260618 377029" xmlns="http://www.w3.org/2000/svg" xmlns:tsm="http://example.tsm.iis.sinica.edu.tw" xmlns:xlink="http://www.w3.org/1999/xlink"> <defs> .... <tsm:canton id="infoOf_1000801"> <tsm:countyNamePinyin>Nantou County</tsm:countyNamePinyin> <tsm:townNamePinyin>Nantou City</tsm:townNamePinyin> <tsm:area>71.6008</tsm:area> <tsm:population>97469</tsm:population> <tsm:statistics desc="Population of Ethnic Groups"> <tsm:Han count="96921"/> <tsm:Paiwan count="45"/> <tsm:Bunun count="216"/> <tsm:Puyuma count="13"/> <tsm:Amis count="113"/> <tsm:Atayal count="94"/> Se define <tsm:Rukai count="12"/> información <tsm:Others count="11"/> <tsm:Tsou count="27"/> adicional dentro de <tsm:Tau count="14"/> la etiqueta <defs> <tsm:Saisiat count="3"/> </tsm:statistics> </tsm:canton> .... </defs> .... 37
    • Capítulo 3 Estado del arte <path centroidX="126307.837425" centroidY="152741.66092" class="normalBoundary" d="M126434,149343L131895,149725 .... " id="_1000801" xlink:href="#infoOf_1000801"/> .... Se enlaza a la información mediante </svg> el atributo xlink:href3.2.2 Indoor navigation with SVG. [Schmitt 2005]DescripciónEl trabajo describe una guía móvil para proveer ayuda de navegación en interiores a losvisitantes de un edificio de oficina.Características.  El trabajo está limitado a interiores de edificios de oficina.  Se hace uso del formato SVG para los croquis de los interiores.  No hace uso de ontologías  Se hace uso de XSLT para pasar de XML a SVGRelevancia para la tesis.En el trabajo se desarrollaron un conjunto de herramientas de ayuda para la guía móvil, de lacual es de interés el componente de generación de mapas SVG.Para cumplir el propósito del trabajo, desarrollaron un DTD especial modelando conceptoscomunes como habitaciones de diferente forma y función (oficina, cocina, etc.), puertas,accesos, objetos especiales como extintores, entre otros. Para facilitar la creación de mapas deplantas se creó un editor a la medida en Java. Este editor permite definir nuevos objetos deplanta y previsualizar la salida en SVG. Se tienen hojas de estilo XSLT para las diferentesconfiguraciones y se emplean para convertir el archivo XML en un plano de habitaciones en laversión de SVG deseada. 38
    • Capítulo 3 Estado del arte Figura 3-4 Generador de mapas SVG3.2.3 Techniques for binding scalable vector graphics to associated information. [Mor2007]Descripción.Esta patente presenta una técnica para proveer información adicional relacionada a un objetode SVG a través de una interfaz gráfica. Las sentencias SVG están ligadas con un apuntadorhacia un recurso que incluye información que le pertenece al objeto. El apuntador del recursoasociado a una sentencia SVG, puede ser extraído del documento. La información es retiradadel recurso en base al apuntador.Características.  Método de propósito general para incorporar y obtener información adicional de un elemento de SVG.  Utiliza recursos externos para la información adicional. 39
    • Capítulo 3 Estado del arte Figura 3-5 Representación general del trabajo de la patente [Mor 2007]Relevancia para la tesis.A pesar de emplear recursos externos para contener la información adicional a los elementospropios de SVG, en este trabajo se pueden notar el uso del método (c) descrito en [Chang2003] y por tanto considerarlo como una de las mejores formas de agregar datos de otrodominio a un documento SVG.3.3 Análisis comparativo.En la Tabla 3-2 se presenta el análisis comparativo de los trabajos descritos en el estado delarte referentes a los modelos de representación de espacios, se definen 4 características derelevancia para la comparación: 1. Granularidad de la representación de espacios. Se utiliza para observar el alcance que se tiene en cuanto a qué espacios pueden ser representados dentro de cada trabajo. 2. Representación de objetos adicionales a espacios. Esto es, si la representación modela por default o mediante el uso de otros recursos alguna otra característica que no sea un espacio. 40
    • Capítulo 3 Estado del arte 3. Tecnología de la representación. Define en dónde es plasmada la información relacionada con los espacios. 4. Uso de la representación de espacios. Esta característica indica para que se emplea la representación de espacios dentro del trabajo.Dentro de los valores para las características se encuentra el valor “Dependiente de laaplicación” esto se da debido a que los trabajos para los cuales el valor aplica son trabajossobre los cuales no necesariamente se utilizan para representación de espacios y mapas y portanto quedan a disposición de quien desarrolle la manera de implementar. Tabla 3-2 Análisis comparativo del estado del arte en modelos de representación de espacios Granularidad Representación Tecnología de Uso de la de la de objetos la representación representación adicionales a representación de espacios de espacios espaciosChen 2003 De Campus a Agentes y OWL Realizar habitación actividades inferencias sobre mediante el contexto ontologías adicionalesHu 2004 Plantas y Ninguna Grafos Navegación en habitaciones interiores y búsqueda de camino más cortoAnagnostopoulos Plantas y No menciona Base de datos Hacer2005 habitaciones espacial y OWL inferencias para seleccionar la mejor ruta de un conjunto de rutas en base a perfil del usuarioKottahachchi De países a Funciones, DAML, OWL y Modelo general2005 habitaciones actividades, RDF para apoyar a recursos, aplicaciones personas de conscientes del forma nativa contextoDudas 2009 Plantas y Objetos que Ontología, Proveer la mejor 41
    • Capítulo 3 Estado del arte habitaciones representen modelo de ruta en base a obstáculos redes de perfil del usuario pasillos y BIMTesis De países a Funciones, OWL Acotado a la habitaciones actividades y descripción de la recursos para infraestructura enlace con de ontologías organizaciones externasEn la Tabla 3-3 se presenta el análisis comparativo de los trabajos descritos en el estado delarte referentes a la extensión del formato SVG para contener información adicional a loestablecido en el estándar, se definen la técnica empleada, así como sus puntos a favor y encontra. Tabla 3-3 Análisis comparativo del estado del arte en técnicas para extender SVG Técnica Pros ContrasChang Agregar atributos a los Propósito general, No permite información2003 (a) elementos SVG Claridad de la relación estructurada. elemento-información.Chang Extender los modelos Propósito general. Puede no ser reconocido el2003 (b) de los elementos SVG Claridad de la relación formato por algunos visores. elemento-información. Permite información estructurada.Chang Enlazar a datos desde Propósito general. El desarrollo de la DTD puede2003 (c) elementos SVG Claridad de la relación volverse complejo dependiendo elemento-información. de la información que se quiera Permite información incluir estructurada.Schmitt Conversión a SVG de No menciona. Limitado a un vocabulario de2005 datos en XML oficina mediante DTD y XSLTMor Enlazar a datos desde Propósito general. El enlace se realiza a entidades2007 elementos SVG externas que proveen la información.Tesis Enlazar a datos desde Propósito general. elementos SVG No requiere DTD. Información estructurada. 42
    • Capítulo 4 Análisis y diseño.
    • Capítulo 4 Análisis y diseño4.1 Análisis.El presente trabajo de tesis se conforma del desarrollo de un conjunto de herramientas quepermiten: a) agregar información a un mapa SVG de manera manual asociando a las figurasdel mapa información de la organización, b) recibir un conjunto de recomendaciones quepermiten modificar de manera automática el mapa SVG, extrayendo información que no estáconsiderada en las recomendaciones, este proceso lo denominamos destilado del mapa SVG,para denotar de manera gráfica los puntos de interés y eliminar información que no espertinente a las recomendaciones de entrada y c) hacer uso del mapa SVG y explorar suinformación dentro de un dispositivo móvil que funcione con la plataforma Android 2.x.También incluyó el desarrollo de una ontología para la representación de infraestructura quefunge como fuente de datos para los prototipos software y que además es parte de una red deontologías, donde es complemento para proveer una descripción más amplia de unaorganización. Módulo de generación de Repositorio de ontologías existentes mapas SVG con anotaciones semánticas Ontología de infraestructura Módulo de Visualizador edición Repositorio de SVG automática de mapas SVG mapas SVG Figura 4-1 Esquema de interacción entre los módulos desarrollados.La Figura 4-2 muestra de manera sencilla como una ubicación (infraestructura de unaorganización) puede relacionarse con conceptos de otras ontologías como lo son personas (queutilizan el espacio) y recursos (que son propios del lugar). La ontología de infraestructura 44
    • Capítulo 4 Análisis y diseñocomplementa la red de ontologías y a la vez funciona como un puente de comunicación entrelos datos ya registrados en la red de ontologías mediante la relación de los conceptosexistentes con los definidos en la infraestructura. Figura 4-2 Diagrama conceptual del enlace de la ontología de infraestructura en la red de ontologías4.1.1 Ontología de infraestructura.4.1.1.1 Metodología para crear la ontología.Nos basamos en dos trabajos respecto a creación de ontologías para llevar a cabo la tarea dedesarrollo de la ontología de infraestructura necesaria para la tesis: “Guía Para Crear TuPrimera Ontología” [Noy 2005] y “METHONTOLOGY” [Fernández 1997]:[Noy 2005] propone los siguientes pasos: 1. Determinar el dominio y alcance de la ontología, con ayuda de preguntas básicas como: 45
    • Capítulo 4 Análisis y diseño a. ¿Cuál es el dominio que cubrirá la ontología? b. ¿Para qué usaremos la ontología? c. ¿A qué tipos de preguntas deberá proveer respuestas la información en la ontología? 2. Considerar la reutilización de ontologías existentes. Verificar si podemos refinar y extender recursos existentes para nuestro dominio y tarea particular. 3. Enumerar términos importantes para la ontología. Escribir una lista con todos los términos con los que quisiéramos hacer enunciados o dar explicación a un usuario. 4. Definir las clases y la jerarquía de clases. 5. Definir las propiedades de las clases (denominados en esta metodología “slots”). 6. Definir las facetas de los slots. (Cardinalidad, tipo de valor, dominio y rango). 7. Crear instancias.[Noy 2005] da un panorama general, por lo que se complementan las etapas y plantillas con eltrabajo de [Fernández 1997], la cual propone las siguientes tareas [Gómez 2004]: 1. Construir un glosario de términos que identifique el conjunto de términos que serán incluidos en la ontología, su definición en lenguaje natural, y sus sinónimos y acrónimos. 2. Construir una taxonomía de conceptos para clasificar conceptos. 3. Construir diagramas de relaciones binarias para identificar relaciones entre conceptos de la ontología. 4. Construir el diccionario de conceptos, que contiene principalmente instancias de conceptos para cada concepto, atributos de clases y sus relaciones. 5. Describir a detalle cada relación binaria que parece en los diagramas y el diccionario de conceptos. 6. Describir a detalle cada atributo de instancia que aparece en el diccionario de conceptos. 7. Describir a detalle cada atributo de clase que aparece en el diccionario de conceptos. 8. Describir a detalle cada constante y producir una tabla de constantes 9. Describir axiomas formales. 46
    • Capítulo 4 Análisis y diseño 10. Describir reglas.Opcionalmente, introducir información de instancias.4.1.1.2 Definición de dominio y alcances de la ontología.La ontología debe cubrir los conceptos y relaciones inherentes a la descripción de ubicaciones(espacios físicos) que puedan existir dentro del perímetro de los terrenos de organizaciones.El uso de la ontología es para representar funciones y recursos asociados a los elementos demapas de interiores y exteriores de la infraestructura de una organización.Se pueden atacar preguntas que traten con la ubicación de espacios y con las capacidades deestos, como pueden ser: ¿En qué edificio está el laboratorio x, la oficina y, o el aula z?,¿Cuántas personas pueden estar en el auditorio de la organización?, ¿Quién es la persona queocupa esta área?, etc.4.1.1.3 Ontologías existentes.Dentro del reporte del estado del arte se localizaron algunas ontologías que no tratanprecisamente de modelar la infraestructura pero si los espacios, por lo tanto se utilizaronalgunos de sus conceptos y relaciones como base para nuestra ontología. Para observar lorelevante de esos trabajos referirse al reporte del estado del arte.4.1.1.4 Conceptos extraídos de las ontologías existentes.Door [Dudas 2009]AutomaticDoor [Dudas 2009]EmergencyDoor [Dudas 2009]ManualDoor [Dudas 2009]Function [Kottahachchi 2005] (Nombrada como Activity)FunctionalPlace [Kottahachchi 2005]Person [Kottahachchi 2005] 47
    • Capítulo 4 Análisis y diseñoResource [Kottahachchi 2005]Path [Kottahachchi 2005], [Anagnostopoulos 2005]Elevator [Dudas 2009]Ramp [Dudas 2009]Stairs [Dudas 2009]Place [Chen 2003], [Kottahachchi 2005]4.1.1.5 Conceptos añadidos.Se añadieron conceptos que no se encontraron dentro de los modelos definidos en los trabajosdel estado del arte y que complementan la representación de espacios o que son necesariospara los objetivos de esta tesis:Access, AP (Access Point), BT (Bluetooth), RFIDTag, QRCode, RFIDReader, Space,ElectricalStairs, FixedStairs4.1.1.6 Glosario de términos.Una vez definidos los conceptos se hace explícito a que nos referimos con cada uno de ellosmediante el desarrollo de un glosario.Nombre Descripción TipoAccess Describe un punto límite que permite la entrada o salida a un Concepto espacioDoor Concepto raíz que agrupa atributos generales a los subconceptos de Concepto tipo puertaAutomaticDoor Puerta en la que no es necesario tener una interacción física (tocar) Concepto para su usoEmergencyDoor Tipo especial de puerta que se utiliza solamente en ocasiones de Concepto emergenciaManualDoor Puerta de tipo general en la que es necesario tener una interacción Concepto física (tocar)Function Una actividad que puede ser realizada en un lugar ConceptoFunctionalPlace Describe las acciones que pueden realizarse en un espacio dado Concepto 48
    • Capítulo 4 Análisis y diseñoPerson Entidad que representa a una persona de la vida real ConceptoResource Un objeto dentro del control de una entidad en particular ConceptoAP Define un Access Point Wi-Fi ConceptoBT Define un Access Point Bluetooth ConceptoRFIDTag Define un tag RFID ConceptoQRCode Define un código de barras bidimensional ConceptoRFIDReader Define a un lector de tags RFID ConceptoSpace Cualquier lugar en donde se puede ubicar a una persona u objeto ConceptoPath Describe un espacio que permite llegar de un lugar a otro ConceptoElevator Dispositivo que permite trasladarse entre lugares de manera vertical ConceptoRamp Tipo especial de camino utilizado generalmente por personas con Concepto discapacidadesStairs Construcción diseñada para acceder a espacios en diferentes alturas ConceptoElectricalStairs Escaleras que llevan de manera automática de un lugar a otro ConceptoFixedStairs Escaleras en las cuales es necesario subir sus escalones ConceptoPlace Una entidad para representar un lugar del mundo real ConceptocontainedIn Relación para denotar la contención entre espacios RelacióndoesFunction Relación para definir el grupo de actividades que pueden realizarse Relación en un tipo de lugarhasAccess Relación que asocia los accesos con los espacios para determinar Relación sus entradas o salidashasResource Relación para indicar que recursos están disponibles en un espacio Relación determinadooccupiedBy Relación que indica que persona se localiza de manera "estática" en Relación un lugarworksAs Relación que asocia que funciones se realizan en un lugar RelaciónidentifiedBy Establece el tag rfid que con el que es identificada la persona Relaciónname Define el nombre con el cual el elemento será identificado (legible Atributo por humanos)maximumCapacity Define el número máximo de personas que pueden estar en el lugar Atributodirection Define el sentido del acceso AtributoMAC La dirección MAC de un dispositivo Atributo 49
    • Capítulo 4 Análisis y diseñovalue Establece el dato contenido dentro del recurso Atributoamount Cantidad que indica el número de recursos del mismo tipo que se Atributo encuentran en un lugar4.1.1.7 Taxonomía de conceptos.Una vez identificados los conceptos a utilizar y teniendo claro que representa cada uno seprocede a categorizar y ordenarlos de forma jerárquica formando así la taxonomía deconceptos.  Thing o Access  Door  AutomaticDoor  EmergencyDoor  ManualDoor o Function o FunctionalPlace o Person o Resource  AP  BT  RFIDTag  QRCode  RFIDReader o Space  Path  Elevator  Ramp  Stairs o ElectricalStairs 50
    • Capítulo 4 Análisis y diseño o FixedStairs  Place4.1.1.8 Diagrama de relaciones.Teniendo las relaciones jerárquicas entre los distintos conceptos, se procede a establecer lasrelaciones ontológicas que existen entre ellos.Una vez definidos los conceptos y sus relaciones se crean los diccionarios que posteriormentesirven de guía para la definición de la ontología dentro de algún software o su codificación enOWL.4.1.1.9 Diccionario de conceptosSe define por cada concepto los atributos que puede tener así como sus relaciones con el restode los elementos.Nombre Atributos RelacionesAccess direction, name --Door direction, name --AutomaticDoor direction, name --EmergencyDoor direction, name --ManualDoor direction, name -- 51
    • Capítulo 4 Análisis y diseñoFunction name --FunctionalPlace name doesFunctionPerson name identifiedByResource name --AP name, MAC --BT name, MAC --RFIDTag name, value --QRCode name, value --RFIDReader name --Space name, containedIn, hasAccess, hasResource maximumCapacityPath name, containedIn, hasAccess, hasResource maximumCapacityElevator name, containedIn, hasAccess, hasResource maximumCapacityRamp name, containedIn, hasAccess, hasResource maximumCapacityStairs name, containedIn, hasAccess, hasResource maximumCapacityElectricalStairs name, containedIn, hasAccess, hasResource maximumCapacityFixedStairs name, containedIn, hasAccess, hasResource maximumCapacityPlace name, occupiedBy, worksAs, containedIn, hasAccess, maximumCapacity hasResource4.1.1.10 Diccionario de relacionesSe definen los dominios y rangos de las relaciones ontológicas encontradas. Nombre Dominio Rango Tipo de relación containedIn Space Space Transitiva doesFunction FunctionalPlace Function -- hasAccess Space Access -- 52
    • Capítulo 4 Análisis y diseño hasResource Space Resource -- identifiedBy Person RFIDTag Funcional occupiedBy Place Person -- worksAs Place FunctionalPlace --4.1.1.11 Diccionario de atributosSe especifica por atributo los conceptos que los utilizan y el tipo de dato que van a almacenar. Nombre Concepto Tipo amount direction Access Int {0, 1, 2} MAC AP, BT String maximumCapacity Space Int name Access, Funtion, String Person, FunctionalPlace, Space, Resource value QRCode, String RFIDTag4.1.1.12 Definición formal de la ontología.Para formalizar la ontología se utiliza la definición propuesta en [Ehrig 2006] que indica:O:=(S, A, KB, Lex), donde O es una ontología, donde S es una ontología núcleo, A unconjunto de axiomas, KB una base de conocimiento y Lex un léxico.S:=(C, R, ≤C, ≤R, ), donde C es un conjunto de conceptos, R un conjunto de relaciones, ≤Cun orden parcial en C, ≤R un orden parcial en R y  una función R  CxC. 53
    • Capítulo 4 Análisis y diseñoC = {Thing, Access, Door, AutomaticDoor, EmergencyDoor, ManualDoor, Function,FunctionalPLace, PErson, REsource, AP, BT, QRCode, RFIDReader, RFIDTag, Space, Path,Elevator, Ramp, Stairs, ElectricalStairs, FixedStairs, Place}R = {containedIn, does function, hasAccess, hasResource, identifiedBy, occupiedBy,worksAs}*Por efectos prácticos y de espacio en ≤C se toma sólo como “<” y se anotan las relacionesbinarias que representan directamente la taxonomía.≤C = {(Access, Thing), (Function, Thing), (FunctionalPlace, Thing), (Person, Thing),(Resource, Thing), (Space, Thing), (Door, Access), (AutomaticDoor, Door), (EmergencyDoor,Door), (ManualDoor, Door), (AP, Resource), (BT, Resource), (QRCode, Resource),(RFIDReader, Resource), (RFIDTag, Resource), (Path, Space), (Place, Space), (Elevator,Path), (Ramp, Path), (Stairs, Path), (ElectricalStairs, Stairs), (FixedStairs, Stairs)}≤R = {(containedIn, doesFunction ), (containedIn, hasAccess), (containedIn, hasResource ),(doesFunction, containedIn), (doesFunction, hasAccess), (doesFunction, hasResource),(hasAccess, containedIn), (hasAccess, doesFunction), (hasAccess, hasResource),(identifiedBy, containedIn), (identifiedBy, doesFunction), (identifiedBy, hasAccess),(identifiedBy, hasResource), (occupiedBy, containedIn), (occupiedBy, doesFunction),(occupiedBy, hasAccess), (occupiedBy, hasResource), (occupiedBy, worksAs), (worksAs,containedIn), (worksAs, doesFunction), (worksAs, hasAccess), (worksAs, hasResource),(worksAs, occupiedBy)} = {containedIn  (Space, Space), doesFunction  (FunctionalPlace, Function), has Access (Space, Access), hasResource  (Space, Resource), identifiedBy  (Person, RFIDTag),occupiedBy  (Place, Person), worksAs  (Place, FunctionalPlace)} 54
    • Capítulo 4 Análisis y diseñoA:=(AI, α), donde AI es un conjunto de identificadores de axiomas y α es un mapeo AI Ldonde L es un lenguaje lógico.No hay axiomas definidos.*Se usan solo un pequeño conjunto de datos para demostrar la definición de base deconocimiento y léxico.KB:=(C, R, I, C, R), donde C y R están definidos igual que en S, I es el conjunto deidentificadores de instancias, C es una función de instanciación de conceptos y R una funciónde instanciación de relaciones.I = {PuertaPrincipalDCC, Practicas, Laboratorio, Ricardo, APAlumnos, RFIDTag_Ricardo,EscalerasDCC, Cerritus, DCC, DCCPB, DCCPA, LSD}C = {Access  {PuertaPrincipalDCC}, Function  {Practicas}, FunctionalPlace {Laboratorio}, Person  {Ricardo}, Resource  {APAlumnos}, RFIDTAG {RFIDTag_Ricardo}, FixedStairs{EscalerasDCC}, Place  {Cerritus, DCC, DCCPB,DCCPA, LSD}}R = {containdedIn  {(LSD, DCCPB), (DCCPB, DCC), (DCCPA, DCC), (EscalerasDCC,DCC), (DCC, Cerritus)}, doesFunction  {(Laboratorio, Practicas)}, hasAccess  {(DCC,PuertaPrincipalDCC), (DCCPB, EscalerasDCC), (DCCPA, EscalerasDCC)}, hasResource {(DCCPB, APAlumnos)}, identifiedBy  {(Ricardo, RFIDTag_Ricardo)}, occupiedBy {(LSD, Ricardo)}, worksAS  {(LSD,Laboratorio)}}Lex := (GC, GR, GI, RefC, RefR, RefI), donde GC, GR, GI son conjuntos denominados signospara conceptos, relaciones e instancias respectivamente y RefC, RefR, RefI son una relación dereferencias léxicas para conceptos, relaciones e instancias. 55
    • Capítulo 4 Análisis y diseñoGC = {“Access”, “Door”, “AutomaticDoor”, “EmergencyDoor”, “ManualDoor”, “Function”,“FunctionalPlace”, “Person”, “Resource”, “AP”, “BT”, “QRCode”, “RFIDReader”,“RFIDTag”, “Space”, “Path”, “Elevator”, “Ramp”, “Stairs”, “ElectricalStairs”, “FixedStairs”,“Place”}GR = {“containedIn”, “does Function”, “has Access”, “hasResource”, “identifiedBy”,“occupiedBy”, “worksAs”}GI = {“PuertaPrincipalDCC”, “Practicas”, “Laboratorio”, “Ricardo”, “APAlumnos”,“RFIDTag_Ricardo”, “EscalerasDCC”, “Cerritus”, “DCC”, “DCCPB”, “DCCPA”, “LSD”}RefC = {(“Access”, Access), (“Door”, Door), (“AutomaticDoor” , AutomaticDoor),(“EmergencyDoor” , EmergencyDoor), (“ManualDoor” , ManualDoor), (“Function” ,Function), (“FunctionalPlace” , FunctionalPlace), (“Person” , Person), (“Resource” ,Resource), (“AP” , AP), (“BT” , BT), (“QRCode” , QRCode), (“RFIDReader” , RFIDReader),(“RFIDTag” , RFIDTag), (“Space” , Space), (“Path” , Path), (“Elevator” , Elevator), (“Ramp”, Ramp), (“Stairs” , Stairs), (“ElectricalStairs” , ElectricalStairs), (“FixedStairs” , FixedStairs),(“Place” , Place)}RefR = {(“containedIn” , containedIn), (“doesFunction” , doesFunction), (“hasAccess” ,hasAccess), (“hasResource” , hasResource), (“identifiedBy”, identifiedBy), (“occupiedBy” ,occupiedBy), (“worksAs” , worksAs)}RefI = {(“PuertaPrincipalDCC” , PuertaPrincipalDCC), (“Practicas” , Practicas),(“Laboratorio” , Laboratorio), (“Ricardo” , Ricardo), (“APAlumnos”, APAlumnos),(“RFIDTag_Ricardo”, RFIDTag_Ricardo), (“EscalerasDCC”, EscalerasDCC), (“Cerritus”,Cerritus), (“DCC”, DCC), (“DCCPB”, DCCPB ), (“DCCPA”, DCCPA), (“LSD”, LSD)}Aquí concluye la formalización de la ontología de infraestructura desarrollada en esta tesis. Enlo que resta del capítulo se define la parte correspondiente al análisis de los prototipos. En la 56
    • Capítulo 4 Análisis y diseñoFigura 4-3 se muestra un diagrama de casos de uso que plantean de manera general losprototipos software. Figura 4-3 Casos de uso generales del conjunto de herramientasA continuación se presentan a mayor profundidad los casos de uso.4.1.2 Herramienta generadora de croquis.En la Figura 4-4 se presenta el diagrama de caso de uso que corresponde a la herramienta quenos permitirá manipular la información que estará contenida en los mapas SVG y obtenercomo resultado un mapa con información contextual. Se puede observar los diferentes casosde uso que nos permiten agregar mapas SVG al repositorio (CU 1.1), remover mapasincorrectos del repositorio (CU 1.2), elegir sobre que mapa se desea trabajar y cuál es laorganización que representa (CU 1.3), manipular la información contenida en el mapa (CU1.4) y por último, generar la salida del mapa SVG (CU 1.5). 57
    • Capítulo 4 Análisis y diseño Figura 4-4 Caso de uso 1. Generar croquisDe la Tabla 4-1 a la Tabla 4-10 se presentan las descripciones de los casos de uso mostradosen la Figura 4-4, así como los diagramas de secuencia para cada uno de ellos de la Figura 4-5 ala Figura 4-14. Tabla 4-1 Descripción del caso de uso 1.1. Cargar croquisCaso de uso CU1.1 Cargar croquis.Descripción Permite al usuario ingresar un croquis a la aplicación.Precondición El croquis debe de estar en formato SVG o SVG TinySecuencia Acciónnormal 1. El usuario explora el sistema de archivos por el croquis que desea cargar. 2. El usuario selecciona el croquis deseado. 3. El usuario da clic en el botón de carga. 58
    • Capítulo 4 Análisis y diseñoPostcondición Un nuevo croquis en el repositorio y en la lista de croquis disponiblesExcepciones Acción 1. El croquis a cargar ya existe. 2. La aplicación sobrescribe el croquis antiguo con la versión nueva. Figura 4-5 Diagrama de actividad del caso de uso 1.1 Tabla 4-2 Descripción del caso de uso 1.2. Eliminar croquisCaso de uso CU1.2 Eliminar croquis.Descripción Le permite al usuario elegir un croquis incorrecto o innecesario y eliminarlo del repositorio.Precondición Debe existir al menos un croquis en el repositorio.Secuencia Acción 59
    • Capítulo 4 Análisis y diseñonormal 1. El usuario selecciona de la lista de croquis el que desea eliminar. 2. El usuario da clic al botón eliminar. 3. La aplicación elimina del repositorio el croquis elegido.Postcondición Una entrada menos en la lista de croquis disponibles. Figura 4-6 Diagrama de actividad del caso de uso 1.2 Tabla 4-3 Descripción del caso de uso 1.3. Seleccionar croquis y organizaciónCaso de uso CU1.3 Seleccionar croquis y organización.Descripción Permite al usuario definir el croquis sobre el cual va a trabajar y la organización de la cual obtendrá información.Precondición Debe existir al menos un croquis en el repositorio y una organización definida en el almacén de tripletas.Secuencia Acciónnormal 1. El usuario selecciona de la lista de croquis obtenida del CU1.7. 2. El usuario selecciona de una lista la organización a obtener información proveniente del CU1.6. 3. El usuario da clic en el botón comenzar.Postcondición Se muestra la pantalla principal de la aplicación. 60
    • Capítulo 4 Análisis y diseñoIncluye CU1.6 Cargar organizaciones. CU1.7 Cargar croquis existentes Figura 4-7 Diagrama de actividad del caso de uso 1.3 Tabla 4-4 Descripción del caso de uso 1.4. Manipular información.Caso de uso CU1.4 Manipular información.Descripción Le permite al usuario asociar o desasociar la información contenida en el croquis.Precondición El usuario debe de encontrarse dentro de la pantalla principal de la aplicación.Secuencia Acciónnormal 1. El usuario ejecuta CU1.8 o el CU1.9Postcondición La operación realizada debe verse reflejada en la interfaz gráfica.Incluye CU1.8 Asociar información. CU1.9 Desasociar información. 61
    • Capítulo 4 Análisis y diseño Figura 4-8 Diagrama de actividad del caso de uso 1.4 Tabla 4-5 Descripción del caso de uso 1.5. Generar croquisCaso de uso CU1.5 Generar croquis.Descripción Le permite al usuario guardar los cambios realizados a la información asociada al croquis y recibir la última versión del croquis.Precondición El usuario debe de estar en la pantalla principal de la aplicación.Secuencia Acciónnormal 1. El usuario da clic en “generar”. 2. Abre el croquis del repositorio. 3. La aplicación guarda el croquis con los nuevos cambios. 4. La aplicación envía en una nueva ventana el croquis recientemente creado.Postcondición Un archivo SVG Tiny que contiene la información seleccionada en la aplicación. 62
    • Capítulo 4 Análisis y diseño Figura 4-9 Diagrama de actividad del caso de uso 1.5 Tabla 4-6 Descripción del caso de uso 1.6. Cargar organizacionesCaso de uso CU1.6 Cargar organizaciones.Descripción Se encarga de realizar la consulta al almacén de tripletas y devolver la lista de organizaciones existentes en él.Precondición Debe estar disponible el almacén de tripletas.Secuencia Acciónnormal 1. Se accede al almacén de tripletas. 2. Se buscan las instancias de tipo organización y sus subclases. 3. Por cada instancia obtenida se recuperan sus atributos de nombre. 4. Se devuelven los nombres e identificadores de las organizaciones.Postcondición Una lista de las organizaciones disponibles.Excepciones Acción 1. No se encuentra ninguna organización. 2. Se devuelve una lista vacía. 63
    • Capítulo 4 Análisis y diseño Figura 4-10 Diagrama de actividad del caso de uso 1.6 Tabla 4-7 Descripción del caso de uso 1.7. Cargar croquis existentesCaso de uso CU1.7 Cargar croquis existentes.Descripción Se encarga de realizar la consulta al repositorio de croquis y devolver la lista de croquis existentes en él.Precondición Debe estar disponible el repositorio de croquis.Secuencia Acciónnormal 1. Se accede al repositorio de croquis. 2. Se leen los nombres de los archivos. 3. Se devuelven los nombres de los croquis.Postcondición Una lista de croquis disponibles.Excepciones Acción 1. No se encuentra ningún croquis. 2. Se devuelve una lista vacía. 64
    • Capítulo 4 Análisis y diseño Figura 4-11 Diagrama de actividad del caso de uso 1.7 Tabla 4-8 Descripción del caso de uso 1.8. Asociar informaciónCaso de uso CU1.8 Asociar información.Descripción Permite relacionar la información contenida en el almacén de tripletas a un elemento SVG del croquis.Precondición El usuario debe encontrar en la pantalla principal de la aplicación.Secuencia Acciónnormal 1. El usuario selecciona un elemento SVG al que desee asociarle información. 2. El usuario selecciona la información que va a asociarle al elemento, información proveniente de CU1.10. 3. El usuario da clic en el botón asociar. 4. La aplicación guarda en memoria la asociación y la información.Postcondición Una variable en memoria que registra el cambio de información.Excepciones Acción 1. El elemento ya posee información asociada. 2. La información recién seleccionada reemplaza a la actual. 65
    • Capítulo 4 Análisis y diseño Figura 4-12 Diagrama de actividad del caso de uso 1.8 Tabla 4-9 Descripción del caso de uso 1.9. Desasociar informaciónCaso de uso CU1.9 Desasociar información.Descripción Permite eliminar la relación de la información asociada a un elemento SVG del croquis.Precondición El usuario debe encontrar en la pantalla principal de la aplicación y el elemento seleccionado debe tener información asociada previamente.Secuencia Acciónnormal 1. El usuario selecciona un elemento SVG al que desee quitar información. 2. El usuario da clic en el botón desasociar. 3. La aplicación elimina la información en memoria asociada.Postcondición Eliminación de una variable en memoria 66
    • Capítulo 4 Análisis y diseño Figura 4-13 Diagrama de actividad del caso de uso 1.9 Tabla 4-10 Descripción del caso de uso 1.10. Cargar información de espaciosCaso de uso CU1.10 Cargar información de espacios.Descripción Permite acceder a todos los datos encontrados en el almacén de tripletas que correspondientes a un lugar específico.Precondición El usuario debe haber seleccionado previamente un lugar.Secuencia Acciónnormal 1. Se accede al almacén de tripletas. 2. Se localiza la instancia correspondiente al lugar seleccionado. 3. Se extraen las instancias de las personas asociadas a ese lugar. 4. Se extraen las instancias de las funciones asociadas a ese lugar. 5. Se extraen las instancias de las recursos asociadas a ese lugar 6. Se devuelven todos los valores recuperados de las consultasPostcondición Una lista de valores correspondientes a un nombre de lugar, personas, recursos y funciones.Excepciones Acción 1. Si alguna categoría no tiene instancias, se devuelve esa categoría vacía. 67
    • Capítulo 4 Análisis y diseño Figura 4-14 Diagrama de actividad del caso de uso 1.104.1.3 Módulo de edición automática.La Figura 4-15 presenta el caso de uso 2. Editar mapa automáticamente que corresponde almódulo que eliminará información del croquis en base a las recomendaciones recibidas en unarchivo XML proveniente de una solicitud de un dispositivo Android y posteriormente leregresará la copia modificada del croquis al dispositivo. Para ello requerimos: recibir los datosde la solicitud (CU2.1), enviar el croquis editado de vuelta al dispositivo móvil (CU1.2), porlo que es necesario extraer los identificadores de los elementos recomendados (CU2.3) yposteriormente se utilizar los identificadores obtenidos para modificar la informacióncontenida en el croquis (CU2.4). 68
    • Capítulo 4 Análisis y diseño Figura 4-15. Caso de uso 2. Editar croquis automáticamente.De la Tabla 4-11 a la Tabla 4-14, se describen cada uno de los casos de uso involucrados en elcaso de uso 2. Las Figura 4-16 a la Figura 4-19 corresponden a los diagramas de actividad decada uno de los casos de usos contenidos en el caso de uso 2. Tabla 4-11. Descripción del caso de uso 2.1. Recibir solicitud de datos.Caso de uso CU2.1 Recibir solicitud de datos.Descripción Se encarga de procesar el paquete que envía el dispositivo Android al servidor para solicitar un croquis.Precondición El módulo de edición automática de croquis debe de estar en ejecución.Secuencia Acciónnormal 1. Se recibe la petición proveniente del dispositivo Android. 2. Se extrae el archivo XML de recomendaciones incluido con la petición.Postcondición Se obtiene un archivo XML que contiene los elementos que fueron solicitados para resaltar en el croquis. 69
    • Capítulo 4 Análisis y diseño Figura 4-16. Diagrama de actividad del caso de uso 2.1 Tabla 4-12. Descripción del caso de uso 2.2. Enviar croquis editado.Caso de uso CU2.2 Enviar croquis editadoDescripción Se encarga de mandar al dispositivo móvil que hizo la solicitud del croquis la versión correspondiente a las recomendaciones de entrada.Precondición El módulo de edición automática de croquis debe de estar en ejecución. Se debe tener el archivo XML de recomendaciones.Secuencia Acciónnormal 1 1. Se ejecuta el CU2.3 y se almacenan los identificadores recuperados del archivo XML. 2. Se ejecuta el CU2.4 y se envía al dispositivo móvil solicitante la copia con modificaciones del croquis.Postcondición El dispositivo móvil recibe un paquete con el croquis modificado.Incluye CU2.3 Extraer ID de recomendaciones CU2.4 Editar croquis en base a IDs 70
    • Capítulo 4 Análisis y diseño Figura 4-17. Diagrama de actividad del caso de uso 2.2 Tabla 4-13. Descripción del caso de uso 2.3. Extraer ID de recomendaciones.Caso de uso CU2.3 Extraer ID de recomendacionesDescripción Se encarga de analizar el archivo XML de recomendaciones y devolver solamente los identificadores requeridos.Precondición El módulo de edición automática de croquis debe de estar en ejecución. Se debe tener el archivo XML de recomendaciones.Secuencia Acciónnormal 1. Se lee el archivo XML. 2. Por cada nodo se busca si corresponde a la acción para mostrar en el croquis. 3. Cuando corresponda se busca el tipo de elemento recomendado y se almacena en su propio arreglo.Postcondición Se tiene un conjunto de arreglos que contienen los identificadores de los elementos solicitados a mostrar en el croquis. 71
    • Capítulo 4 Análisis y diseño Figura 4-18. Diagrama de actividad del caso de uso 2.3 Tabla 4-14. Descripción del caso de uso 2.4. Editar croquis en base a IDs.Caso de uso CU2.4 Editar croquis en base a IDsDescripción Elimina la información innecesaria contenida en el croquis y denota los elementos necesarios en base a las recomendaciones solicitadas.Precondición Se debe haber ejecutado satisfactoriamente CU2.3.Secuencia Acciónnormal 1. Por cada identificador en los arreglos se hace una búsqueda en el croquis. 2. Si es encontrado, se almacena el identificador de la figura que representa el lugar que le corresponde. 3. Se obtienen los identificadores de información asociada de cada una de las figuras seleccionadas. 4. Se le agrega a cada figura seleccionada un efecto de animación para resaltarla en el croquis. 5. Se recorre la sección de información adicional y si el identificador de la información no se encuentra dentro de los 72
    • Capítulo 4 Análisis y diseño identificadores seleccionados, se elimina del croquis. 6. Se genera una copia del croquis con las modificaciones realizadas.Postcondición Se tiene un croquis con ubicaciones resaltadas y que contiene solamente información de dichas ubicaciones. Figura 4-19. Diagrama de actividad del caso de uso 2.4 73
    • Capítulo 4 Análisis y diseño4.1.4 Visualizador SVG.La Figura 4-20 presenta el caso de uso 3. Visualizar croquis, que corresponde al visualizadoren el dispositivo Android que permite interactuar con la versión modificada del croquis. Elvisualizador se encarga de recibir el croquis y mostrarlo en pantalla (CU3.1), una vez cargadoel croquis es posible hacer operaciones de acercamiento (zoom in) y alejamiento (zoom out),así como desplazarlo por la pantalla y restablecerlo a su vista original. (CU3.3 a CU3.6respectivamente), otras posibilidades son moverse a través de las capas incluidas en el croquis(CU3.7) y examinar la información adicional que tienen asociadas las figuras (CU3.8). Figura 4-20. Caso de uso 3. Visualizar croquis. 74
    • Capítulo 4 Análisis y diseñoDe la Tabla 4-15 a la Tabla 4-22, se describen cada uno de los casos de uso involucrados en elcaso de uso 3. Las Figura 4-21 a la Figura 4-27 corresponden a los diagramas de actividad decada uno de los casos de usos de que conforman el caso de uso 3. Tabla 4-15. Descripción del caso de uso 3.1. Cargar croquis.Caso de uso CU3.1 Cargar croquisDescripción Recibe el croquis y lo despliega en la pantalla del visualizador.Precondición Se debe de haber recibido el croquis modificado del CU2.2Secuencia Acciónnormal 1 1. Se recibe el paquete que contiene el croquis SVG. 2. Se extrae el archivo SVG. 3. Se parsea el archivo SVG. 4. Se generan la imagen. 5. Se rasteriza el croquis en pantalla.Postcondición Se tiene un croquis con ubicaciones resaltadas que contienen solamente información de dichas ubicaciones.Excepciones Acción 1. El archivo recibido no es SVG versión Tiny. 2. No se despliega en pantalla ningún croquis 75
    • Capítulo 4 Análisis y diseño Figura 4-21. Diagrama de actividad del caso de uso 3.1 Tabla 4-16 Descripción del caso de uso 3.2. Interactuar con croquisCaso de uso CU3.2 Interactuar con croquis.Descripción Le permite al usuario realizar diversas acciones que afectan la información visual.Precondición El usuario debe encontrarse dentro de la pantalla principal de la aplicación y tener cargado un mapaSecuencia Acciónnormal 1. El usuario puede realizar del CU3.3 al CU3.8Postcondición La operación realizada debe verse reflejada en la interfaz gráfica.Incluye CU3.3 Zoom in CU3.4 Zoom out 76
    • Capítulo 4 Análisis y diseño CU3.5 Panning CU3.6 Reset CU3.7 Cambiar capa CU3.8 Examinar información del croquis Tabla 4-17. Descripción del caso de uso 3.3. Zoom in.Caso de uso CU3.3 Zoom inDescripción Permite aumentar el tamaño de la imagen actual en pantalla.Precondición Debe existir un croquis cargado.Secuencia Acciónnormal 1. El usuario da clic en el botón de zoom in. 2. Se agranda la imagen al doble. 3. Se muestra la nueva imagen en pantalla.Postcondición Una imagen más grande del croquis previo. Figura 4-22. Diagrama de actividad del caso de uso 3.3 Tabla 4-18. Descripción del caso de uso 3.4. Zoom out.Caso de uso CU3.4 Zoom out 77
    • Capítulo 4 Análisis y diseñoDescripción Permite disminuir el tamaño de la imagen actual en pantalla.Precondición Debe existir un croquis cargado.Secuencia Acciónnormal 1 1. El usuario da clic en el botón de zoom in. 2. Se encoge la imagen a la mitad. 3. Se muestra la nueva imagen en pantalla.Postcondición Una imagen más pequeña del croquis previo. Figura 4-23. Diagrama de actividad del caso de uso 3.4 Tabla 4-19. Descripción del caso de uso 3.5. Panning.Caso de uso CU3.5 PanningDescripción Permite hacer un desplazamiento del croquis en cualquier dirección.Precondición Debe existir un croquis cargado. El visualizador debe estar en modo de desplazamiento.Secuencia Acciónnormal 1 1. El usuario coloca su dedo sobre la pantalla como punto de referencia para el desplazamiento. 2. El usuario desplaza su dedo en cualquier dirección. 78
    • Capítulo 4 Análisis y diseño 3. Se desplaza el mapa en la dirección y magnitud que el usuario desplazó su dedo.Postcondición Se tiene un croquis con ubicaciones resaltadas y que contiene solamente información de dichas ubicaciones. Figura 4-24. Diagrama de actividad del caso de uso 3.5 Tabla 4-20. Descripción del caso de uso 3.6. ResetCaso de uso CU3.6 ResetDescripción Restablece el croquis a la posición y tamaño inicial de carga.Precondición Debe existir un croquis cargado.Secuencia Acciónnormal 1 1. El usuario da clic al botón de reset. 2. El croquis es cargado con sus valores de posición y tamaño por default nuevamente. 3. Se despliega en pantalla el croquisPostcondición El croquis en pantalla en su tamaño y posición inicial. 79
    • Capítulo 4 Análisis y diseño Figura 4-25. Diagrama de actividad del caso de uso 3.6 Tabla 4-21. Descripción del caso de uso 3.7. Cambiar capaCaso de uso CU3.7 Cambiar capaDescripción Permite al usuario cambiar la capa activa del croquis y así el contenido desplegado en pantallaPrecondición Debe existir un croquis cargado.Secuencia Acciónnormal 1. El usuario selecciona la opción de cambiar capa. 2. Se despliega en pantalla una lista de las capas disponibles. 3. El usuario selecciona la capa que desea mirar. 4. Se inhabilita la capa actual y se habilita la capa seleccionada del croquis. 5. Se refresca la imagen en pantalla para reflejar los cambios.Postcondición Se despliega una nueva vista del croquis correspondiente a la capa seleccionada.Excepciones Acción 80
    • Capítulo 4 Análisis y diseño 1. La capa seleccionada por el usuario es la misma que la capa actual. 2. No se hace modificación alguna y se devuelve a la pantalla del croquis.Incluye Figura 4-26. Diagrama de actividad del caso de uso 3.7 Tabla 4-22. Descripción del caso de uso 3.8. Examinar información del croquisCaso de uso CU3.8 Examinar información del croquisDescripción Permite desplegar la información asociada a una figura del croquis.Precondición Debe existir un croquis cargado. El visualizador debe estar en modo fijo. 81
    • Capítulo 4 Análisis y diseño Debe de existir información asociada a la figura.Secuencia Acciónnormal 1 1. El usuario da clic a una figura. 2. Se extraen los datos del croquis. 3. Se despliegan los datos en una ventana emergente.Postcondición Desplegar ventana emergente con los datos asociados a la figura que se seleccionó. Figura 4-27. Diagrama de actividad del caso de uso 3.84.2 Diseño.El proyecto de tesis consiste de tres herramientas: la aplicación para generar croquis, elmódulo para editarlos automáticamente en base a un conjunto de recomendaciones y elvisualizador de mapas; donde este último desde una perspectiva cliente-servidor, trabaja en ellado cliente en el dispositivo Android mientras que los dos previos trabajan en el ladoservidor.4.2.1 Herramienta generadora de croquisLa herramienta para la generación de croquis con información semántica se encuentra en elpaquete mx.edu.cenidet.Ont2SVG, la cual consta de 3 clases: 82
    • Capítulo 4 Análisis y diseño  Configuration. Esta clase se encarga de mantener las constantes de las URIs de los elementos de la ontología a consultar por la aplicación y también de constantes de la ubicación del almacén de tripletas y el repositorio de croquis.  Inicio. Es la clase que trabaja la página inicial de la aplicación, se encarga de la carga y eliminación de croquis en el repositorio, así como de la búsqueda de las organizaciones en el almacén de tripletas.  SessionHandler. Trabaja todos los aspectos de asociación y desasociación de información en los elementos SVG en memoria. Figura 4-28 Diagrama de clases de la Herramienta generadora de croquisExiste un segundo paquete, mx.edu.cenidet.Ont2SVG.Objetos, que contiene las clases quefuncionan como estructuras de datos básicas del sistema, consta de 5 clases:  Organization. Es la plantilla para contener los datos necesarios de las organizaciones extraídas del almacén de tripletas. 83
    • Capítulo 4 Análisis y diseño  Place. Es la plantilla para contener los datos necesarios de los lugares extraídos del almacén de tripletas.  Person. Es la plantilla para contener los datos utilizados de las personas extraídas del almacén de tripletas.  Resource. Es la plantilla para contener los datos utilizados de los recursos extraídos del almacén de tripletas.  ExtraInformation. Es la estructura que permite agrupar toda la información (lugar, personas, recursos, funciones) acerca de un espacio determinado en un solo objeto.A continuación, se presentan los diagramas de secuencia que involucran la funcionalidad de laherramienta.La Figura 4-29 representa la carga de un nuevo croquis a la aplicación, para ello: 1. La aplicación verifica el objeto de configuración para obtener la ruta del repositorio. 2. La aplicación valida que la entrada de datos (el archivo SVG) sea válido. Figura 4-29 Diagrama de secuencia para la carga de croquisLa Figura 4-30 representa la eliminación de un croquis que se encuentra en el repositorio,realizando lo siguiente: 1. La aplicación verifica el objeto de configuración para obtener la ruta del repositorio. 2. La aplicación obtiene la lista de croquis que se encuentran en el repositorio. 84
    • Capítulo 4 Análisis y diseño 3. Después de que el usuario elija el croquis, se elimina del repositorio. Figura 4-30 Diagrama de secuencia para la eliminación de croquisLa Figura 4-31 representa la selección de croquis y organización sobre la que se trabajará,realizando lo siguiente: 1. La aplicación verifica el objeto de configuración para obtener la ruta del repositorio y almacén de tripletas. 2. La aplicación obtiene la lista de croquis que se encuentran en el repositorio. 3. La aplicación obtiene la lista de organizaciones que se encuentran en el almacén de tripletas. 4. Después de que el usuario elija el croquis y la organización, la ejecución se traslada a otro objeto el cual: a. Obtiene todos los identificadores de los elementos SVG contenidos en el archivo. b. Carga del repositorio de tripletas los lugares registrados para la organización seleccionada. 85
    • Capítulo 4 Análisis y diseño Figura 4-31 Diagrama de secuencia para la selección de croquis y organizaciónLa Figura 4-32 representa la asociación de información en memoria a un elemento SVG delcroquis, realizando lo siguiente: 1. Se despliega la información actual del elemento seleccionado. 2. Se carga del almacén de tripletas la información referente al lugar seleccionado. 3. Se agrega o reemplaza la información de memoria con la proveniente del almacén de tripletas. 4. Se recarga la información actual del elemento seleccionada, que ya corresponde a la que se encuentra en el almacén de tripletas. 86
    • Capítulo 4 Análisis y diseño Figura 4-32 Diagrama de secuencia para la asociación de informaciónLa Figura 4-33 representa la desasociación de información en memoria a un elemento SVGdel croquis, realizando lo siguiente: 1. Se despliega la información actual del elemento seleccionado. 2. Se elimina la información de memoria para el elemento en cuestión. 3. Se recarga la información actual del elemento seleccionada, que debe estar vacía. 87
    • Capítulo 4 Análisis y diseño Figura 4-33 Diagrama de secuencia para la desasociación de informaciónLa Figura 4-34 representa el salvado de los cambios realizados a la información asociada alcroquis, realizando lo siguiente: 1. Se invoca el método de guardado. 2. Por cada elemento en memoria que corresponde a información asociada, se obtiene los datos necesarios para poblar el croquis. Figura 4-34 Diagrama de secuencia para generar croquis 88
    • Capítulo 4 Análisis y diseño4.2.2 Módulo de edición automática.Este módulo se encuentra dentro del paquete mx.edu.cenidet.SVGAutoEdit y consta de tresclases:  SVGAutomaticEditor. Es la parte central del módulo donde se procesa el paquete que trae las recomendaciones y se devuelve el croquis modificado.  RecommendationParser. Se encarga de recibir el archivo XML de recomendaciones y extraer de él los identificadores de los objetos a resaltar.  SVGModifier. Se encarga de utilizar los identificadores extraídos de las recomendaciones para buscar en el mapa los lugares a marcar y eliminar la información asociada que no sea necesaria.La Figura 4-35 muestra el diagrama de clases correspondiente al paquetemx.edu.cenidet.SVGAutoEdit. Figura 4-35. Diagrama de clases de el módulo de edición automática.A continuación se presenta en la Figura 4-36 el diagrama de secuencia del módulo de ediciónautomática de croquis con los métodos principales utilizados. El proceso se lleva a cabo de lasiguiente manera: 89
    • Capítulo 4 Análisis y diseño1. El objeto SVGAutomaticEditorExample hace uso del método RecommendationParser() con el cual se le envía al objeto RecommendationPaser el archivo XML que contiene las recomendaciones.2. Se ejecuta el método searchIds() que buscará dentro del XML los identificadores que están marcados para ser mostrados en el croquis.3. Se ejecuta searchPlacesByPersons() con el cual se obtienen los lugares en los cuales normalmente se puede localizar a las personas cuyo identificador se encuentra en la lista de identificadores obtenida.4. Se ejecuta searchPlacesByResource() con el cual se obtienen los lugares en los cuales se pueden localizar los recursos cuyo identificador se encuentra en la lista de identificadores obtenida.5. Se elimina la información innecesaria del croquis con deleteUnnecesaryInformation().6. Se agregan los efectos de animación a las figuras necesarias con setRecommendationAnimation().7. Por último se solicita crear la copia con las modificaciones realizadas en el croquis. 90
    • Capítulo 4 Análisis y diseño Figura 4-36. Diagrama de secuencia del módulo de edición automática.4.2.3 Visualizador SVG.Este módulo se encuentra dentro del paquete mx.edu.cenidet.SVGViewer y consta de lassiguientes clases principales:  SVGDisplay. Es la actividad principal del sistema y por tanto el punto de entrada del mismo, contiene a los demás objetos que conforman el sistema como la clase del visualizador y los controles de interacción principales.  FileOpenActivity. Es la actividad que permite recorrer el sistema de archivos del dispositivo en busca de un croquis y seleccionarlo para su despliegue en pantalla.  LayerListActivity. Es la actividad que permite al usuario seleccionar la capa del croquis que desea visualizar en un momento dado. 91
    • Capítulo 4 Análisis y diseño  LocationActivity. Es la actividad que permite emular el comportamiento en el cual llegan una actualización de posición al dispositivo.  PlayerControls. Es la definición de los controles primarios de interacción.  PlayerListener. Contiene la implementación del comportamiento de cada elemento de la interfaz.  SVGSurfaceView. Es el control que permite mostrar en pantalla el contenido del SVG.La Figura 4-37 muestra el diagrama de clases del paquete mx.edu.cenidet.SVGViewer con lasclases más relevantes. 92
    • Capítulo 4 Análisis y diseño Figura 4-37. Diagrama de clases del visualizador de SVG.A continuación se presenta los diagramas de secuencia que involucran la funcionalidad delvisualizador con los métodos principalmente utilizados. La Figura 4-38 representa la carga delarchivo SVG en el visualizador, en donde sucede lo siguiente: 1. La clase principal manda a crear a FileOpenActivity. 2. Se selecciona el archivo que se desea y se regresa a la clase principal. 3. Se solicita al control de visualización que cargue el archivo seleccionado. 93
    • Capítulo 4 Análisis y diseño Figura 4-38. Diagrama de secuencia para la carga del archivo SVG.La Figura 4-39 muestra el diagrama de secuencia para el evento de zoom in y zoom out, ladiferencia se encuentra en la función zoom() de donde su parámetro indica si el zoom espositivo o negativo. La secuencia es como se describe a continuación: 1. Al hacer clic en el botón de zoom, PlayerListener actúa a través de handleEvent() y resuelve que se trata de un zoom. 2. Dependiendo del botón el parámetro de entrada a la función zoom() indicará si se trata de un zoom in o out. 3. Se solicita al control de visualización que aplique el cambio realizado al croquis. 94
    • Capítulo 4 Análisis y diseño Figura 4-39. Diagrama de secuencia para el zoom in y zoom out.La Figura 4-40 muestra el diagrama de secuencia para el evento de panning, funciona de lasiguiente manera: 1. El control de visualización detecta y registra el movimiento del dedo sobre la pantalla. 2. Se le envía la señal de movimiento al PlayerListener para ejecute el código pertinente. 3. PlayerListener ejecuta la función pan() con las nuevas coordenadas. 4. El control de visualización se actualiza. 95
    • Capítulo 4 Análisis y diseño Figura 4-40. Diagrama de secuencia para el panning.La Figura 4-41 muestra el diagrama de secuencia para el evento de reset. La secuencia escomo se describe a continuación: 1. Al hacer clic en el botón de reset, PlayerListener actúa a través de handleEvent() y resuelve que se trata de un reset. 2. Se ejecuta el método origView() que devuelve el croquis a su estado original. 3. Se solicita al control de visualización que aplique el cambio realizado al croquis. 96
    • Capítulo 4 Análisis y diseño Figura 4-41. Diagrama de secuencia para el reset.La Figura 4-42 muestra el diagrama de secuencia para cuando se desea cambiar la capa visibledel croquis. La secuencia es como se describe a continuación: 1. La actividad principal lanza la actividad en donde se escriben las coordenas que se desean marcar. 2. Se ejecuta la función setLocation() teniendo como parámetros las coordenas X y Y obtenidas en la actividad secundaria. 3. Se solicita al control de visualización que aplique la actualización realizada al croquis. 97
    • Capítulo 4 Análisis y diseñoFigura 4-42. Diagrama de secuencia para el cambio de capa del croquis. 98
    • Capítulo 5 Implementación.
    • Capítulo 5 ImplementaciónEl trabajo cuenta de tres herramientas: el visualizador SVG para dispositivos móviles basadosen Android, el módulo de edición automática de croquis y la herramienta para la creación yedición de croquis como se muestra en la Figura 5-1. Figura 5-1 Interacción entre las herramientas desarrolladas5.1 Herramienta para la generación de croquis.La herramienta para la generación de croquis con información semántica se implementó comouna aplicación web utilizando el framework Struts 2 y la API de Jena y TDB para el acceso alalmacén de tripletas.La aplicación web consta de dos páginas, en las cuales se realizan todas las operacionesdefinidas en el análisis y diseño. 100
    • Capítulo 5 Implementación Figura 5-2 Pantalla inicial de la aplicaciónLa Figura 5-2 muestra la pantalla inicial de la aplicación, en ella se encuentran los siguienteselementos y acciones disponibles: 1. Permite seleccionar el croquis con el que se va a trabajar. 2. Permite seleccionar la organización de la que se extraerán datos. 3. Una vez seleccionados los elementos 1 y 2, permite pasar a la página principal de la aplicación 4. Permite seleccionar un croquis que se desea eliminar. 5. Una vez seleccionado el elemento 4, envía la orden de eliminar el croquis y recargar la página. 6. Permite acceder al sistema de archivos y seleccionar un croquis que se desee cargar para usar en la aplicación. 7. Ejecuta la opción de carga del croquis y recarga la página. 101
    • Capítulo 5 Implementación Figura 5-3 Pantalla principal de la aplicación web (Parte 1)La Figura 5-3 muestra la pantalla principal de la aplicación, en ella se encuentran lossiguientes elementos y acciones disponibles: 1. Despliega el nombre de la organización de la cual se están extrayendo datos. 2. Es la ayuda visual que permite determinar con que elemento del croquis se está trabajando. 3. Permite seleccionar la capa del croquis que se desea observar. 4. Permite seleccionar el elemento SVG con el que se va a trabajar. 5. Permite seleccionar un espacio de la organización para extraer sus datos. 6. Una vez seleccionados los elementos 4 y 5, permite asocial al elemento 1 de la Figura 5-4 la información contendida en 2 de la Figura 5-4, haciéndose notar la asociación mediante la recarga del elemento 1 de la Figura 5-4. 102
    • Capítulo 5 Implementación Figura 5-4 Pantalla principal de la aplicación web (Parte 2)En la Figura 5-4 continúa la descripción de la pantalla principal, en ella se tienen: 1. Esta tabla muestra los datos asociados a un elemento y se actualiza en base a lo seleccionado en 1. 2. Despliega la información proveniente del almacén de tripletas que corresponde al espacio seleccionado en el elemento 5 de la Figura 5-3. 3. Permite deshacer la asociación de la información desplegada en 1 al elemento 4 de la Figura 5-3. 103
    • Capítulo 5 Implementación 4. Realiza la acción de guardar los cambios realizados a la información asociada al croquis y posteriormente envía al usuario el croquis con los cambios realizados.5.2 Módulo de edición automática de croquis.A continuación se describe la implementación de este módulo el cual utiliza dos archivos deentrada; el croquis SVG que se quiere modificar y el archivo XML que contiene lasrecomendaciones que son el criterio para aplicar los cambios. La estructura de los archivosestá en descrita en el Anexo A2. Formato del archivo de recomendaciones XML y másadelante el Anexo A3. Formato del archivo SVG. Figura 5-5 Interfaz gráfica del editor automático de croquisLa ejecución del módulo es a través de un archivo JAR autoejecutable. A continuación sedescribe su interfaz gráfica, mostrada en la Figura 5-5: 1. Permite buscar en el sistema de archivos el archivo SVG que se desea modificar. 2. Permite buscar en el sistema de archivos el archivo XML de recomendaciones que se va a utilizar. 104
    • Capítulo 5 Implementación 3. Permite definir la ruta en donde se creará el nuevo archivo SVG que contendrá solamente la información solicitada en las recomendaciones. 4. Habiendo llenado los puntos 1 a 3, permite realizar el proceso de filtrado al mapa SVG. 5. Describe el estado del proceso de filtrado.5.3 Visualizador SVG.El visualizador SVG está diseñado para trabajar con el archivo SVG del croquis modificado,aunque trabajar con una versión completa no presenta problema alguno. El archivo debe tenerla estructura que se presenta en el Anexo A3. Formato del archivo SVG.La Figura 5-6 muestra la pantalla principal del visualizador, consta de un menú inferior paramanipular la visualización de la imagen. Figura 5-6. Pantalla inicial del visualizador.La Figura 5-7 muestra el menú inferior con mayor detalle. De izquierda a derecha seencuentran el botón para hacer zoom in, zoom out, activar el modo de panning o el modo fijoy restablecer el croquis a su vista original. 105
    • Capítulo 5 Implementación Figura 5-7. Menú inferior del visualizador.La Figura 5-8 muestra un menú oculto de la aplicación que permite acceder a tres actividades,que son: abrir un croquis, establecer una nueva localización y cambiar el plano del croquis. Figura 5-8. Menú oculto del visualizador.La Figura 5-9 muestra el cuadro de texto donde se escribe la URI del croquis que se deseacargar. Figura 5-9. Carga del croquis en el visualizador.La Figura 5-10 muestra la transición de la imagen de su estado original a una imagen conacercamiento y luego con un alejamiento. 106
    • Capítulo 5 Implementación Figura 5-10. Zoom in y zoom out.La Figura 5-11 exhibe el comportamiento de desplazamiento o panning. Figura 5-11. Panning.La Figura 5-12 refleja la acción de restaurar una imagen a su vista original. 107
    • Capítulo 5 Implementación Figura 5-12. Reset.La Figura 5-13 muestra del lado izquierdo la pantalla sobre la cual se introducen lascoordenadas del punto que representa la ubicación del dispositivo y como es mostrado en elcroquis en el lado derecho. Figura 5-13. LocalizaciónLa Figura 5-14 muestra del lazo izquierdo la interfaz para seleccionar la capa que se deseamostrar y del lado derecho el cambio que se realizó al seleccionar una capa diferente. 108
    • Capítulo 5 ImplementaciónFigura 5-14. Cambio de capas 109
    • Capítulo 6 Pruebas
    • Capítulo 6 PruebasBitácora de prueba HGC-04-01.Descripción: Ésta bitácora corresponde al procedimiento de prueba HGC-03-01 definidoen el plan de pruebas PP-01.Hace uso de un croquis (cerritus.svg) creado en el editor svg-edit y se encarga de verificarque el croquis a utilizar en las subsecuentes pruebas cumpla con las condicionesespecificadas, proporcionando como salida la lista de identificadores de los elementos SVGcontenidos en el croquis.Las imágenes de pruebas definidas en el archivo con sus identificadores de capasrespectivos son los siguientes: Figura 6-1 Imágenes del archivo de pruebas por capasSe verifica que el código fuente cumpla las condiciones establecidas en la definición de laprueba: Figura 6-2 Croquis de prueba que cumple con los requisitos del caso de prueba HGC-03-01Se devuelve una lista de identificadores generada por orden de aparición como se muestra acontinuación: 111
    • Capítulo 6 Pruebascerritus dad_pa_Jefe_ServPer del_pbpasillos dad_pa_Jefe_RH plantacerritus_estacionamiento dad_pa_Sub_Acad del_pb_Almacencerritus_estacionamiento1 dad_pa_desconocido2 del_pb_lab_Iluminacioncerritus_dcc dad_pa_escaleras del_pb_lab_controlcerritus_del lineas del_pb_Bodegacerritus_dad dcc_pb del_pb_lab_circuitosImpcerritus_Vigilancia planta del_pb_lab_maquinasEleclineas dcc_pb_WCHombres del_pb_WCcaballerosdad_pb dcc_pb_WCDamas del_pb_intendenciaplanta dcc_pb_bodega del_pb_lab_potenciadad_pb_cafeteria dcc_pb_Aula_1 del_pb_aula_3dad_pb_WCdamas dcc_pb_Aula_2 del_pb_centro_computodad_pb_Depto_MatyServ dcc_pb_Aula_3 del_pb_aula_5dad_pb_Jefe_DeptoMatySe dcc_pb_Mantenimiento del_pb_aula_4rv dcc_pb_lab_IA del_pb_aula_2dad_pb_Jefe_DeptoRecFin dcc_pb_lab_IS del_pb_sala_audiovisualan dcc_pb_lab_SD del_pb_acceso_Sitedad_pb_Almacen dcc_pb_escaleras del_pb_sitedad_pb_jefe_DeptoPlan dcc_pb_lineas_divisoras del_pb_aula_1dad_pb_Sub_Acad dcc_pa del_pb_Jefatura_labsdad_pb_Sub_PlanyVinc planta del_pb_escalerasdad_pb_Direccion dcc_pb_WCHombres del_pb_linea_divisoradad_pb_WCcaballeros dcc_pb_WCDamas del_padad_pb_Depto_RecFinan dcc_pa_bodega plantadad_pb_Depto_Plan dcc_pa_Jefatura del_pa_alum_mecatronicadad_pb_Sub_Adm dcc_pa_SalaJuntas del_pa_bibliotecadad_pb_WCcafeteriaf dcc_pa_cubo_01 del_pa_WCcaballerosdad_pb_WCdirector dcc_pa_cubo_02 del_pa_Jefatura_CentroInfodad_pb_escaleras dcc_pa_cubo_03 del_pa_cubo2201dad_pb_lineas_divisoras dcc_pa_cubo_04 del_pa_cubo2202dad_pa dcc_pa_cubo_05 del_pa_cubo2203planta dcc_pa_cubo_06 del_pa_cubo2204dad_pa_WCcaballeros dcc_pa_cubo_07 del_pa_cubo2205dad_pa_Dpto_GestionTecy dcc_pa_cubo_08 del_pa_cubo2206Vinc dcc_pa_cubo_09 del_pa_cubo2207dad_pa_Jefe_ComyEven dcc_pa_cubo_10 del_pa_cubo2208dad_pa_Dpto_ComyEven dcc_pa_cubo_11 del_pa_cubo2209dad_pa_SalaJuntas dcc_pa_cubo_12 del_pa_cubo2210dad_pa_Vitrina dcc_pa_cubo_13 del_pa_cubo2211dad_pa_Jefe_DptoGestionT dcc_pa_cubo_14 del_pa_cubo2212ecyVinc dcc_pa_cubo_15 del_pa_cubo2213dad_pa_desconocido dcc_pa_cubo_16 del_pa_cubo2214dad_pa_Jefe_DeptoOrgySe dcc_pa_cubo_17 del_pa_cubo2215gEst dcc_pa_cubo_18 del_pa_cubo2216dad_pa_WCDamas dcc_pa_cubo_19 del_pa_cubo2217dad_pa_Ofi_ServEst dcc_pa_cubo_20 del_pa_cubo2218dad_pa_Oficina_RegyCtrl dcc_pa_cubo_21 del_pa_cubo2219dad_pa_Jefe_DptoServEsc dcc_pa_cubo_22 del_pa_cubo2220dad_pa_Archivos_Personal dcc_pa_escaleras del_pa_cubo2221dad_pa_Ofi_CtrlEsc dcc_pa_lineas_divisoras del_pa_alumnos_maestria 112
    • Capítulo 6 Pruebasdel_pa_SalaJuntas lineas Divisorasdel_pa_alumnos_doctorado del_pa_escalerasBitácora de prueba HGC-04-02.Descripción: Ésta bitácora corresponde al procedimiento de prueba HGC-03-02 definido en elplan de pruebas PP-01.Hace uso de un croquis (cerritus.svg) verificado previamente con HGC-04-01 y se encarga derealizar la asociación de información proveniente de la ontología a los elementos SVG delcroquis. Figura 6-3 Carga de croquis en la aplicaciónSe elige el archivo recién agregado y la organización de la cual se extraerá información: Figura 6-4 Selección de croquis y organización para trabajoSe comienza asociar información a los elementos SVG y registrar a qué elemento se le asocióinformación (para efectos de prueba y espacio se le aplica solo a 3 elementos en diferentescapas): 113
    • Capítulo 6 PruebasFigura 6-5 Asociación de información al primer elemento 114
    • Capítulo 6 PruebasFigura 6-6 Asociación de información al segundo elemento 115
    • Capítulo 6 PruebasFigura 6-7 Asociación de información al tercer elemento 116
    • Capítulo 6 PruebasDespués del proceso de asociación la lista (identificador, información) queda como en lasiguiente tabla: Tabla 6-1 Identificadores seleccionados con su información asociadaIdentificador Informacióndcc_pb_Aula_2 Aula 2 DCC, Cañón Proyector, Pantalla de proyección, Pintarrón, Smartboard, Proyector de acetatos, Impartir Clases, Asesorías educacionales, Área de estudio, Impartir conferencias.Dcc_pa_cubo_10 Cubículo 10, Juan Gabriel González, Impresora, Multifuncional, Investigación Tecnológica, Asesorías Educacionales, Asesorías.dad_pb_cafeteria Bodega, Administración de información, Recepción de documentos, Control Académico, Juntas académicas, Juntas Informativas, Exposición de temas relevantes, Toma de decisiones.Bitácora de prueba HGC-04-03.Descripción: Ésta bitácora corresponde al procedimiento de prueba HGC-03-03 definido en elplan de pruebas PP-01.Continúa con la ejecución realizada de HGC-04-02 y se encarga de verificar que lainformación asociada en la prueba HGC-04-02 esté realmente en el croquis.Se verifica que los elementos seleccionados tengan el atributo xlink:href correspondiente: Figura 6-8 Verificación de atributo xlink:href en el primer elemento Figura 6-9 Verificación de atributo xlink:href en el segundo elemento 117
    • Capítulo 6 Pruebas Figura 6-10 Verificación de atributo xlink:href en el tercer elementoSe verifica que exista la información asociada dentro de la etiqueta <defs>Se cumplen las condiciones de la prueba.Bitácora de prueba HGC-04-04.Descripción: Ésta bitácora corresponde al procedimiento de prueba HGC-03-04 definido en elplan de pruebas PP-01.Se utiliza el archivo generado en HGC-04-03 y se anota la información asociada que contiene.Se obtiene una lista mostrada en la Tabla 6-2. Tabla 6-2 Información asociada dentro del croquisIdentificador Informacióndcc_pb_Aula_2 Aula 2 DCC, Cañón Proyector, Pantalla de proyección, Pintarrón, Smartboard, Proyector de acetatos, Impartir Clases, Asesorías educacionales, Área de estudio, Impartir conferencias.Dcc_pa_cubo_10 Cubículo 10, Juan Gabriel González, Impresora, Multifuncional, Investigación Tecnológica, Asesorías Educacionales, Asesorías.dad_pb_cafeteria Bodega, Administración de información, Recepción de documentos, Control Académico, Juntas académicas, Juntas Informativas, Exposición 118
    • Capítulo 6 Pruebas de temas relevantes, Toma de decisiones.Se procede a verificar que la información asociada en el croquis corresponde a la informaciónque se encuentra dentro de la aplicación. Figura 6-11 Verificando correspondencia de información para el primer elemento Figura 6-12 Verificando correspondencia de información para el segundo elemento 119
    • Capítulo 6 PruebasFigura 6-13 Verificando correspondencia de información para el tercer elemento 120
    • Capítulo 6 PruebasBitácora de prueba HGC-04-05.Descripción: Ésta bitácora corresponde al procedimiento de prueba HGC-03-05 definido en elplan de pruebas PP-01.Se registran los cambios realizados a través de la aplicación a un croquis existente que poseainformación asociada generando una lista de salida de los identificadores de los elementos y suinformación asociada correspondiente.Se elige un elemento, en este caso dad_pb_cafeteria y se le desasocia la información adicionalque contiene. Figura 6-14 Desasociación de información a un elemento 121
    • Capítulo 6 PruebasSe agrega información a un nuevo elemento y se verifica que el elemento esté vinculado a lainformación. Figura 6-15 Asociación de información a un nuevo elemento 122
    • Capítulo 6 PruebasAl terminar la prueba el registro de cambios queda de la siguiente manera:Identificador Informacióndcc_pb_Aula_2 Aula 2 DCC, Cañón Proyector, Pantalla de proyección, Pintarrón, Smartboard, Proyector de acetatos, Impartir Clases, Asesorías educacionales, Área de estudio, Impartir conferencias.dcc_pa_cubo_10 Cubículo 10, Juan Gabriel González, Impresora, Multifuncional, Investigación Tecnológica, Asesorías Educacionales, Asesorías.dad_pb_cafeteria Sin informacióndad_pb_Depto_RecFinan Departamento de recursos financieros, María del Rocío Brito, Irma Bustamante, Silvia Muñoz, Administración de Información, Recepción de documentos, Control académico, Juntas Académicas, Juntas Informativas, Exposición de temas relevantes, Toma de decisiones.Bitácora de prueba HGC-04-06.Descripción: Ésta bitácora corresponde al procedimiento de prueba HGC-03-06 definido en elplan de pruebas PP-01.Se verifica que los cambios realizados a través de la aplicación a un croquis existente se veanreflejados en el archivo de salida de que genera la aplicación.Se verifica que todos los elementos con información tengan su atributo xlink:href: Figura 6-16 Verificación del atributo xlink:href para el primer elemento después de la reasociación Figura 6-17 Verificación del atributo xlink:href para el segundo elemento después de la reasociación 123
    • Capítulo 6 PruebasFigura 6-18 Verificación del atributo xlink:href para el tercer y cuarto elemento después de la reasociaciónSe observa que el elemento dad_pb_cafeteria conserva su atributo de enlace, pero ya no existeinformación definida para él. Figura 6-19. Información existente depués de desasociar información.En la Figura 6-19 observa que se encuentra toda la información adicional en los elementos quecorresponden y que dad_pb_cafeteria no tiene información asociada. 124
    • Capítulo 6 PruebasBitácora de prueba MEA-04-01.Descripción: Ésta bitácora corresponde al procedimiento de prueba MEA-03-01 definido en elplan de pruebas PP-01.Se verifica que se conserve únicamente la información indicada en el archivo derecomendaciones.Para esto se genera el siguiente archivo XML que contiene un conjunto de recomendacionesde prueba. Figura 6-20 Archivo de recomendaciones a utilizarDel anterior archivo se obtiene que se requiere conservar únicamente los lugares donde seencuentre la persona con identificador 000000103 y el recurso con identificador 20000009. 125
    • Capítulo 6 PruebasSe obtiene la siguiente información del croquis modificado: Figura 6-21 Información del croquis antes del proceso automático de depuraciónSe procede a ejecutar el módulo con los archivos de entrada correspondientes y como salida elarchivo final.svg. Figura 6-22 Ejecución del módulo de edición automática 126
    • Capítulo 6 PruebasComparando con la información que se encontraba antes del proceso de edición automáticapodemos notar la ausencia de “info_dad_pb_Depto_RecFinan” dado que no tiene ningunainformación solicitada por el archivo de recomendación. Figura 6-23 Información adicional después del proceso de edición automáticaTambién se observa que a los elementos que conservaron su información adicional se lesagregó un elemento de animación. Figura 6-24 Código de animación agregado por el proceso de edición automática 127
    • Capítulo 6 PruebasBitácora de prueba VSA-04-01.Descripción: Ésta bitácora corresponde al procedimiento de prueba VSA-03-01 definido en elplan de pruebas PP-01.En esta prueba se verifica que la información asociada a los elementos SVG de un croquis seadesplegada de manera adecuada en el visualizador SVG para dispositivos móviles conplataforma Android.Dentro del croquis se encuentra la siguiente información: Tabla 6-3Información restante después del proceso de edición automáticaIdentificador Informacióndcc_pb_Aula_2 Aula 2 DCC, Cañón Proyector, Pantalla de proyección, Pintarrón, Smartboard, Proyector de acetatos, Impartir Clases, Asesorías educacionales, Área de estudio, Impartir conferencias.dcc_pa_cubo_10 Cubículo 10, Juan Gabriel González, Impresora, Multifuncional, Investigación Tecnológica, Asesorías Educacionales, Asesorías. 128
    • Capítulo 6 PruebasAl abrir el croquis en el visualizador y ver las capas se puede observar que se encuentran las 2capas definidas en el croquis. Figura 6-25 Capas en la interfaz gráfica del visualizadorHaciendo la comparativa se aprecia en la primera serie de imágenes la animación existentepara el elemento “dcc_pb_Aula_2”, y al seleccionar dicho elemento en la tercera imagen seaprecia la información adicional que corresponde a la descrita en la tabla anterior. Figura 6-26 Efecto de animación e información del primer elemento 129
    • Capítulo 6 PruebasDe la misma manera para la capa 2, se aprecia el efecto de animación sobre el elemento svg_6y la información adicional correspondiente a la tabla anterior. Figura 6-27 Efecto de animación e información del segundo elemento 130
    • Capítulo 7 Conclusiones.
    • Capítulo 7 Conclusiones7.1 Conclusiones.Como resultado de este trabajo de tesis se obtienen tres prototipos: una aplicación web para lacreación y edición de mapas en formato SVG con anotaciones semánticas, un módulo deedición automática de mapas; que se encarga de remover anotaciones semánticas innecesarias,y el visualizador de mapas SVG para dispositivos Android. Dichos prototipos proveen parte delas bases para el subsistema de localización en exteriores e interiores de un sistema derecomendación contextual para organizaciones.Así mismo se creó una ontología para la infraestructura de una organización, ésta ontologíaestá planeada para ser genérica y representar cualquier tipo de organización y no solo a lasinstituciones de educación superior, empresas de tecnologías de la información ycomunicación y gobierno.Se corrobora lo planteado en el trabajo de [Chang 2003], de empotrar semántica de undominio a elementos gráficos de SVG, mediante la herramienta para la creación y edición demapas que nos devuelve un mapa en formato SVG Tiny que contiene información acerca delos recursos humanos y materiales de una organización en particular, salida verificablemediante el visualizador de mapas SVG para dispositivos Android; que permite acceder a lainformación contenida en el mapa.Con el módulo de edición automática se pretende disminuir el costo de transferencia yprocesamiento de carga desde el servidor hasta el visualizador en el dispositivo móvil,mediante la reducción del tamaño del archivo, eliminando información que no le es pertinentea un usuario en determinado momento.El uso de SVG como formato de imagen para los mapas proporciona independencia aldispositivo móvil, una vez que ya se encuentra cargado en el visualizador, dado que norequiere de consultas a fuentes externas de datos para acceder a la información de laorganización que representa ya que esta se encuentra dentro del mismo archivo.Con esto se establecen las bases para establecer un sistema que sea capaz de proporcionarinformación de las ubicaciones de cualquier tipo de instalaciones al proveer los módulos dsoftware básicos para la integración de la información existente de una organización con larepresentación gráfica de la misma. 132
    • Capítulo 7 Conclusiones7.2 Aportaciones.El desarrollo de este trabajo provee las siguientes aportaciones prácticas:  Con la ontología de infraestructura se contribuye a la red de ontologías desarrolladas para el trabajo de [González 2012].  El proceso de población de información al mapa permite que una persona que no necesariamente tiene conocimientos de diseño gráfico o más aún del formato SVG, pueda realizar la operación el trabajo sin problemas.  El módulo de edición automática deja las clases necesarias para ser invocadas y realizar el proceso, porque lo que están listas para el proceso de integración.  El visualizador de mapas SVG en Android provee la explotación de la información tratada en las herramientas anteriores y es funcional en plataformas versión 2.x.7.3 Trabajos futuros.Dadas las herramientas desarrolladas en este trabajo existen diferentes trabajos que puedenextender la funcionalidad:  Es posible extender la aplicación para la creación y edición de mapas, a manera que permita que una misma persona se encargue del dibujo del mapa y el poblado de información de sus elementos.  También sería adecuado implementar un proceso de altas, bajas y cambios a la información del almacenamiento de tripletas dentro de la aplicación web.  La plantilla para la información adicional asociable a un mapa es solo una base, gracias a la extensibilidad del XML es posible que se expanda la información que se asocie a los elementos del mapa, aunque esto implica extender de igual manera las herramientas que interactúan con esta información.  El visualizador SVG utilizó la librería TinyLine, la cual provee una API para Android y J2ME, por lo que es factible realizar implementaciones del visualizador para otras plataformas. 133
    • Capítulo 7 Conclusiones El acoplamiento de estas herramientas con los trabajos de [Arjona 2009], [González 2012] e [Yris 2012] realizados dentro del Centro Nacional de Investigación y Desarrollo Tecnológico 134
    • Referencias.[ADA 1994] U.S. Department of Justice, “ADA Standards for Accessible Design”, 1994[Anagnostopoulos 2005] Anagnostopoulos C. & Tsetsos V. & Kikiras P. & Hadjiefthymiades S., “OntoNav: A semantic indoor navigation system”, 1st Workshop on Semantics in Mobile Environments, 2005.[Android 2011] Android developers, “What is Android?”, Guía de desarrollo, recuperado el 21 de septiembre de 2011 de <http://developer.android.com/guide/basics/what-is-android.html>[Arjona 2009] Arjona I., “Servicios de localización conscientes del contexto aplicando perfiles de movilidad y tecnologías de localización heterogéneas”, Tesis de Maestría, CENIDET, México, 2009[Chang 2003] Chang Y. & Chuang T., “Embedding domain semantics in SVG”, SVG Open 2003 Conference and Exhibition, Vancouver, Canada, 2003[Chen 2003] Chen, H. & Finin, T. & Anupam J., “An ontology for context- aware pervasive computing environments”, The Knowledge Engineering Review,Vol. 18(3), 2003, pp 197-207, ISSN 0269- 8889, Cambridge University Press.[Dudas 2009] Dudas, P.M. & Ghafourian, M. & Karimi, H.A., “ONALIN: ontology and algorithm for indoor routing”, Tenth International Conference on Mobile Data Management: Systems, Services and Middleware, 2009, pp 720-725.[Ehrig 2006] Ehrig M 2006, Ontology aligment: Bridging the semantic gap, Springer, ISBN / ASIN: 038732805X[Fernández 1997] Fernández M, Gómez A & Juristo, N 1997 "Methontology: from ontological art towards ontological engineering", "Proc. 135
    • Symposium on Ontological Engineering of AAAI"[González 2012] González, N. “Sistema de recomendación contextual basado en ontologías para ambientes organizacionales y de usuario en entornos de cómputo móvil”, Tesis de maestría en proceso, CENIDET, México, 2010.[Gruber 2009] Gruber T., “Ontology”, Artículo en Encyclopedia of Database Systems, Ling L. & Özsu T., Springer-Verlag, 2009.[GSM Association 2003] GSM Association, Location–Based Services. Permanent Reference Document: SE.23, 2003, recuperado el 12 de abril de 2010 de <http://gsmworld.com/documents/se23.pdf>[Hu 2004] Hu, H. & Lee D., “Semantic modeling for location navigation in mobile environment”, Proceedings of the IEEE International Conference on Mobile Data Management, 2004, pp 52-61, ISBN 0-7695-2070-7[IES_EP 2011] IES Eduardo Pondal, “Imagen digital”, Departamento de Tecnoloxía, recuperado el 23 de septiembre de 2011 de <http://centros.edu.xunta.es/ieseduardopondal/tecnoweb/temas_inf ormatica/imagendigital.pdf>[Jena 2011] Jena, “Home”, Jena - A semantic web framework for Java, recuperado el 21 de septiembre de 2011 de <http://jena.sourceforge.net/index.html>[Jena2 2011] Jena, “Persistence subsystems for Jena”, Jena documentation, recuperado el 21 de septiembre de 2011 de <http://jena.sourceforge.net/documentation.html>[Kottahachchi 2005] Kottahachchi, B. & Laddaga, R. & Look, G., “LAIR: location awareness information representation”, Proceedings of the 9th WSEAS International Conference on Computers, 2005, pp 1-6, ISBN 960-8457-29-7.[Kuipers 1977] Kuipers, B., “Representing Knowledge of Large-scale Space”, Reporte técnico, Massachusetts Institute of Technology, MIT 136
    • AI/TR418.[Mor 2007] Mor Y, “Techniques for binding scalable vector graphics to associated information”, No. Patente 7210095, Estados Unidos de América, 2007[Noy 2005] Noy, N. & McGuinness D, “Desarrollo de ontologías 101: guía para crear tu primera ontología”, Standford University, 2005.[OPA 2011] Open Handset Alliance, “Overview”, recuperado el 21 de septiembre de 2011 de <http://www.openhandsetalliance.com/oha_overview.html>[Quiñonez 2008] Quiñonez P., “Gateway SMS Pull para servicios basados en localización con arquitectura de servicios Web”, Tesis de Maestría, CENIDET, México, 2008.[Ruiz 2007] Ruiz L., “API SMS para el procesamiento de consultas georeferenciadas y no georeferenciadas”, Tesis de Maestría, CENIDET, México, 2007[Schmitt 2005] Schmitt, C. & Kaufmann O., “Indoor navigation with SVG”, SVG Open 2005 Conference & Exhibition, Enschede, Países Bajos, 2005.[SVG 2008] W3C, Scalable Vector Grpahics (SVG) 1.2 Specification, 2008, recuperado el 26 de noviembre de 2010 de <http://www.w3.org/TR/SVGTiny12/>[SVGM 2003] W3C, Mobile SVG Profiles: SVG Tiny and SVG Basic, 2003, recuperado el 26 de noviembre de 2010 de <http://www.w3.org/TR/SVGMobile/>[TinyLine 2011] TinyLine, “TinyLine SVG”, recuperado el 23 de septiembre de 2011 de < http://www.tinyline.com/svgt/index.html>[Vargas 2011] Vargas R., Modelo colaborativo para la integración de sistemas, Tesis de Doctorado en proceso, CENIDET, México, 2010[Wood 2011] Wood K., “jQuery SVG”, recuperado el 23 de septiembre de 2011 de <http://keith-wood.name/svg.html> 137
    • [Yris 2012] Yris, M., “API para servicios de localización basada en tecnología RFID, QRCode, WiFi y Bluetooth”, Tesis de maestría en proceso, CENIDET, México, 2010. 138
    • Anexos
    • AnexosAnexo A1. Plan de pruebas – PP01IntroducciónEl presente documento se apega a los lineamientos establecidos en el estándar IEEE829-1998para la documentación de pruebas de software.El plan de pruebas cubre la totalidad del software desarrollado en el trabajo de tesis al cualestá asociado el nombre: Generación y explotación de mapas semánticos de instalacionesorganizacionales mediante el uso de ontologías y detalla las actividades necesarias parapreparar y realizar las pruebas.Elementos a evaluar  Herramienta para la generación y edición de croquis haciendo uso de ontologías. (HGC)  Módulo de edición automática de croquis. (MEA)  Visualizador SVG para plataforma Android. (VSA)Características a evaluarLa siguiente lista describe las características que se evaluarán en el plan de pruebas:Número de diseño de prueba DescripciónHGC-01-01 Creación de croquis con información asociada.HGC-01-02 Eliminación y reemplazo de información asociada.MEA-01-01 Depuración de la información asociada al croquis.VSA-01-01 Despliegue de información adicional del croquis.Características sin evaluarCualquier herramienta adicional desarrollada y que ayude en la ejecución de las pruebas.EnfoqueA continuación se enlista el enfoque a utilizar para cada prueba: 140
    • Anexos  HGC-01-01. Verificar que a partir de un croquis sin información adicional, el croquis generado contenga toda la información asociada a las figuras después de un proceso de inserción dentro de la aplicación.  HCG-01-02. Verificar que un croquis que previamente contenga información asociada, quede solo la información correspondiente después de un proceso de eliminación y reasignación de información dentro de la aplicación.  MEA-01-01. Obtener una copia del archivo que solo contenga la información asociada requerida por el archivo de recomendaciones.  VSA-01-01. Observar que la información asociada a los elementos del croquis se despliegue en la pantalla del dispositivo móvil.Criterios de aprobación/fallo.Se dará por aprobada una prueba cuando se cumplan con las salidas esperadas descritas en loscasos de pruebas y como fallida en caso contrario.Pruebas entregablesLos siguientes documentos serán presentados después de realizar las pruebas:  Especificaciones de diseño de pruebas.  Especificaciones de casos de pruebas.  Reporte resumen de pruebas.Tareas de pruebaTarea Tarea precedente Fecha de terminación(1) Preparar plan de pruebas. Completar desarrollo de las 15-05-2011 herramientas a evaluar(2) Preparar especificaciones de diseño de Tarea (1) 16-05-2011 pruebas.(3) Preparar especificaciones de casos de Tarea (2) 17-05-2011 prueba. 141
    • Anexos(4) Ejecución de pruebas. Tarea (3) 22-05-2011(5) Resolver incidentes. Tarea (4) 29-05-2011(6) Realizar (4) y (5) hasta que todas las Tarea (5) 05-06-2011 pruebas estén aprobadas.(7) Escribir el reporte resumen de pruebas. Tarea (6) 08-06-2011Requisitos ambientales  Infraestructura de red inalámbrica.  Servidor web y de aplicaciones web.  PC o Laptop con resolución mínima de pantalla de 1366 x 768 pixeles, navegador con soporte JavaScript.  Dispositivo móvil con plataforma Android 2.1 o superior.ResponsabilidadesTodas las pruebas están asignadas al autor de la tesis, el ISC. Ricardo Estrada PeláezNomenclaturaLos elementos contenidos en el plan de pruebas se apegan a la siguiente nomenclatura XXX-YY-ZZ, donde:  XXX corresponde a las letras que definen el prototipo a evaluar. (HGC, MEA, VSA).  YY número que indica si es: 01 es un diseño de prueba, 02 es un caso de prueba, 03 es un procedimiento de prueba y 04 es una bitácora de prueba.  ZZ número consecutivo.AprobaciónDirector de Tesis – Dra. Azucena Montes Rendón ____________________Codirector de Tesis – Dr. Juan Gabriel González Serna ____________________Autor de Tesis – ISC. Ricardo Estrada Peláez ____________________ 142
    • AnexosEspecificación de diseño de pruebas - HGC-01-01Esta especificación se relaciona con el plan de pruebas PP-01.Elementos a evaluar (1) Archivo de entrada sin información adicional. (2) Asociación de información a los elementos del mapa. (3) Archivo de salida con la información adicional seleccionada en (2).EnfoqueEn (1) se observa la estructura del archivo, para corroborar que no existen datos adicionales.En (2) se observa y registra la correspondencia de los pares (elemento SVG, informaciónadicional) correspondientes para su verificación en el punto (3).En (3) se observa la estructura del archivo, verificación que se encuentre la informaciónadicional correspondiente a cada par registrado en el punto (2).Identificación de pruebasCaso Caso de pruebaArchivo de entrada sin información adicional. HGC-02-01Asociación de información a los elementos del mapa. HGC-02-02Archivo de salida con la información adicional seleccionada. HGC-02-03Criterios de aprobación/fallo. 143
    • AnexosCada elemento debe pasar sus casos de prueba para considerarse como aprobada esta prueba.Especificación de diseño de pruebas - HGC-01-02Esta especificación se relaciona con el plan de pruebas PP-01.Elementos a evaluar (1) Información asociada inicialmente en el croquis. (2) Eliminación y reasignación de información adicional a los elementos SVG. (3) Archivo de salida conteniendo solo la información correspondiente en (2).EnfoqueEn (1) se obtiene la referencia para observar la diferencia en la información contenida en elarchivo de salida con la información original del archivo.En (2) se registran los cambios hechos dentro de la aplicación, para restarlos a los tomados enel punto (1).En (3) se observa que en el archivo de salida posea únicamente la información que se deseóconservar.Identificación de pruebasCaso Caso de pruebaArchivo de entrada con información adicional. HGC-02-04Eliminación y reasignación de información a los elementos SVG HGC-02-05Archivo de salida con la información adicional correspondiente. HGC-02-06Criterios de aprobación/fallo.Cada elemento debe pasar sus casos de prueba para considerarse como aprobada esta prueba.Especificación de diseño de pruebas – MEA-01-01Esta especificación se relaciona con el plan de pruebas PP-01. 144
    • AnexosElementos a evaluar (1) Copia modificada del croquis.EnfoqueEn (1) se busca la correspondencia de la información adicional restante contenida en elarchivo de salida con la información solicitada en el archivo de recomendación.Identificación de pruebasCaso Caso de pruebaCopia modificada del croquis MEA-02-01Criterios de aprobación/fallo.Cada elemento debe pasar sus casos de prueba para considerarse como aprobada esta prueba.Especificación de diseño de pruebas – VSA-01-01Esta especificación se relaciona con el plan de pruebas PP-01.Elementos a evaluar (1) Información desplegada en pantalla.EnfoqueEn (1) se busca la correspondencia de lo mostrado en la pantalla del visualizador con elcontenido del croquis.Identificación de pruebasCaso Caso de pruebaInformación desplegada en pantalla. VSA-02-01Criterios de aprobación/fallo.Cada elemento debe pasar sus casos de prueba para considerarse como aprobada esta prueba. 145
    • AnexosEspecificación de caso de prueba – HGC-02-01Elementos a evaluarArchivo de entrada sin información adicional. Este caso verifica que el archivo SVG a utilizarno contenga información extra a la definida en la especificación SVG.Especificaciones de entrada (1) Archivo SVG.Especificaciones de salida  Lista de verificación de elementos.  Lista de identificadores de elementos SVG.Especificación de caso de prueba – HGC-02-02Elementos a evaluarInformación asociada a los elementos SVG. Este caso registra que información va a seragregada al croquis para su posterior verificación.Especificaciones de entrada (1) Archivo SVG. (2) Instancias obtenidas del repositorio de tripletas. (3) Operaciones de asignación.Especificaciones de salida  Lista de pares (identificador, información) de las operaciones de asignación realizadas en la aplicación.Especificación de caso de prueba – HGC-02-03 146
    • AnexosElementos a evaluarArchivo de salida. Este caso verifica que la información adicional que se escribe en el mapaesté completa comparándola con la información que fue asociada en el proceso de asignaciónde la aplicación.Especificaciones de entrada (1) Lista de pares (identificador, información) (2) Archivo SVG de salida.Especificaciones de salida  Lista de verificación completa de equivalencia entre (1) y (2).Especificación de caso de prueba – HGC-02-04Elementos a evaluarArchivo de entrada con información adicional. Este caso verifica que el archivo SVG a utilizarcontenga información adicional que fue asignada previamente por la aplicación.Especificaciones de entrada (1) Archivo SVG.Especificaciones de salida  Lista de pares (identificador, información).Especificación de caso de prueba – HGC-02-05Elementos a evaluar 147
    • AnexosEliminación y reasignación de información adicional a los elementos SVG. Este caso registraque información va a ser eliminada del croquis o sobre cuales elementos se va a cambiar suinformación asociada, esto para su posterior verificación en el archivo de salida.Especificaciones de entrada (1) Operaciones de eliminación y modificación.Especificaciones de salida  Lista de pares (identificador, información) de las operaciones de eliminación o reasignación realizadas en la aplicación.Especificación de caso de prueba – HGC-02-06Elementos a evaluarArchivo de salida. Este caso verifica que la información adicional que se escribe en el mapaesté acorde a la información que modificada en el proceso de eliminación y reasignación de laaplicación.Especificaciones de entrada (1) Lista de pares (identificador, información) originales. (2) Lista de pares (identificador, información) modificados en la aplicación. (3) Archivo SVG de salida.Especificaciones de salida  Lista (1) modificada con respecto a (2).  Lista de pares (identificador, información) proveniente del croquis.Especificación de caso de prueba – MEA-02-01Elementos a evaluar 148
    • AnexosCopias modificada del croquis. Este caso verifica que la información adicional contenida en lacopia del croquis sea solamente aquella que se solicitó en el archivo de recomendación y quelos lugares necesarios tengan su animación.Especificaciones de entrada (1) Copia modificada del croquis. (2) Lista de lugares a marcar. (3) Lista de información de recomendaciones.Especificaciones de salida  Lista de verificación completa de correspondencia entre (1) y (2).  Lista de verificación completa de correspondencia entre (1) y (3).Especificación de caso de prueba – VSA-02-01Elementos a evaluarInformación desplegada en pantalla. Este caso verifica que la información acerca de unelemento del croquis que se despliega en el visualizador sea la correspondiente a la que seencuentra almacenada en el archivo.Especificaciones de entrada (1) Datos de pantalla. (2) Copia modificada de croquis.Especificaciones de salida  Una lista de verificación de correspondencia completa.Especificación de procedimiento de prueba – HGC-03-01 149
    • AnexosEste procedimiento describe los pasos necesarios para la prueba especificada en el diseño deprueba “Creación de croquis con información asociada” (HGC-01-01). El procedimientoplantea la ejecución del caso de prueba descrito en HGC-02-01.Requisitos especialesNinguno.Pasos del procedimientoInicialización (1) Elegir el croquis que se va a utilizar.Proceso (1) Abrir el archivo con un editor de texto. (2) Verificar que no exista en la definición de la cabecera SVG, ningún nombre de espacios ajeno al uso de SVG. (3) Verificar que no exista información ajena a SVG en alguna etiqueta <defs> que se encuentre. (4) Crear una lista de los valores de todos los atributos “id” encontrados en el archivo.Medición (1) Cumplimento de los puntos (2) y (3) de la sección Proceso, si la condición se cumple se pasa la prueba.Conclusión (1) Se cierra el editor de texto. (2) Conservar la lista de los atributos extraídos.Especificación de procedimiento de prueba – HGC-03-02Este procedimiento describe los pasos necesarios para la prueba especificada en el diseño deprueba “Creación de croquis con información asociada” (HGC-01-01). El procedimientoplantea la ejecución del caso de prueba descrito en HGC-02-02. 150
    • AnexosEl procedimiento utilizará la herramienta para la generación y edición de croquis haciendo usode ontologías (HGC).Requisitos especialesPara la ejecución de este procedimiento es necesario que exista al menos una ontologíaorganizacional en el almacén de tripletas y que contenga al menos información (atributos yrelaciones) de personas, recursos y espacios.Pasos del procedimientoInicialización (1) Cargar el croquis a utilizar.Proceso (1) Seleccionar el croquis cargado y la organización a la que se le va a adjudicar. (2) Elegir el elemento SVG por medio de su identificador y la información que se le va a asociar (3) Dar la orden de asociar la información. (4) Registrar en la lista el par (identificador, información).Medición (1) Cada asociación se debe reflejar en la interfaz de la aplicación, si se cumple esto se pasa la prueba.Conclusión (1) Se conserva la lista registrada en el paso (4) de la etapa Proceso.Especificación de procedimiento de prueba – HGC-03-03Este procedimiento describe los pasos necesarios para la prueba especificada en el diseño deprueba “Creación de croquis con información asociada” (HGC-01-01). El procedimientoplantea la ejecución del caso de prueba descrito en HGC-02-03. 151
    • AnexosEl procedimiento utilizará la herramienta para la generación y edición de croquis haciendo usode ontologías (HGC).Requisitos especialesPara la ejecución de este procedimiento es necesario que exista al menos un croquis al cual yase le haya asignado información adicional.Pasos del procedimientoInicialización (1) Solicitar a la aplicación que genere el croquis con información adicional. (2) Abrir el archivo en un editor de texto.Proceso (1) Utilizar la lista de pares (identificador, información) y verificar lo siguiente en el archivo. (2) Por cada identificador de la lista de pares, ubicar su elemento SVG correspondiente y verificar que contenga el atributo “xlink:href”. (3) Verificar que cada atributo “xlink:href” encontrado tenga información correspondiente dentro de una etiqueta <defs>. (4) Si los pasos (2) y (3) se cumplen, eliminar de la lista de pares la entrada correspondiente.Medición (1) Si la lista de pares termina sin elementos, se pasa la prueba.Conclusión (1) Se cierra el editor de texto.Especificación de procedimiento de prueba – HGC-03-04Este procedimiento describe los pasos necesarios para la prueba especificada en el diseño deprueba “Eliminación y reemplazo de información asociada” (HGC-01-02). El procedimientoplantea la ejecución del caso de prueba descrito en HGC-02-04. 152
    • AnexosRequisitos especialesPara la ejecución de este procedimiento es necesario que exista al menos un croquis al cual yase le haya asignado información adicional.Pasos del procedimientoInicialización (1) Elegir el croquis que se va a utilizar.Proceso (1) Abrir el archivo con un editor de texto. (2) Crear una lista de pares (identificador, información) del croquis.Medición (1) Si la lista tiene al menos un elemento se pasa la prueba.Conclusión (1) Se cierra el editor de texto.Especificación de procedimiento de prueba – HGC-03-05Este procedimiento describe los pasos necesarios para la prueba especificada en el diseño deprueba “Eliminación y reemplazo de información asociada” (HGC-01-02). El procedimientoplantea la ejecución del caso de prueba descrito en HGC-02-05.El procedimiento utilizará la herramienta para la generación y edición de croquis haciendo usode ontologías (HGC).Requisitos especialesPara la ejecución de este procedimiento es necesario que exista al menos una ontologíaorganizacional en el almacén de tripletas y que contenga al menos información (atributos yrelaciones) de personas, recursos y espacios.Pasos del procedimiento 153
    • AnexosInicialización (1) Se elige el croquis y la organización correspondiente a utilizar.Proceso (1) Elegir un elemento SVG por medio de su identificador, desasociar la información y registrar el par (identificador, información). (2) Elegir un elemento SVG por medio de su identificador, asociarle nueva información y registrar el par (identificador, información). (3) Realizar los pasos (1) y (2) para cualquier número de elementos.Medición (1) Cada asociación o eliminación se debe reflejar en la interfaz de la aplicación, si se cumple esto se pasa la prueba.Conclusión (1) Se conserva la lista registrada de los pasos (1 y 2) de a etapa Proceso.Especificación de procedimiento de prueba – HGC-03-06Este procedimiento describe los pasos necesarios para la prueba especificada en el diseño deprueba “Eliminación y reemplazo de información asociada” (HGC-01-02). El procedimientoplantea la ejecución del caso de prueba descrito en HGC-02-06.El procedimiento utilizará la herramienta para la generación y edición de croquis haciendo usode ontologías (HGC).Requisitos especialesPara la ejecución de este procedimiento es necesario que exista al menos un croquis al cualhaya pasado por la prueba HGC-02-05.Pasos del procedimientoInicialización (1) Solicitar a la aplicación que genere el croquis con información adicional. (2) Abrir el archivo en un editor de texto. 154
    • AnexosProceso (1) Utilizar la lista de pares (identificador, información) obtenida de la prueba HGC-02-05 y verificar lo siguiente en el archivo. (2) Verificar que cada nodo de información se encuentre dentro de la lista de pares y eliminar la entrada de la listaMedición (1) Si la lista de pares termina sin elementos, se pasa la prueba.Conclusión (1) Se cierra el editor de texto.Especificación de procedimiento de prueba – MEA-03-01Este procedimiento describe los pasos necesarios para la prueba especificada en el diseño deprueba “Depuración de la información asociada al croquis” (MEA-01-01). El procedimientoplantea la ejecución del caso de prueba descrito en MEA-02-01.El procedimiento utilizará el módulo de edición automática de croquis (MEA).Requisitos especialesPara la ejecución de este procedimiento es necesario que exista al menos un croquis que yaposea información adicional.Pasos del procedimientoInicialización (1) Abrir el archivo de recomendación y extraer la información que corresponde a la parte de visualización en el croquis.Proceso (1) Introducir la lista de recomendaciones y el croquis al módulo (2) Recibir el croquis modificado. (3) Realizar un segunda lista de pares (identificador, información) a partir del croquis modificado. 155
    • Anexos (4) Verificar la correspondencia de la información en la nueva lista con la obtenida en (1) del proceso de Inicialización.Medición (1) Si existen elementos con información que no esté incluida en (1) del proceso de Inicialización, la prueba falla, en caso contrario se aprueba.Conclusión (1) Cerrar el archivo de recomendación.Especificación de procedimiento de prueba – VSA-03-01Este procedimiento describe los pasos necesarios para la prueba especificada en el diseño deprueba “Despliegue de información adicional” (VSA-01-01). El procedimiento plantea laejecución del caso de prueba descrito en VSA-02-01.El procedimiento utilizará el visualizador SVG para plataforma Android (VSA).Requisitos especialesDebe existir un croquis con información adicional.Pasos del procedimientoInicialización (1) Abrir el croquis en el visualizador. (2) Seleccionar la opción de visualizar información en el dispositivo. (3) Realizar una lista de la información adicional que se encuentra en el croquis.Proceso (1) Dar clic a algún elemento gráfico que se conozca tenga información. (2) Observar la información que se despliega en pantalla. (3) Por cada elemento del croquis, marcar en la lista (3) del proceso de Inicialización, que información se despliega si esta existe.Medición 156
    • Anexos (1) Si la lista está completamente marcada, es decir, toda la información se desplegó en pantalla, se pasa la prueba.Conclusión (1) Se cierra el visualizador.Anexo A2. Formato del archivo de recomendaciones XMLEl archivo de recomendaciones que recibe el módulo de edición automática de croquis debe laestructura que se presenta en el código 1. Donde es de particular interés las etiquetas conjuntocon el valor “Acciones” en su atributo “tipo” y que su etiqueta idAccion contenga un valorigual a 1.Código 4. Ejemplo de archivo XML de recomendaciones.<?xml version="1.0" ?><valoraciones id_usuario="user1" time="9:22:30" date="2011-03-09"> <conjunto tipo="Personas"> <idElemento>1</idElemento> <Elemento>Juan Gabriel Gonzalez Serna</Elemento> <Calificacion>1</Calificacion> <Disponibilidad>Disponible</Disponibilidad> </conjunto> <conjunto tipo="Objetos de Conocimiento"> <idElemento>3</idElemento> <Elemento>Esquema adaptativo para la gestión de movilidad en sistemas cliente/servidor através de internet</Elemento> <Calificacion>0.7</Calificacion> <Disponibilidad>Disponible</Disponibilidad> </conjunto> <conjunto tipo="Lugares"> <idElemento>4</idElemento> <Elemento>Laboratorio de Sistemas Distribuidos</Elemento> <Calificacion>0.3</Calificacion> <Disponibilidad>Disponible</Disponibilidad> </conjunto> <conjunto tipo="Competencias"> <idElemento>5</idElemento> <Elemento>Residencias Profecionales</Elemento> <Calificacion>1</Calificacion> <Disponibilidad>Disponible</Disponibilidad> 157
    • Anexos </conjunto> <conjunto tipo="Recursos"> <idElemento>6</idElemento> <Elemento>HTC Dsire</Elemento> <Calificacion>1</Calificacion> <Disponibilidad>Disponible</Disponibilidad> </conjunto> <conjunto tipo="Actividades"> <idElemento>7</idElemento> <Elemento>Seminario SD</Elemento> <Calificacion>0.7</Calificacion> <Disponibilidad>Disponible</Disponibilidad> </conjunto> <conjunto tipo="Acciones"> <idAccion>1</idAccion> <idElemento>2</idElemento> <tipoElemento>Personas</tipoElemento> </conjunto> <conjunto tipo="Acciones"> <idAccion>1</idAccion> <idElemento>1</idElemento> <tipoElemento>Recursos</tipoElemento> </conjunto> <conjunto tipo="Acciones"> <idAccion>1</idAccion> <idElemento>341</idElemento> <tipoElemento>Personas</tipoElemento> </conjunto></valoraciones>Anexo A3. Formato del archivo SVGEl archivo SVG con el que se trabaja posee una variante con respecto a lo descrito en laespecificación de SVG Tiny 1.2, en donde colocamos dentro de la etiqueta <defs> de SVGtoda la información que no corresponde propiamente a la especificación, esto es, lainformación relacionada a las figuras trazadas.La información ahí contenida es el identificador que liga a la figura con la información, elnombre del lugar, el tipo de funciones que puede realizarse en él, las personas que estánencargadas del lugar o que normalmente pueden ser localizadas en él y los recursos asociadosal lugar. 158
    • AnexosLas restricciones necesarias sobre los elementos de SVG para el correcto funcionamiento delvisualizador son:  En la etiqueta SVG, tener el atributo viewBox presente.  Los elementos <g> que quieran ser considerados como capas deben de tener el atributo “display” declarado explícitamente, así como un atributo “id”.  Solo puede haber una capa que tenga el valor “inline” en su atributo “display” en un momento dado, todos los demás deberán tener el valor de “none”.Código 5. Ejemplo de archivo SVG.<?xml version="1.0" encoding="UTF-8"?><svg width="640" height="640" viewBox="0 0 640 640" version="1.2" baseProfile="tiny"xmlns="http://www.w3.org/2000/svg"xmlns:guide="http://www.cenidet.edu.mx"xmlns:xlink="http://www.w3.org/1999/xlink"> <defs> <guide:place id="info_dcc_pb_lab_sd"> <guide:name value="Laboratorio de Sistemas Distribuidos" /> <guide:functions> <guide:function value ="Laboratorio" /> <guide:function value ="Prácticas" /> <guide:function value ="Auditorio" /> </guide:functions> <guide:persons><guide:person id="1" qrcode="123456789" rfid="123456789" fullName="Everardo" /><guide:person id="2" qrcode="987654321" rfid="987654321" fullName="Felipe" /><guide:person id="3" qrcode="543216789" rfid="543216789" fullName="Ricardo" /> </guide:persons> <guide:resources> <guide:resource rfid="666666666" name="Servidor SD" /> </guide:resources> </guide:place> </defs> <!--Cualquier elemento incluído en la especificación SVG Tiny--></svg> 159