“Un enfoque orientado a usuarios finales para el desarrollo de aplicaciones de aumentación WEB móvil”
Autor: Bosetti Gabriela Alejandra
Directores: Dr. Rossi Gustavo, Dr. Firmenich Sergio Damián
Codirector: Dr. Winckler Marco
Fecha: Febrero 2018

La información existente en la Web podría utilizarse para resolver una amplia gama de problemas de diferentes dominios, pero dicha información no siempre se encuentra reunida en un mismo contexto y resulta difícil encontrar una manera de relacionarla para satisfacer necesidades que, a veces, son requeridas por una minoría de usuarios. Los sitios Web son diseñados para un único usuario, sino más bien enfocados en un conjunto de ellos con características similares y para llevar a cabo tareas específicas, que pueden diferir de las que un usuario particular necesita. Aquí es donde la Aumentación Web se presenta como un medio para lograr la adaptación de los recursos Web existentes de acuerdo con los requisitos del usuario, tanto en contenido como en comportamiento, estructura y/o forma. Por su parte, la tendencia hacia el uso activo de los dispositivos móviles ha hecho posible que la Web sea concebida no sólo como un espacio de información, sino también como una plataforma omnipresente donde sus usuarios realizan todo tipo de tareas. Sin embargo, pese a su uso, muchas aplicaciones Web aún no tienen una contraparte móvil que haga uso de sus características, e incluso algunas ni siquiera responden a un diseño Web responsive. La información del contexto permite mejorar la experiencia del usuario. Por ejemplo, permite filtrar y solo presentar aquella información que coincide con la posición del usuario, la presión sonora en el ambiente o un rango horario determinado. La Aumentación Web Móvil puede ayudar a agregar incorporar características, y mediante técnicas de Desarrollo por Usuarios Finales es posible convertir a las personas que poseen tal necesidad, en los autores de su propia solución de aumentación. Aunque algunos enfoques existen para aumentar aplicaciones Web, incluso con características móviles, los mismos son dirigidos y limitados a personas con –al menos– conocimiento en programación. También existe un gran número de herramientas de autoría que permiten la creación de aplicaciones móviles desde entornos de escritorio, nativos o móviles, pero ninguna de ellas genera aplicaciones Web puras; ejecutables en un navegador Web móvil convencional y sin depender de algún componente nativo para su ejecución. En esta obra se presenta un nuevo enfoque para permitir que los usuarios finales mejoren sus sitios Web preferidos con características móviles. El proceso de autoría es asistido por formularios, y un paso final que combina live programming y composición mediante widgets visuales. El enfoque fue evaluado mediante el uso de una herramienta de soporte, por 21 usuarios finales, y sus resultados demuestran que el enfoque es viable y prometedor, puesto que los usuarios finales fueron capaces de completar, en promedio, el 84% de los requerimientos del experimento.

Tesis completa

“Ingeniería de artefactos de aumentación WEB basada en crowsourcing”
Autor: Firmenich Diego Andrés
Director: Dr. Rossi Gustavo
Codirector: Dr. Firmenich Sergio Damián
Fecha: Febrero 2018

Esta tesis doctoral propone, desde un punto de vista ingenieril, el involucramiento de todos los actores (usuarios finales, desarrolladores, dueños de sitios webs) en el proceso de construcción de los artefactos de Aumentación Web por usuarios finales. Esto es, a través de un proceso basado en el crowdsourcing de sus actividades, se provee a la masa de usuarios la posibilidad de delegar a la propia masa, distintas actividades que abarcan desde la elicitación y la definición de los requerimientos de aumentación, hasta la construcción, el testeo, la distribución y el mantenimiento de los artefactos de Aumentación Web obtenidos; en el marco de un proceso que provee la integración de los actores y fundamentalmente, de los artefactos de aumentación con los sitios webs aumentados. Este proceso fue denominado CrowdMock. CrowdMock involucra activamente tanto a los dueños de los sitios webs, como a los desarrolladores y a los usuarios finales de los artefactos de aumentación. La masa de usuarios podrá descubrir y definir sus propios requerimientos, haciendo uso de herramientas provistas para ese objetivo, al tiempo que los usuarios con habilidades de programación (los desarrolladores), podrán completar las definiciones iniciales de los artefactos de aumentación que son originalmente derivadas de los requerimientos. Los dueños de los sitios webs, tendrán oportunidad de certificar/aprobar estos artefactos de aumentación, para finalmente distribuirlos a todos los usuarios que navegan dichos sitios, proveyéndoles la oportunidad de ejecutarlos e incluso involucrarse activamente en su mantenimiento en relación a las referencias DEOI (DOM Element Of Interest) que pudieran fallar durante su uso.

