TFM (trabajos
fin de master) proposed for the academic course 2018/2019:
1-Método escalable para predicción de valores
esperados de magnitudes físicas en series temporales de alta frecuencia de
medición (co-tutorizado con dra.
María del Carmen Pegalajar Jimenez):
En este proyecto el alumno ha de desarrollar un software basado en el framework Apache Spark
-proporciona procesamiento de Big Data flexible- utilizando el modelo de
programación paralelo y altamente escalable MapReduce.
Los resultados del proyecto serán testados con una serie temporal de consumo
eléctrico en edificios universitarios.
2-
Sistemas de Gestión de Bases de Datos Multi-inquilino
con Calidad de Servicio: En
este proyecto se pretende analizar el rendimiento, características especiales,
y beneficios de calidad de servicio (QoS), que
ofrecen los SGBD multi-inquilino cuando se utilizan
en computación Cloud privada. Para llevarlo a término se suministrarán benchmarks y conjuntos de datos específicos para la medida
de diferentes parámetros QoS en estos ambiente.
3-Programación de metaheurísticas
para la resolución de problemas con restricciones de tiempo críticas en GPU
utilizando Spark (co-tutorizado
con dra. María del Carmen Pegalajar
Jimenez): En este proyecto se pretende desarrollar
completamente algoritmos para procesar eficientemente cantidades masivas (Big
Data) de datos diversos a una gran velocidad, para conseguirlo se utilizarán
dispositivos GPU con Python
(pyspark), que permita conseguir computación
eficiente de Data Streams, incluso, contemplando
ciertas características de procesamiento de tiempo real. Las implementaciones
desarrolladas serán evaluadas considerando los aspectos de eficiencia (tiempo
de ejecución) y de rendimiento (throughput) de los
algoritmos seleccionados.
4-Modelo de Gobernanza ágil del Desarrollo de
Software: Se trata de definir un modelo de gobernanza de la gestión ágil
de proyectos de sistemas software y
aplicarlo al desarrollo de un sistema software complejo, que servirá como caso
de estudio sobre el que realizar tests. Para
conseguirlo, se estudiarán un conjunto de técnicas de programación y pruebas
que se gestionan de una forma ágil (Scrum, Kaizen, Six Sigma, etc.). Para
probar en la práctica el modelo de gobernanza desarrollado se aplicará a la
refactorización de un sistema de conducción automática de un vehículo, que
incluye restricciones estrictas de tiempo.
5-Análisis de patrones para la evolución del
software y su impacto en la calidad del producto: La evolución del
software puede ser vista desde la perspectiva del proceso de desarrollo y
también desde los cambios que experimenta durante su tiempo de uso. En ambos
casos, la arquitectura del software es el soporte fundamental que propicia la modificabilidad, flexibilidad, configurabilidad,
etc. del sistema-software. En este proyecto el alumno utilizará 15 patrones
(arquitectónicos y de diseño) que sirven para proporcionar facilidad de
mantenimiento y dinamismo al producto-software. Para cada uno de los patrones
analizados se identificarán sus características de calidad, junto con sus
ventajas y debilidades, que finalmente serán traducidos a los términos del
estándar ISO/IEC 25010 - "System and software quality models". Los
resultados del proyecto se aplicarán a la refactorización del código Java de un
ACC System.
6-Metamorphic Testing
de Modelos de Machine Learning: La técnica
denominada Metamorphic Testing
ha producido recientemente muy buenos resultados en la validación de
aplicaciones de muy diferentes dominios, que van desde los servicios Web, los
gráficos y, actualmente, se utiliza en las pruebas de control de calidad de
modelos de Machine Learning (ML).En el caso de la
prueba de modelos de ML no podemos suponer la existencia de un oráculo
(conjunto de salidas esperadas del programa que son conocidas de antemano). Los
modelos ML son la base de un software científico que se utiliza para crear
respuestas o generar nuevas respuestas a partir de conjuntos de datos. El denominado
Metamorphic
Testing se considera actualmente fundamental dentro
de la Ciencia de Datos porque permite crear planes de prueba de los modelos ML
basándose en relaciones metamórficas que se pueden identificar en grandes
conjuntos de datos. Se considera una técnica esencial de prueba en Big Data.La automatización y el consiguiente desarrollo de una
herramienta software a realizar en este proyecto se puede logar utilizando
lenguajes de programación con facilidades para escribir “scripts”, que se
pueden ejecutar como parte de un proceso integral de desarrollo, despliegue y
evolución del software. Existen herramientas de libre uso, como Jenkins, que
facilitarán tal desarrollo.
7- Servicio Cloud de almacenamiento
independiente del proveedor. " La dependencia
de la representación interna de los datos convierte a los clientes en
vulnerables si su proveedor de servicios de computación en la Nube desaparece.
Este hecho constituye el denominado problema vendor lock-in , que interesa resolver de manera práctica y escalable
respecto del tamaño de los datos almacenados. El planteamiento de este proyecto
inicialmente consiste en desarrollar la extensión de un API que actualmente se
utiliza por un software libre y de fuentes abiertas, compatible con entornos
privados e híbridos de computación en la Nube. Finalmente se ha implementar una
herramienta-software de migración/replicación de datos entre proveedores de
servicios de almacenamiento en la Nube.
Course (2019-2020) |
Language |
Curriculum |
Semester |
Sistemas
Concurrentes y Distribuidos (Concurrent and Distributed Systems) |
Spanish |
BSc
Ingenieria Informatica (II) |
1st
(BSc) |
Desarrollo
de Software basado en Componentes y Servicios (Software Development Based on Components and Services) |
Spanish (with materials in English) |
Master
Ingenieria Informatica (II) |
1st
(MSc) |
Tecnología de Objetos Aplicada al Desarrollo de
Aplicaciones Distribuidas y de Tiempo Real |
Spanish (with materials in English) |
Master Desarrollo Software (DS) |
2nd
(MSc) |
Técnicas Avanzadas de Modelado de Sistemas de
Control y Telecomunicaciones |
Spanish (with materials in English) |
Master Desarrollo Software (DS) |
2nd
(MSc) |
Course |
Curriculum |
Semester |
-Tecnología de Objetos Aplicada al Desarrollo de
Aplicaciones Distribuidas y de Tiempo Real (Object Technology Applied to the Development of Distributed and Real-time Applications) |
Máster DS |
2nd |
-Desarrollo de software basado en componentes y servicios (Software Development Based on Components and Services) |
Máster II |
1st |
Research lines (Master and Doctorate Thesis) |
1. Modelos Paralelos de Computación con CUDA/GPU (Research on CUDA/GPU Parallel Computing Models) |
2. Modelado e Inteligencia de Procesos de Negocio |
Note: (*)Coordinator duties: course delivery, program and course development, university committee service and administrative issues.