11 research outputs found

    Sistema para la petición de cita de tutoría usando tecnología de Portlets

    Get PDF
    Este proyecto fin de carrera comprende el análisis, diseño e implementación de un sistema accesible vía Web que facilite a profesores y alumnos la gestión de la asistencia a las tutorías. Desde un punto de vista funcional, el sistema permite a los profesores configurar las asignaturas para las cuales quieren utilizar el sistema y establecer sus horarios de tutorías. Por otro lado, los alumnos podrán consultar disponibilidad horaria para asistir a estas tutorías y solicitarlas en base a esta disponibilidad. El sistema notificará al alumno vía correo electrónico la aceptación de su solicitud. Antes de cada tutoría, el profesor recibirá un informe por correo electrónico con el listado de las solicitudes existentes. Con cada solicitud, un alumno podrá también exponer el objeto de la tutoría, facilitando al profesor una posible preparación previa si fuese necesario. Además de la funcionalidad básica expuesta, el sistema también ofrece otras posibilidades a profesores y alumnos. Los profesores pueden visualizar, aplicando diferentes criterios, las tutorías pendientes de ser atendidas, consultar su histórico de solicitudes de tutorías o anotar qué alumnos acuden a las tutorías que solicitaron. También podrán configurar la frecuencia de los informes de solicitudes de tutorías (por cada nueva solicitud, diarios, semanales, etc.) y la forma en que se lleva a cabo la asignación de turnos de tutorías a los alumnos: permitiéndoles elegir hora entre las disponibles o asignándoles una hora concreta de forma consecutiva. Por otro lado, un alumno podrá consultar todas las tutorías asignadas, modificarlas o cancelarlas. Adicionalmente, el sistema detectará posibles alumnos que repetidamente no asisten a las tutorías solicitadas, realizará automáticamente copias de seguridad de su información, almacenará ficheros de log con todas las acciones que ocurran en el sistema para su posterior análisis e implementará un acceso seguro basado en claves privadas. El sistema desarrollado consta de dos aplicaciones: una aplicación Web de configuración de asignaturas y sus horarios de tutorías utilizada por los profesores y una aplicación Portlet utilizada por los alumnos para la solicitud de cita de tutoría. La tecnología de Portlets utilizada permite crear aplicaciones Web fácilmente integrables en un portal Web. Gracias a ella, los profesores pueden, de forma muy sencilla, poner el sistema a disposición de sus alumnos en su página Web. Por último, el sistema desarrollado se ha instalado en el servidor Alkaid del Centro Politécnico Superior para ponerlo a disposición de profesores y alumnos

    Desarrollo de una aplicación para la gestión de ritmos de carrera.

    Get PDF
    El progreso tecnológico actual ha llevado a la popularización e instalación masiva de aplicaciones en relojes inteligentes. Uno de los usos más habitualesson los enfocados a la gestión de actividades deportivas, en concreto al atletismo y running. Ambas disciplinas cuentan con una gran cantidad de usuarios, tanto a nivel profesional como amateur, de forma continuada o esporádica. En ambos casos, es muy importante para el corredor poder gestionar los ritmos de carrera durante su entrenamiento. Actualmente existen distintas soluciones para controlar el ritmo de carrera al que estamos yendo, tanto con aplicaciones de dispositivos móviles como aplicaciones de relojes. Sin embargo, en la mayoría se presenta el problema de tener que estar continuamente desviando la mirada y la atención del trayecto para conocer el ritmo al que se encuentran; inconveniente que se agrava cuando se trata de corredores con un nivel de exigencia elevado, donde la necesidad de conecer sus ritmos de carrera es permanentemente. En este Trabajo de Fin de Grado se da solución al problema descrito, desarrollando una aplicación para reloj que permite el seguimiento del ritmo del corredor disminuyendo las distracciones durante el entrenamiento. Para ello, se implementarán señales acústicas y visuales que permitan al corredor, mediante un vistazo rápido obtener información del ritmo al que se encuentra. En el proyecto podemos destacar las siguientes fases: - Estudio de mercado para la elección de un dispositivo que permita la instalación de aplicaciones externas. - Elección del entorno de desarrollo para la escritura del código. - Desarrollo del código en Android Studio - Pruebas de funcionamiento, inicialmente en emuladores y posteriormente en dispositivos reales.<br /

    Diseño y desarrollo de un sistema de control de la dedicación basado en tecnología de Portlets

    Get PDF
    Este Proyecto Fin de Carrera comprende el análisis, diseño e implementación de un sistema accesible vía Web que facilite el control y la previsión del coste temporal de la realización de una amplia variedad de tipos de proyectos. Dada la naturaleza de cualquier proyecto software es complicado prever con antelación el tiempo necesario para su realización. En algunos casos, puede ser la causa para que no se cumpla con la fecha de entrega, con la posible pérdida de confianza por parte del cliente. El sistema da acceso a los gestores y a los participantes en los proyectos. Un gestor puede configurar un proyecto y añadirle tareas y participantes. También puede configurar alarmas que permitan avisarle, tanto a él como a los participantes, de que el tiempo previsto para la realización de una tarea del proyecto ha sido superado. Además podrá generar informes de la dedicación de los proyectos que gestione. Por otro lado, un participante en un proyecto podrá introducir su dedicación diaria realizada a cada una de las tareas del proyecto en el que participe. También podrá ver las alarmas que el gestor haya configurado, así como crear informes de la dedicación que ha realizado en los proyectos. El sistema está compuesto por dos aplicaciones: Una aplicación Web que permitirá a los gestores configurar los proyectos y los participantes. Una aplicación Portlet que permitirá a los participantes en los proyectos introducir su dedicación diaria. La tecnología de Portlet permite crear aplicaciones que se integran fácilmente en un portal Web. Un gestor de un proyecto podrá añadir esta aplicación en su página Web para facilitar el acceso a los participantes

    Aplicación móvil para solicitar un servicio de taxi sin intermediarios.

    Get PDF
    El avance de la tecnología ha conllevado la normalización del uso de Smartphones en las actividades cotidianas. Tareas que en el pasado requerían intermediarios y ahora son realizadas directamente a través de la Web, simplificando generalmente la comunicación y reduciendo el tiempo de espera que es necesario para finalizar la tarea. Por ello, es normal que aparezcan alternativas en sectores que aún siguen manteniendo estos intermediarios. En el sector del transporte público han surgido diversas empresas que han revolucionado el mercado, ofreciendo facilidades en la utilización de estos servicios en comparación a los métodos convencionales que consisten en contactar mediante una llamada telefónica con la asociación que gestiona la flota de taxis de la ciudad en la que se desea reservar el vehículo. Este trabajo de fin de grado (TFG) tiene como objetivo presentar una aplicación que gestione el proceso, reserva de un servicio de taxi y asignación de un taxista a un cliente. Para lograrlo, se hace uso de tecnología Web para ofrecer al usuario la mejor experiencia posible y a la vez facilitar al taxista su trabajo. Se han desarrollado dos aplicaciones para dispositivos móviles con sistemas operativos Android. La primera orientada a la reserva de taxis con la finalidad de que lo use el cliente que requiera el servicio. La segunda para los taxistas que ofrezcan el servicio de transporte. Adicionalmente y como parte del desarrollo se han llevado a cabo un conjunto de experimentos, que recogen simulaciones del comportamiento del sistema en un entorno real así como pruebas que buscan encontrar los límites del sistema.<br /

    Integración dinámica de entornos de computación heterogéneos para la ejecución de workflows científicos

    Get PDF
    Los workflows científicos se caracterizan por estar compuestos por un elevado número de tareas computacionalmente muy costosas. Las necesidades planteadas por este tipo de workflow hacen necesaria la utilización de entornos de computación capaces de satisfacer estos requisitos de computación. En este contexto, la computación Grid ha emergido como un paradigma adecuado para la ejecución de workflows científicos gracias a la capacidad computacional y las comunicaciones en red de estos entornos. No obstante, esta nueva "sociedad" compuesta por Grids y workflows científicos todavía mantiene abiertos un amplio abanico de retos y dificultades. La posibilidad de ejecutar workflows programados en diferentes lenguajes sobre un mismo entorno de computación, la integración de entornos de computación heterogéneos bajo una misma infraestructura, y la posibilidad de ejecutar diferentes partes de un mismo workflow en diferentes entornos de computación son algunos de los principales problemas existentes. Como primer paso para la resolución de estos problemas, se desarrolló una infraestructura que integra diferentes entornos de computación heterogéneos de forma transparente para el usuario y que permite ejecutar workflows programados en diversos lenguajes ampliamente aceptados por la comunidad científica. De esta forma, se proporcionó una infraestructura capaz de solucionar los retos anteriores. Un aspecto ortogonal a estos retos no considerado en la infraestructura propuesta es el proceso de asignación de tareas a los recursos disponibles en los diferentes entornos integrados (meta-scheduling). Este proceso es clave para la definición de soluciones maduras y completas a los problemas expuestos. Para avanzar en el desarrollo de la solución propuesta y mejorar la infraestructura, en esta Tesis Fin de Máster se propone una estrategia de meta-scheduling basada en técnicas de simulación que permite asignar dinámicamente el entorno de ejecución a utilizar en cada una de las tareas de un workflow. Para ello, se ha integrado en la infraestructura un meta-scheduler que, para cada tarea, selecciona el entorno de ejecución más adecuado utilizando un algoritmo de optimización del tiempo de ejecución. La información utilizada para esta toma de decisiones proviene de los resultados de simular la ejecución de las tareas en los entornos de computación disponibles. Para soportar este proceso, se ha diseñado un simulador genérico, adaptable y extensible basado en Alea. Para cada entorno de computación, una instancia de este simulador ha sido customizada e integrada en la infraestructura. Asimismo, se ha definido una metodología para la creación de workloads dinámicos que permite simular las tareas en condiciones reales de carga. El uso de estos workloads y el propio diseño de los simuladores, capaces de capturar la complejidad inherente de los entornos de computación, han permitido obtener un elevado grado de precisión en las simulaciones, tal y como se ha demostrado en la validación experimental realizada. Como consecuencia, se ha conseguido mejorar el rendimiento de los workflows ejecutados. Finalmente, la viabilidad y beneficios de la solución propuesta se muestran mediante su aplicación a un workflow real en el dominio de la computación científica, el workflow de análisis Inspiral. Para este caso de uso, la utilización de la infraestructura con la estrategia de meta-scheduling propuesta ha permitido obtener una mejora del rendimiento de un 59% respecto a la ejecución del workflow completo en el cluster Hermes del I3A y una mejora de un 111% respecto a la ejecución del workflow en el Grid AraGrid

    Anotación semántica de grandes colecciones de vídeos a partir de su audio

    Get PDF
    En Internet existen numerosos servicios de alojamiento y visualización de vídeos. Este tipo de plataformas permiten realizar búsquedas entre las grandes colecciones de vídeos que almacenan. Estas búsquedas comparan la consulta realizada por el usuario con la información que disponen de cada uno de sus vídeos. La fuente de información para este tipo de búsquedas puede ser muy distinta dependiendo de cada servicio de alojamiento. En general, los elementos más importantes que clasifican un vídeo son: el título y las etiquetas asociadas a cada vídeo y que describen su contenido. El título y las etiquetas de un vídeo son, normalmente, asignados de forma manual por el usuario que aloja el vídeo en el servidor. El etiquetado de vídeos consiste en asociar o añadir a la información del vídeo un conjunto de palabras o metadatos (datos que describen otros datos) que permita clasificar o describir el contenido del vídeo. Esta tarea, con colecciones de vídeos muy grandes, resulta muy costosa y a veces difícil de realizar por un usuario por desconocimiento del contenido del vídeo. En general, el etiquetado manual produce un conjunto de etiquetas que describen el contenido de los recursos multimedia de forma genérica. Este proyecto pretende conseguir que este proceso de etiquetado manual, por parte del usuario, se realice de forma automática, permitiendo así reducir costes en el tiempo de etiquetado y generando unas etiquetas que describan mejor el contenido del vídeo utilizando información presente en el audio del mismo, mejorando de esta forma la relevancia de las etiquetas con respecto al etiquetado manual. Este proceso de etiquetado consiste, en primer lugar, en obtener o descargar el vídeo solicitado, siguiendo con la extracción de su audio y el posterior reconocimiento de voz del mismo para obtener el mayor número de palabras, de este audio, en forma de texto. A continuación, a partir de un proceso de votación, en el que a partir de los resultados obtenidos mediante el uso de algoritmos de extracción de términos, se determinan las palabras más relevantes que serán utilizadas como etiquetas para clasificar el vídeo. Estas etiquetas obtenidas pasan un proceso de validación, por parte de usuarios, para comprobar que son adecuadas y corresponden al contenido del vídeo. Se decidió que este proceso de validación se realizase de forma externa al sistema de etiquetado de vídeos para que el sistema pudiese continuar aunque la validación no hubiera finalizado. Finalmente, estas etiquetas pasan por un proceso en el que se relacionan estas palabras más relevantes con conceptos de una ontología (esquema conceptual dentro de varios dominios con la finalidad de facilitar el intercambio de información entre diferentes sistemas y entidades) de referencia, obtenida del repositorio de información estructurada llamado dbpedia para obtener mayor significado e información sobre el vídeo procesado. Este proceso de etiquetado de vídeos se encapsula dentro de un servicio que permite la entrada de vídeos y genera como resultados un conjunto de metadatos que describen los vídeos en base a su contenido. Este proceso de etiquetado consta de unas etapas con una alta complejidad, como puede ser la extracción del audio o el reconocimiento de voz, que genera la necesidad de una búsqueda de herramientas a integrar en este proceso que resuelvan cada etapa. Finalmente, se lleva a cabo una evaluación de este proceso de etiquetado automático, valorando aspectos como el rendimiento (costes de computo) o la calidad (tasa de aciertos) de algunos de los elementos que intervienen en ese proceso

    Desarrollo de un tutor de aprendizaje basado en tecnologías Cloud y semánticas

    Get PDF
    Este trabajo de fin de grado comprende el análisis, diseño e implementación de un sistema software, accesible vía Web, que permita a los estudiantes acceder y utilizar objetos de aprendizaje, así como evaluar el conocimiento adquirido a partir de los mismos. Esta evaluación se lleva a cabo mediante la creación de estructuras semánticas que representen el contenido del objeto de aprendizaje accedido. Funcionalmente, el sistema permite al profesor almacenar estos objetos de aprendizaje, en formato de vídeo, junto con un Topic Map(estructura semántica) que describa lo que espera que el estudiante aprenda a través del objeto de aprendizaje. Los estudiantes, son capaces de buscar y acceder a estos objetos, bien a través de las asignaturas en las que están matriculados, o haciendo uso de una barra de búsqueda mediante palabras clave. Tras la visualización del vídeo, el estudiante puede introducir un Topic Map que represente el conocimiento adquirido a través del objeto de aprendizaje. Internamente, el sistema analizará semánticamente en qué medida el Topic Map elaborado por el estudiante se corresponde con el Topic Map provisto por el profesor, utilizando para ello técnicas predefinidas y contrastadas en base a distintas métricas de similaridad, junto con algoritmos del teorema de grafos. A partir de este análisis, se generan una serie de indicadores que son mostrados al estudiante para que éste observe el grado de comprensión alcanzado del objeto de aprendizaje. El sistema desarrollado posee una arquitectura desplegada en la nube, orientada a servicios, que implementa un modelo Cliente-Servidor estructurado en capas. La parte servidor ofrece un API RESTful y es la encargada de llevar a cabo el análisis semántico, durante el cual se hará uso de servicios web externos. La parte cliente presenta una interfaz gráfica a los profesores y estudiantes mediante la cual poder interaccionar con la aplicación. Adicionalmente, el sistema cuenta con un sistema de acceso seguro basado en cuentas de usuario, y un sistema de registro de eventos, que genera ficheros de log con las interacciones de red y acciones de los usuarios en el sistema para su posterior análisis. En relación a las tecnologías, se puede diferenciar claramente entre tecnologías utilizadas en la parte cliente, servidor y las tecnologías de almacenamiento de información. Por un lado, la interfaz del usuario se ha implementado haciendo uso de AngularJS junto a Boostrap, dos frameworks que permiten la creación de interfaces dinámicas y responsivas (para su utilización en smartphones). En lo relativo al servidor, éste hace uso de NodeJS junto con su framework ExpressJS, tecnologías con la que se define el API RESTful mediante el cual se puede interaccionar con el sistema vía llamadas HTTP. Además, se hace uso de Java con el fin de llevar a cabo el análisis de equivalencia entre Topic Maps. Por último, para el almacenamiento de información del sistema, se ha hecho uso de MongoDB como base de datos. Esta base de datos es de tipo NoSQL orientada a documentos; la interacción con la misma se realizará desde el servidor haciendo uso de la herramienta Mongoose

    Infraestructura software para el análisis de las interacciones en Twitter: aplicación a la detección de trastornos de conducta alimentaria

    Get PDF
    En este proyecto se ha creado un sistema software que permite la interacción con Twitter y sus diversas entidades, recopilando esta información para representar las distintas interacciones entre los usuarios de manera legible para el ser humano y así extraer conocimiento de las mismas.<br /

    Framework para el despliegue automático de workflows científicos en entornos Grid

    Get PDF
    La heterogeneidad de las infraestructuras de computación existentes para el despliegue y ejecución de workflows científicos, junto con la complejidad de los workflows utilizados en Grid, producen que el proceso de scheduling sea una tarea muy complicada. Un enfoque que ayuda a resolver esta tarea es la utilización de un broker de recursos, pero esto provoca que las infraestructuras Grid asociadas estén fuertemente acopladas con el middleware subyacente. Por tanto, la integración de diferentes middlewares representa un desafío que sigue abierto. En este proyecto se presenta un enfoque flexible para el despliegue de workflows científicos en entornos Grid heterogéneos. La propuesta realizada se fundamenta en la utilización de un sistema de coordinación basado en el modelo de Linda y un conjunto de mediadores que abstraen al sistemas de los detalles de los diferentes middlewares utilizados. Como resultado, la infraestructura permite ejecutar workflows científicos en diferentes entornos Grid de forma completamente transparente para el usuario. Además, la infraestructura desarrollada proporciona mecanismos que permiten escalar y extender la misma fácilmente, haciendo que el sistema sea adecuado para una gran variedad de escenarios. Asimismo, el framework resuelve algunos de los problemas actuales en lo referente al modelado de workflows científicos. Los lenguajes de modelado utilizados en la actualidad son muy dependientes del sistema de gestión de workflows utilizado, dificultando la utilización del mismo en otros entornos y la compartición de los experimentos. Como solución, la infraestructura propuesta permite integrar diferentes entornos de modelado utilizando un lenguaje independiente del entorno de ejecución para describir las tareas que constituyen un workflow
    corecore