Tesis completa

“Self Refactoring: Mejoras Automáticas de Usabilidad para Aplicaciones Web"
Autor: Grigera Julián
Director: Dra. Garrido Alejandra
Codirector: Dr. Rossi Gustavo
Fecha: Marzo 2018

La usabilidad en las aplicaciones web es un aspecto fundamental, pero en muchos casos relegado por diferentes motivos como la falta de personal experimentado, o los altos costos. Si bien las grandes compañías suelen estar preparadas para dedicar los recursos necesarios a mejorar la usabilidad de sus aplicaciones, las pequeñas y medianas suelen utilizarlos en otros aspectos. Para ayudar a bajar estos costos, han surgido herramientas que definición y ejecución remota de pruebas de usabilidad, o recolección de estadísticas de forma automatizada, pero igualmente se requiere de expertos que diseñen las pruebas, interpreten los reportes o visualizaciones en busca de problemas, y diseñen soluciones a los mismos, que los desarrolladores deberán implementar. En este trabajo se propone un enfoque para hallar problemas de usabilidad automáticamente en aplicaciones web, basados en el análisis de eventos de interacción de usuarios finales. Para cada uno de estos problemas de usabilidad encontrados, existe además una solución que puede sugerirse para resolver el problema. En algunos casos, es incluso posible aplicar estas soluciones automáticamente. En este enfoque, los problemas de usabilidad se definen como “usability smells” y las soluciones como “usability refactorings”, ambos términos adaptados de la jerga del refactoring de código. Los usability smells, en este contexto, son problemas que afectan la interacción por parte de los usuarios finales, mientras que los usability refactorings son transformaciones que aplican soluciones documentadas para resolver esos problemas. Como prueba de concepto se implementó Kobold: una herramienta capaz de realizar todo lo que se propone en este trabajo. La herramienta funciona como un servicio (SaaS – Software as a Service), y no requiere de casi ningún esfuerzo de instalación. Al incorporar Kobold en una aplicación web, se comienza a capturar la interacción de los usuarios, y los reportes de problemas se muestran apenas un número suficiente de usuarios se topa con los mismos. Como los usability smells son problemas bien descritos, pueden ser interpretados por cualquier desarrollador, aunque no tenga experiencia en usabilidad. De la misma forma, los refactorings que se sugieren como solución pueden ser aplicados automáticamente y en producción, gracias a la implementación de refactorings del lado del cliente, que permiten alterar la aplicación sin modificar su código. De esta manera, Kobold se presenta como una herramienta que puede resultar de utilidad tanto para desarrolladores como para expertos en usabilidad. En resumen, lo que se quiere obtener con Kobold es, como mínimo, una herramienta confiable que con un mínimo esfuerzo de configuración pueda rápidamente comenzar a brindar asesoramiento sobre usabilidad en aplicaciones que ya se encuentran corriendo en producción, y que pueda ser configurada para detectar diferentes tipos de problemas. La audiencia para esta herramienta sería de desarrolladores con experiencia en usabilidad, que quisieran tener un panorama rápido de las interacciones reales que realiza la masa de usuario, y probablemente reparar rápidamente algunos de estos problemas del lado del cliente. Más aun, esto allanaría el camino para conseguir un objetivo más ambicioso: un mecanismo confiable que permita la auto-reparación de aplicaciones web, que incluso los desarrolladores sin experiencia en usabilidad puedan utilizar para corregir los usability smells en sus aplicaciones. El trabajo presentado incluye validaciones empíricas que comprueban la factibilidad del enfoque y su implementación en todas las etapas: captura de eventos de interacción, detección de usability smells y aplicación de usability refactorings.

