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. In this project the student has to develop a software based on the Apache-Spark framework, which provides flexible Big Data processing, using the model of parallel and highly scalable MapReduce programming. The results of the project will be tested with a time series of electrical consumption in Granada University buildings.

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. This project is intended to analyze performance, special features, and quality of service (QoS) benefits, which offer multi-tenant DBMS when used in private cloud computing. To carry the project out, benchmarks and specific data sets are provided for the measurement of different QoS parameters in these environments.

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.This project aims to develop fully algorithms to efficiently process massive quantities (Big Data) of diverse data at a great speed, to achieve this they are used GPU devices with Python, which allow you to get computing efficient DataStreams, even contemplating certain features of real-time processing. Implementations developed will be evaluated considering the aspects of efficiency (time of execution) and performance (throughput) of Selected algorithms.

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.It is about defining an agile management governance model of software systems projects and apply it to the development of a complex software system, which serves as a case of study on which to perform tests. To achieve it, a set of programming and testing techniques is studied which are managed in an agile way (Scrum, Kaizen, SixSigma, etc.). In order to prove in practice the developed governance model will be applied to the refactoring of an automatic driving system of a vehicle, which It includes strict time restrictions.

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. The evolution of software can be seen from the perspective of the development process and also from the changes you experience during your time of use. In both cases, the software architecture is the fundamental support that promotes modifiability, flexibility, configurability, etc. of the system-software. In this project 15 patterns will be used (architectural and design) that serve to provide ease of maintenance and dynamism to the product-software. For each of the patterns analyzed their quality characteristics will be identified, along with their advantages and weaknesses, which will eventually be translated into the terms of the ISO / IEC 25010 standard - System and software quality models. The Project results will be applied to refactoring the Java code of a system ACC.

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.The technique called Metamorphic-Testing has recently produced very good results in the validation of applications from very different domains, ranging from Web services, graphics and, currently, is used in quality control testing of Machine Learning (ML) models. In the case of ML model test we cannot assume the existence of an oracle (set of expected program outputs that are known in advance). The ML models are the basis of scientific software that is used to create responses or generate new responses from data sets. The so-called Metamorphic Testing is currently considered fundamental within of Data Science because it allows to create test plans of ML models based on metamorphic relationships that can be identified in large data sets It is considered an essential test technique in Big Data. Automation and the consequent development of a software tool to perform in this project can be achieved using programming languages ​​with facilities to write scripts that they can execute as part of an integral process of development, deployment and Software evolution There are free-use tools, such as Jenkins, that will facilitate such development.

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.The dependence of the internal representation of the data converts customers into vulnerable if your cloud computing service provider disappears. This fact constitutes the so-called vendor lock-in problem, which interests us for solving it in a practical and scalable way, regarding the size of the stored data. The approach of this project initially consists of developing the extension of an API that is currently used by free and open source software, compatible with environments private and hybrid computing in the Cloud. Finally, the development of a data migration software / replication tool between providers of Cloud storage services will be carried out.

  1. Manuel I. Capel Tuñón (lecturer)

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
(Object Technology Applied to the Development of Distributed and Real-time Applications)

Spanish (with materials in English)

Master Desarrollo Software (DS)

2nd (MSc)

Técnicas Avanzadas de Modelado de Sistemas de Control y Telecomunicaciones
(Advanced Techniques for Modelling Control and Telecommunications Systems)

Spanish (with materials in English)

Master Desarrollo Software (DS)

2nd (MSc)

 

  1. Manuel I. Capel Tuñón (academic coordinator*)

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

Doctoral advisor

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
(Business Process Modeling / BPM and Business Inteligence / BI ).




Note: (*)Coordinator duties: course delivery, program and course development, university committee service and administrative issues.