Tesis completa

“Modelo de proceso para elicitación de requerimientos en proyectos de explotación de información"
Autor: Pollo-Cattaneo María Florencia
Directores: Lic. Pesado Patricia, Dra. Britos Paola
Fecha: Mayo 2018

Los proyectos de Explotación de Información proveen las herramientas de análisis y síntesis que permiten convertir los datos disponibles dentro de una organización en conocimiento útil para la toma de decisiones. Es por esto, que los requerimientos de este tipo de proyectos son diferentes a los que se presentan en proyectos tradicionales de desarrollo de software. Por lo tanto, los procesos asociados a la elicitación de los requerimientos para este tipo de proyectos no pueden reutilizarse en proyectos de Explotación de Información. Asimismo, las metodologías existentes para estos últimos proyectos dejan de lado las actividades asociadas a la gestión de los requerimientos de los clientes e interesados. En este contexto, este trabajo de tesis propone un Modelo de Proceso para Elicitación de Requerimientos que permita realizar una gestión integral y apropiada de los requerimientos, contemplando cinco fases en las cuales se pone énfasis en la definición del proyecto, la educción y conceptualización del negocio y en la identificación de los procesos de Explotación de Información a ser aplicados.


Tesis completa

“Interacción e interactividad en el trabajo colaborativo mediado por tecnología informática. Metodología de seguimiento en escenarios educativos"
Autor: Zangara María Alejandra
Director: Dra. Sanz Cecilia
Fecha: Mayo 2018

El estudio de los escenarios de enseñanza y aprendizaje mediados por tecnología digital se asemeja a mirar a través de un caleidoscopio. Cada cristal ofrece una óptica diferente. Cada disciplina que observa este fenómeno muestra una cara algo desconocida, un aspecto quizás inexplorado. La sensación es la de pisar arenas resbaladizas, viscosas, cada vez más profundas: cuánto más se avanza, más camino hay por delante. En ese camino transita esta tesis.

El objeto de estudio aborda el análisis y el seguimiento de la interacción e interactividad en el trabajo colaborativo mediado por tecnología informática. La literatura proveniente de la Psicología y la Didáctica ha estudiado y escrito sobre este fenómeno desde el propio nacimiento de la Tecnología Educativa, en la década del ´70. En las aulas presenciales es posible observar “en vivo” y analizar cómo las personas se comunican en pos de lograr algo juntas. En este sentido, la Didáctica de Grupos se ha convertido en un eje fundamental de la enseñanza. Con la tecnología digital y la posibilidad agregada de documentar eventos e información para su posterior recuperación, estos estudios se han enriquecido al punto de poder reconstruir las formas de interacción e interactividad de un grupo colaborativo en una situación de enseñanza mediada.

En esta tesis se propone echar luz sobre algunos temas que resultan de interés, tanto para la Ciencia Informática como para la Tecnología Educativa y la Didáctica. Se ofrecerá un marco conceptual comprensivo acerca de las relaciones epistemológicas entre los conceptos de interacción e interactividad, desde una mirada interdisciplinar. Asimismo, respecto del trabajo colaborativo, se lo ubicará conceptualmente, diferenciándolo de otras formas de trabajo grupal y de cooperación que no llegan al estadio de la colaboración.

El aporte sustancial de la tesis se vincula con el seguimiento del trabajo colaborativo mediado por tecnología informática. En este sentido, se ofrece un metodología completa (que se ha llamado por su acrónimo MetSCIn) que puede ayudar a estudiantes, docentes y desarrolladores de software a analizar, e incluso reconstruir, las etapas y eventos que conllevan a un grupo a logros colectivos. En el diseño de esta metodología se ha documentado el estado del arte de los indicadores con los cuales se ha estudiado el trabajo colaborativo desde diversas disciplinas. Se han comparado investigaciones en este tema para componer, como parte de MetSCin, una matriz de indicadores integrados en una doble dimensión de estudio: el aporte de los individuos al trabajo grupal y la construcción colaborativa propiamente dicha. El estudio de caso donde se ha probado la metodología completa se ha llevado adelante en una e-actividad de escritura colaborativa, con estudiantes del seminario de “Educación a Distancia” de la Maestría en “Tecnología Informática aplicada en Educación”, que se dicta en la Facultad de Informática de la Universidad Nacional de La Plata.

En el estudio de caso se ha trabajado con dos cohortes completas contrastadas (2015 y 2016). En la segunda cohorte se ha implementado la metodología MetSCIn completa. Se ha realizado, como parte de esta metodología, una intervención didáctica denominada mirroring que consiste en la visilibización semanal del seguimiento de los indicadores del proceso colaborativo a disposición de todos los integrantes del grupo. Una vez finalizado ese trabajo, se ha evaluado su impacto.

Los resultados permiten comprobar que la metodología ha mostrado eficacia en el seguimiento del trabajo colaborativo, al permitir realizar una cuidadosa descripción y recuperación del proceso de trabajo en el estudio de caso. La matriz de indicadores de colaboración que forma parte de MetSCIn fue sometida al juicio de expertos y resultó válida y confiable a partir de las respuestas obtenidas. Finalmente, los resultados alcanzados en la indagación de impacto posterior a la implementación de la estrategia de mirroring refuerzan la idea de que el grupo se beneficia a partir del conocimiento sobre cómo se está desarrollando su proceso colaborativo y, aún más, indican que se profundiza la conciencia que cada integrante tiene de su propia tarea y de la de sus compañeros.

Asimismo, esta tesis ha permitido avanzar hacia trabajos futuros en cada una de las áreas de incumbencia, que se describen al final de este informe.

Tesis completa

“Modelo de Sistemas Armónicos Difusos para la minería Temporal"
Autor: Bel Walter Valentín
Director: Dra. Lopez de Luise Daniela
Codirector: Dr. Hasperué Waldo
Fecha: Mayo 2018

En estos últimos años el constante incremento del volumen de datos generados y almacenados por los sistemas de información sumados a su volatilidad y variedad. Este fenómeno es conocido como Big Data, y ha motivado la necesidad de nuevas técnicas que permitan procesar y obtener información útil de dichos datos en un tiempo razonable; siendo a su vez cada vez más necesario el procesamiento de datos en tiempo real.

Esta tesis presenta una propuesta innovadora para la minería temporal de datos cuando hay requerimiento de respuesta en tiempo real. El modelo de Sistemas Armónicos Difusos (Fuzzy Harmonic Systems, FHS) se implementa con un algoritmo simple y liviano, y constituye una extensión del modelo de Sistemas Armónicos. Se enfoca en la temporalidad de los eventos y no en las características del evento en sí, como otras técnicas tradicionales. Permite la detección y/o predicción de comportamientos anómalos o eventos específicos cuando éstos ocurren y no necesariamente post-mortem. El modelo FHS utiliza patrones difusos y reglas de inferencias difusas que le permiten contextualizar las variables y detectar conocimiento implícito en las mismas. Ésto le otorga al modelo flexibilidad y robustez suficiente como para tratar problemas donde es necesario interpretar los datos con sentido semántico. Así, el modelo de comportamiento es dinámico y representa complejidades más sutiles. El mecanismo de resonancia de patrones permite ajustar la sensibilidad del modelo realizando un aprendizaje cada vez que éste resuena, es decir cuando detecta un caso positivo. Por otra parte, el uso de los filtros del modelo reduce el tiempo de procesamiento y la complejidad computacional de los mismos. Ésto se traduce en una mejora en el tiempo de respuesta y la posibilidad del tratamiento en tiempo real de los datos.

Como parte de este trabajo, también se presenta el prototipo Kronos Móvil que implementa el modelo FHS para la predicción del nivel riesgo en tránsito vehicular y peatonal. Este prototipo está codificado en Android, permitiendo evaluar el rendimiento y la eficiencia del modelo propuesto en un entorno real y dinámico, donde intervienen una gran cantidad de variables de diverso tipo (climatológicas, geográficas, fisiológicas del usuario, vehiculares, características del desplazamiento, etc.).

Los estudios de campo y análisis estadísticos realizados permiten asegurar que la propuesta no sólo es performante sino también aplicable de manera satisfactoria para los entornos en que se plantea.

Tesis completa

“Un modelo de Arquitectura para un Sistema de Virtualización Distribuido"
Autor: Pessolani Pablo
Directores: Dr. Cortes Toni, Dr. Tinetti Fernando
Codirección: Dr. Gonnet Silvio
Fecha: Noviembre 2018

Si bien los Sistemas Operativos disponen de características de seguridad, protección, gestión de recursos, etc. éstas parecen ser insuficientes para satisfacer los requerimientos de los sistemas informáticos que suelen estar permanente y globalmente conectados. Las actuales tecnologías de virtualización han sido y continúan siendo masivamente adoptadas para cubrir esas necesidades de sistemas y aplicaciones por sus características de particionado de recursos, aislamiento, capacidad de consolidación, seguridad, soporte de aplicaciones heredadas, facilidades de administración, etc. Una de sus restricciones es que el poder de cómputo de una Máquina Virtual (o un Contenedor) está acotado al poder de cómputo de la máquina física que la contiene. Esta tesis propone superar esta restricción abordando la problemática con el enfoque de un sistema distribuido. Para poder alcanzar mayores niveles de rendimiento y escalabilidad, los programadores de aplicaciones nativas para la Nube deben partirlas en diferentes componentes distribuyendo su ejecución en varias Máquinas Virtuales (o Contenedores). Dichos componentes se comunican mediante interfaces bien definidas tales como las interfaces de Web Services. Las Máquinas Virtuales (o Contenedores) deben configurarse, asegurarse y desplegarse para poder ejecutar la aplicación. Esto se debe, en parte, a que los diferentes componentes no comparten la misma instancia de Sistema Operativo por lo que no comparten los mismos recursos abstractos tales como colas de mensajes, mutexes, archivos, pipes, etc. El defecto de esta modalidad de desarrollo de aplicaciones es que impide una visión integral y generalizada de los recursos. En ella, el programador debe planificar la asignación de recursos a cada componente de su aplicación y, por lo tanto, no solo debe programar su aplicación sino también gestionar la distribución de esos recursos. En este trabajo se propone un modelo de arquitectura para un Sistema de Virtualización Distribuido (DVS) que permite expandir los límites de un dominio de ejecución más allá de una máquina física, explotando el poder de cómputo de un cluster de computadores. En un DVS se combinan e integran tecnologías de Virtualización, de Sistemas Operativos y de Sistemas Distribuidos, donde cada una de ellas le aporta sus mejores características. Esta arquitectura, por ejemplo, le brinda al programador una visión integrada de los recursos distribuidos que dispone para su aplicación relevándolo de la responsabilidad de gestionarlos. El modelo de DVS propuesto dispone de aquellas características que son requeridas por los proveedores de servicios de infraestructura en la Nube, tales como: mayor rendimiento, disponibilidad, escalabilidad, elasticidad, capacidad de replicación y migración de procesos, balanceo de carga, entre otras. Las aplicaciones heredadas pueden migrarse más fácilmente, dado que es posible disponer de la misma instancia de un Sistema Operativo Virtual en cada nodo del cluster de virtualización. Las aplicaciones desarrolladas bajo las nuevas metodologías para el diseño y desarrollo de software para la Nube también se benefician adaptándose su utilización a un sistema que es inherentemente distribuido.

Tesis completa