Lenguajes y Sistemas Informáticos

URI permanente para esta colecciónhttps://hdl.handle.net/11441/11583

Examinar

Envíos recientes

Mostrando 1 - 20 de 126
  • Acceso AbiertoTesis Doctoral
    Advanced Stress Management: Integration of Physiological Signals and Personal Characteristics to Prevent and Manage Stress
    (2024-09-24) Scherz, Wilhelm Daniel; Ortega Ramírez, Juan Antonio; Seepold, Ralf; Universidad de Sevilla. Departamento de Lenguajes y Sistemas Informáticos
    The doctoral thesis, entitled "Advanced Stress Management: Integration of Physiological Signals and Personal Characteristics to Prevent and Manage Stress," addresses the issue of stress, which has become a significant concern in modern society. Stress, whether subjectively or physiologically measured, has been shown to have a detrimental effect on decision-making abilities and to have a significant impact on an individual's health and wellbeing, as well as on the private and public economy. While technological advances simplify our daily lives, stress management is more challenging than ever due to individual perceptions, cultural nuances and personality traits. The need to respond quickly to the challenges of the workplace, traffic and the drive to achieve more and more is making chronic stress more prevalent and increasing the importance of understanding, measuring and predicting stress. In this dissertation, stress is defined as the effect of a stressor on the body. Stressors may be either short-term or long-term in nature and can result in the body functioning in a manner that differs from its normal functioning. However, they also facilitate the body's response to and coping with the situation. With regard to the most common methods of measuring stress, two main approaches can be identified. The first is the traditional approach, which involves the use of questionnaires or direct communication with individuals. The second is the use of physiological signals. In this research, questionnaires were employed to determine the baseline level of stress, to compare stress and physical activity, and to study the relationship between stress, personality traits and the demographics of the participants. It is acknowledged that stress cannot be entirely avoided in our lives. Stress has the function of optimising bodily functions and assisting in the coping with dangerous or challenging situations. However, it is possible to develop a system that helps us to understand and detect stress more efficiently, thus avoiding situations that are dangerous or hazardous. This approach enables a more comprehensive understanding of stress, enhanced management strategies, and a reduction in the long-term negative effects of stress.
  • EmbargoTesis Doctoral
    On Data Engineering and Knowledge Graphs: A Reinforcement Learning system for Knowledge Graph Reasoning
    (2024-07-18) Bermudo Bayo, Miguel; Hernández Salmerón, Inmaculada Concepción; Ayala Hernández, Daniel; Universidad de Sevilla. Departamento de Lenguajes y Sistemas Informáticos
    Knowledge Graphs have been at the forefront of domain information storage since their inception. These graphs can be used as the basis for a number of smart applications, such as question answering or product recommendations. However, they are generally built in an automated unsupervised way, which frequently leads to missing information, usually in the form of missing links between related entities in the original data source, and which have to be added a posteriori by completion techniques. Knowledge Graph Completion seeks to find missing elements in a Knowledge Graph, usually edges representing some relation between two concepts. One possible way to do this is to find paths between two nodes that indicate the presence of a missing edge. This can be achieved through Reinforcement Learning, by training an agent that learns how to navigate through the graph, starting at a node with a missing edge and identifying what edge among the available ones at each step is more promising in order to reach the target of the missing edge. While some approaches have been proposed to this effect, their reward functions only take into account whether the target node was reached or not, and only apply a single Reinforcement Learning algorithm. In this regard, we present a new family of reward functions based on node embeddings and structural distance, leveraging additional information related to semantic similarity and removing the need to reach the target node to obtain a measure of the benefits of an action. We introduce SpaceRL an end-to-end Python framework designed for the generation of reinforcement learning (RL) agents, which can be used in knowledge graph completion and link discovery. The purpose of the generated agents is to help identify missing links in a knowledge graph by finding paths that implicitly connect two nodes, incidentally providing a reasoned explanation for the inferred new link. The generation of such agents is a complex task, even more so for a non-expert user, and to the best of our knowledge there do not exist tools to provide that kind of support. SpaceRL is meant to overcome these limitations by providing a flexible set of tools designed with a wide variety of customization options, in order to be flexible enough to adapt to different user needs. It also includes a variety of state-of-the-art RL algorithms and several embedding models that can be combined to optimize the agent’s performance. Furthermore, SpaceRL offers different interfaces to make it available either locally (programmatically or via a GUI), or through an OpenAPI-compliant REST API.
  • Acceso AbiertoTesis Doctoral
    Aplicación de los principios de las pruebas tempranas durante el ciclo de vida de desarrollo de los smart contracts en la tecnología blockchain
    (2023-11-21) Sánchez Gómez, Nicolás; Mejías Risoto, Manuel; Torres Valderrama, Jesús; Universidad de Sevilla. Departamento de Lenguajes y Sistemas Informáticos
    Los sistemas software son cada vez más multidisciplinares y complejos. Su implementación de forma satisfactoria se ha convertido en un desafío continuo para cualquier tipo de empresa u organismo. Llevar a cabo la “transformación digital” de una empresa u organización implica, entre otras cosas, la adopción de tecnologías digitales avanzadas al objeto de mejorar su funcionamiento, eficiencia, productos y servicios. Es decir, para las empresas y organizaciones supone la aceptación e integración de tecnologías como internet, la nube y los servicios en línea, el internet de las cosas, la automatización de procesos, el análisis masivo de datos, la inteligencia artificial, y otros avances tecnológicos. En este contexto, hace ya unos años, apareció la tecnología blockchain. Ésta constituye también una de esas tecnologías que están impulsando la comentada “transformación digital”, gracias a sus características únicas y su potencial para abordar ciertas limitaciones de los sistemas tradicionales. Además, dado su carácter transversal1, esta tecnología está permitiendo la disrupción en la economía y en la empresa más allá de las conocidas criptomonedas. Solo habría que realizar una búsqueda rápida por internet para evidenciar que estamos asistiendo a una importante apuesta del mercado hacia los desarrollos basados en esta tecnología disruptiva. Esto es debido, fundamentalmente, a su capacidad para transformar la forma en que se registran las transacciones y la manera en que se almacenan y recuperan los datos. En la tecnología blockchain, los llamados smart contracts (contratos inteligentes) podrían actuar como complemento o sustituto de los contratos legales, ya que pueden automatizar y ejecutar acuerdos de manera eficiente y transparente. Estos “contratos digitales” se registran en un lenguaje informático que es desplegado y ejecutado en una plataforma blockchain. Estos scripts contienen una serie de reglas y condiciones preestablecidas y, cuando se cumplen las mismas, el smart contract permite la ejecución de las acciones programadas, sin necesidad de intervención humana o de terceros. Una de las características intrínsecas de la blockchain es su inmutabilidad, es decir, la capacidad de un “libro mayor” de blockchain para permanecer como un historial permanente, indeleble e inalterable de transacciones. Por tanto, es necesario, por no decir fundamental, que antes de desplegar un smart contract en una red empresarial, estos scripts pasen por unos minuciosos procesos de verificación al objeto de validar que su funcionamiento sea el esperado. Un error o defecto en el código de estos programas, por su naturaleza inmutable, puede conducir a resultados inesperados o no deseados y, lo más grave, podría causar un efecto no reparable. Además, desde un punto de vista ingenieril, todo cambio tecnológico debería ir acompañado de un adecuado aseguramiento de la calidad, tanto de los productos software como del proceso productivo para su desarrollo y puesta en marcha. Pero, hoy en día, existen pocas utilidades, técnicas o métodos que proporcionen una solución, de forma global, para ello. Repasando la literatura existente, la tecnología blockchain está aún en sus inicios desde el punto de vista de la calidad del software. Aunque ya empiezan a ver la luz propuestas interesantes de desarrollo y enfoques metodológicos concretos, las propuestas para el aseguramiento de la calidad de los smart contracts y, sobre todo, las propuestas para abordar el testing temprano, son aún escasas o muy ambiguas. Todo esto se ha hecho evidente tras el trabajo previo de investigación realizado como parte de la presente Tesis Doctoral, donde se ha identificado que todavía son muy escasos los estudios primarios enfocados a dar una respuesta, aunque sea parcial, a esta línea de trabajo. Una vez identificado el problema y los objetivos perseguidos en relación al aseguramiento de la calidad de los smart contract, a lo largo de esta Tesis Doctoral se ha intentado dar respuesta a la siguiente pregunta de investigación: “¿Los principios que rigen las pruebas tempranas en el ciclo de vida del desarrollo de software son aplicables, en un contexto blockchain, para garantizar la calidad funcional de los smart contracts?”. Para ello, se ha analizado de forma detallada los componentes y el funcionamiento de la tecnología blockchain y, más en concreto, de los smart contract. Además, se han analizado posibles soluciones, hasta identificar una solución factible para resolver el problema identificado. En concreto, en este trabajo se ha definido un mecanismo que nos permite generar pruebas funcionales de los smart contracts a partir de las especificaciones facilitadas por el área usuario o cliente y, se ha implementado una utilidad que de soporte a la ejecución de este mecanismo de generación de pruebas funcionales de forma sistemática. Es más, gracias a un proyecto de I+D+i como es el Proyecto SmartAuditor, entre otros, se ha podido dar una respuesta práctica a estos trabajos y en un contexto industrial, siendo este proyecto pionero en resolver de forma satisfactoria esta problemática, mediante nuestra propuesta de solución basada en la aplicación de los principios del testing temprano durante el ciclo de vida de desarrollo de los smart contracts en la tecnología blockchain.
  • Acceso AbiertoTesis Doctoral
    An agile innovation capability maturity framework to enhance public funding on ICT organizations
    (2023-11-14) Giménez Medina, Manuel; Domínguez Mayo, Francisco José; González Enríquez, José; Universidad de Sevilla. Departamento de Lenguajes y Sistemas Informáticos
    The present thesis introduces an innovative approach to addressing public funding challenges for innovation in Information and Communication Technology (ICT) companies. Innovation, characterized by its chaotic, ubiquitous, unpredictable, complex, multidimensional, and non-linear attributes, has emerged as a crucial driving force behind modern economic growth and social development. However, the nurturing and management of innovation present intricate challenges, particularly in the realm of public funding, which play a significant role in financing innovation in Europe, surpassing private funding. The allencompassing and multi-faceted nature of innovation requires a nuanced understanding and approach that both recognizes and accommodates its innate chaos and spontaneity. The inherent traits of innovation stand in stark contrast to the characteristics of its primary funding source—public administration—which is slow and bureaucratic. Consequently, the evolution of strategies and models that align public funding with the non-linear dynamics of innovation is essential for enhancing innovation performance, fostering an environment of freedom that devoid existing constraints. This thesis aims to develop and validate this original approach to enhance the public funding process for innovation in the ICT sector. The overarching aim is to foster an environment that promotes continuous, competitive, free, and agile innovation, enhancing the strategic alignment of organizations with the broader funding landscape. This objective is pursued to ultimately enhance effective and efficient productive capacity, aiming to secure competitive advantages for ICT companies engaged in innovation projects. Through a comprehensive review of the current state of the art, several shortcomings in existing funding methodologies, such as ontological issues, linear and systemic approaches, bureaucratic inefficiencies, slow processes, and limited agility, are identified. These gaps are further explored through a Delphi method study involving industry experts. Building upon these insights, the study proposes a pioneering Agile Innovation Funding Framework (AIF²) and the Lego Strategy. AIF² Framework incorporates the assessment of innovative capabilities and maturity into the public funding process. Its aim is to establish a trust, competitive, agile, and unconstrained environment for innovation that departs from the linear principles underpinning current models. Lego Strategy provides a method to circumvent existing funding limitations by modularizing intricate innovation proposals, serving as a preparatory step before the full deployment of AIF² Framework. The effectiveness of these proposed solutions is validated within the operational context of a Spanish ICT consulting firm, Emergya Group. The results demonstrate significant improvements in efficiency, efficacy, productive capacity, and competitive advantages. However, despite the tangible benefits of the framework, limitations related to the readiness of public funders to reach higher maturity levels to complete AIF² are also acknowledged. The thesis represents a substantial contribution to innovation management, offering theoretical insights and practical tools to enhance innovation processes in ICT companies. The findings and proposed solutions provide a solid foundation for future research and practice in innovation funding.
  • Acceso AbiertoTesis Doctoral
    Desarrollo y validación de modelos predictivos de toxicidad asociada al tratamiento de pacientes con cáncer de pulmón basados en técnicas de aprendizaje automático
    (2023-10-20) Núñez Benjumea, Francisco José; López Guerra, José Luis; Moreno Conde, Alberto; Universidad de Sevilla. Departamento de Lenguajes y Sistemas Informáticos
    Antecedentes y objetivo: Las toxicidades inducidas por la radiación son eventos adversos frecuentes en los pacientes con cáncer de pulmón (CP) sometidos a radioterapia (RT). Una predicción precisa de estos efectos adversos podría facilitar un proceso de toma de decisiones informado y compartido entre el paciente y el oncólogo radioterapeuta, con una visión más clara de las implicaciones para el equilibrio vital en la elección del tratamiento. Este trabajo proporciona un benchmark para la aplicación de métodos de aprendizaje automático para predecir las toxicidades inducidas por la radiación en pacientes con CP construido sobre un conjunto de datos de salud del mundo real basado en una metodología generalizable para su implementación y validación externa. Materiales y métodos: Se combinaron diez métodos de selección de características con cinco clasificadores basados en técnicas de aprendizaje automático para predecir seis toxicidades inducidas por la RT (esofagitis aguda, tos aguda, disnea aguda, neumonitis aguda, disnea crónica, y neumonitis crónica). Se utilizó un conjunto de datos de salud del mundo real construido a partir de 875 pacientes consecutivos de CP para entrenar y validar los 300 modelos predictivos resultantes. Se calculó la precisión interna y externa en términos de AUC para cada toxicidad objetivo y agrupada por cada método de selección de características y por cada clasificador basado en técnicas de aprendizaje automático. Resultados: Los mejores modelos predictivos obtenidos para cada toxicidad objetivo alcanzaron rendimientos comparables a los métodos del estado del arte en la validación interna (AUC≥0,81 en todos los casos) y en la validación externa (AUC≥0,73 en 5 de 6 casos). Conclusiones: Siguiendo una metodología generalizable, se ha realizado un benchmark de 300 modelos diferentes basados en técnicas de aprendizaje automático haciendo uso de un conjunto de datos del mundo real, logrando resultados satisfactorios. Los resultados sugieren posibles relaciones entre factores clínicos poco reconocidos y la aparición de esofagitis aguda o disnea crónica, demostrando así el potencial que tienen los enfoques basados en técnicas de aprendizaje automático para generar nuevas hipótesis basadas en datos del mundo real.
  • Acceso AbiertoTesis Doctoral
    On Data Engineering and Knowledge Graphs: a Context-Aware Proposal for Web-Scale Knowledge Graph Completion
    (2023-07-07) Borrego Díaz, Agustín; Hernández Salmerón, Inmaculada Concepción; Ruiz Cortés, David; Universidad de Sevilla. Departamento de Lenguajes y Sistemas Informáticos
    Nowadays, Knowledge Graphs are a widely used means to store structured information for a variety of different domains and applications. However, due to the fact that they are usually constructed using automated information extraction techniques, they are often incomplete, either because these techniques failed to extract the relevant information, or because it was not present altogether in the original sources. The problem that we address in this dissertation is how to find this missing knowledge and complete Knowledge Graphs in an automatic manner. In the literature, there are already many proposals to perform this task. However, they have important drawbacks, namely: they rely on embedded representations, which are computationally expensive to generate and demand frequent regenerations, they require human intervention or human-provided data, they rely on external sources of information, they cannot produce new knowledge on their own, or they do not scale properly to very large Knowledge Graphs. In this dissertation, we present a new automated proposal for completing Knowledge Graphs that does not suffer from any of the previous drawbacks. Our contribution is threefold: CHAI, a technique for automatically generating tractable sets of candidate triples; CAFE, a high-accuracy triple classification proposal; and SciCheck, a technique specifically tailored for completing scientific Knowledge Graphs. Our theoretical and practical validation suggests that our proposal is very efficient and effective in practice, and that it is able to successfully complete Knowledge Graphs of varying natures.
  • Acceso AbiertoTesis Doctoral
    Gestión continua de la trazabilidad en procesos de reproducción asistida
    (2023-07-05) Morales Trujillo, Leticia; Domínguez Mayo, Francisco José; García García, Julián Alberto; Universidad de Sevilla. Departamento de Lenguajes y Sistemas Informáticos
    En la actualidad las empresas se ven obligadas a implementar sistemas de trazabilidad cada vez más sofisticados para cumplir con las exigencias del mercado y garantizar la integridad de sus productos y servicios. Esta tesis doctoral se enfoca en ofrecer una solución para la gestión continua de la trazabilidad en los procesos de tratamientos de reproducción asistida (ART, por sus siglas en inglés). La reproducción asistida es un servicio clínico cada vez más utilizado debido a la postergación de la paternidad y otros problemas relacionados, y el correcto funcionamiento de este servicio clínico es esencial para garantizar la seguridad de la información del paciente y asegurar la prevención de errores. Los laboratorios de reproducción asistida están expuestos a diversos incidentes, siendo la identificación errónea de muestras biológicas uno de los más graves, lo que hace que la gestión continua de la trazabilidad sea un aspecto crítico que requiere de mecanismos adecuados para evitar errores fatales. La gestión de la trazabilidad en los procesos ART implica la interrelación de varios sistemas independientes, lo que se conoce como Sistema de Sistemas (SoS) [1]. Los SoS presentan una serie de características que hacen que su producción y operaciones de estos servicios sean más complejas [2]. Con el objetivo de solucionar estos problemas, después de llevar a cabo un estudio del estado del arte exhaustivo sobre la gestión de la trazabilidad en reproducción asistida, se propone un framework que guíe la producción y operaciones de servicio para la gestión continua de la trazabilidad en procesos ART en el contexto de SoS. Este framework incluye un ciclo de vida completo de un producto software y mecanismos que apoyan su implementación, basados en el paradigma MDE y la tecnología Blockchain cuyo propósito es validar, verificar y monitorizar el registro y control de las entidades que intervienen en los procesos ART. Además, se ofrece un conjunto de herramientas de soporte al framework para simplificar la labor de los ingenieros de software y profesionales sanitarios involucrados en los procesos ART. Este conjunto de herramientas está constituido por una herramienta técnica y una herramienta clínica, que están interrelacionadas de tal manera que la herramienta técnica contribuye a conformar parte de la herramienta clínica y la mantiene actualizada y en correcto funcionamiento para garantizar así que el servicio es de acuerdo a lo esperado. Para validar los resultados de esta tesis, se instanció el framework TRASYS en un caso de uso real en la clínica de reproducción asistida Inebir y se utilizó el conjunto de herramientas TRABIS que da soporte a dicho framework. Los resultados obtenidos muestran numerosos beneficios con el uso de la herramienta clínica, como la reducción del riesgo de errores humanos durante la manipulación, emparejamiento e identificación de muestras biológicas. Además, se automatizan tareas que se realizan de forma manual en los laboratorios, se facilita el trabajo a los profesionales sanitarios de laboratorio de reproducción y se reducen costes y tiempos empleados en la ejecución de los tratamientos de reproducción asistida. En resumen, esta solución es un gran avance en la gestión continua de la trazabilidad en los procesos ART y contribuirá a mejorar la seguridad y eficiencia de los laboratorios de reproducción asistida.
  • Acceso AbiertoTesis Doctoral
    Sistemas de visión y localización aplicados a la seguridad física para una respuesta eficiente
    (2023-06-01) Salazar González, Jose Luis; Álvarez García, Juan Antonio; Soria Morillo, Luis Miguel; Universidad de Sevilla. Departamento de Lenguajes y Sistemas Informáticos
    En esta tesis se presenta una arquitectura software basada en Inteligencia Artificial (IA) para la detección temprana de amenazas en edificios a través de sistemas de Circuito Cerrado de Televisión (CCTV). Esta arquitectura permite detectar un peligro de forma visual y notificar al personal de seguridad inmediatamente sobre la zona afectada y la localización de las personas cercanas a ella. De este modo, se pueden enviar notificaciones automáticas a ´estas con instrucciones para evacuar el edificio de forma segura y ordenada. Para ello, se ha realizado un estudio exhaustivo sobre la detección de armas de fuego mediante el Aprendizaje Profundo, comprobando que el rendimiento predictivo de los métodos presentes en el estado del arte no es suficiente para un escenario real con cámaras CCTV. Con este fin, se recopiló un nuevo conjunto de datos mediante un simulacro que se realizó en la Escuela Técnica Superior de Ingeniería Informática de la Universidad de Sevilla. Este conjunto de datos se hizo público durante la elaboración de esta tesis y es considerado uno de los conjuntos de datos más complejos en detección de armas de fuego por otros estudios [1]. Esto se debe a las oclusiones, objetos similares y otros factores presentes en un entorno real. De igual modo, se examinó la importancia del tamaño de los objetos mostrados en los conjuntos de datos y se logró mejorar el estado del arte en la detección de armas de fuego. Para lograrlo, se propuso un entrenamiento de dos pasos que utiliza el conjunto de datos mencionado anteriormente y otro nuevo conjunto de datos generado sintéticamente que aumenta la aparición de objetos pequeños y oclusiones. El estudio llevado a cabo en este trabajo fue publicado en la revista Neural networks, en diciembre de 2020, con el título de “Real-time gun detection in CCTV: An open problem” [2], alcanzando más de cuarenta citas en 2023. A continuación, se estudiaron otras técnicas de aprendizaje automático, lo cual ocasionó el diseño y presentación de una nueva metodología de aprendizaje semi-supervisado. Esta nueva metodología se fundamenta en un entrenamiento cooperativo condicionado, con el objetivo de mejorar los sistemas actuales de detección de armas de fuego, a través del aprendizaje semi-supervisado de un gran conjunto de datos no-etiquetados recolectados de Instagram con casi medio millón de imágenes. De este modo, se logró superar aprendizajes tradicionales supervisados y arquitecturas del estado del arte en aprendizaje semi-supervisado y auto-supervisado. Asimismo, se han estudiado diversas técnicas relacionadas con la localización en interiores, un problema ya bien conocido. En este contexto, se han implementado técnicas innovadoras que mejoran la puesta en producción de estos sistemas, evitando que reduzcan significativamente la batería de los dispositivos del usuario y manteniendo una precisión equilibrada. Se investigó y desarrolló una localización basada en huellas WiFi mediante técnicas de inteligencia artificial para ello. Se generó un nuevo conjunto de datos de la Escuela Técnica Superior de Ingeniería Informática de la Universidad de Sevilla, con más de siete mil huellas WiFi obtenidas en diferentes trayectos por el edificio de dicha escuela. El estudio y conjunto de datos obtenido con este trabajo fue publicado en la revista IEEE Access, en noviembre de 2019, con el título “Energy-Efficient Indoor Localization WiFi-Fingerprint System: An Experimental Study” [3], alcanzando más de quince citas en 2023. Se han integrado tanto la detección de armas de fuego como la localización en interiores en un sistema general para identificar un peligro de forma precisa en cámaras de vigilancia y localizar de forma energéticamente eficiente a los usuarios del edificio. De este modo, se presenta un sistema general que procesa en tiempo real las alertas de peligro, generadas por el subsistema de identificación en cámaras de seguridad, y localiza a las posibles víctimas del ataque, mediante el subsistema de localización, para evacuar de manera segura antes de que suceda algún tipo de daño. Se pretende mejorar el tiempo de respuesta por parte del personal de seguridad con este sistema general, ya que permite monitorizar múltiples cámaras de seguridad al mismo tiempo y alertar de forma sonora y visual cuando se muestre un arma en una de estas cámaras. Asimismo, al surgir una fuente de peligro, el personal de seguridad podrá observar en tiempo real la ubicación de las víctimas del ataque y confirmar el envío personalizado de rutas, así como notificar, en un futuro, a efectivos para neutralizar la amenaza.
  • Acceso AbiertoTesis Doctoral
    Novel efficient deep learning architectures for time series forecasting
    (2023-02-03) Jiménez Navarro, Manuel Jesús; Martínez Ballesteros, María del Mar; Asencio Cortés, Gualberto; Universidad de Sevilla. Departamento de Lenguajes y Sistemas Informáticos
    This thesis focuses on the study of time series prediction using the technique known as deep learning or neural networks. At the same time, a series of new methodological proposals are made, which improve the efficiency of existing architectures, applied to a series of real data sets that present a challenge today. The technique known as deep learning has gained great popularity in recent years due to its incredible results in areas such as computer vision, natural language processing and time series prediction, among others. This technique is inspired by the functioning of the basic brain cell, the neuron. Neurons are organized in layers forming a neural network, processing the input information and propagating its output to other layers of neurons until the final output is obtained. This technique has been adapted on multiple occasions to the prediction of time series, developing architectures with results that are competitive with the current state of the art. However, although effectiveness has been a great advantage, sometimes these architectures have degraded their efficiency, preventing their application in real scenarios. There are several ways to improve efficiency, reducing some of the aspects that take a large number of resources such as: memory needed to store the architecture, inference time or training time, among others. This thesis focuses on improving training time, since it is the bottleneck when experimenting with new architectures, optimizing existing architectures, or retraining architectures in certain real scenarios. Faced with the problem of efficiency presented by architectures in the field of deep learning or neural networks, four different proposals have been made, whose main objective is to obtain greater efficiency by obtaining equal or superior effectiveness with respect to the architectures used in the comparative analysis. The first of the proposals introduces the idea of incremental learning into the design of the architecture. This idea establishes different objectives to the layers of the neural network, establishing at the beginning a quite simple objective and increasing the difficulty of the objective assigned to the layers. In this way, the learning process is accelerated by being able to quickly learn the concepts needed for the simplest objective and propagate this knowledge to the subsequent layers. The second proposal builds on the first proposal and makes an additional assumption. Instead of the different objectives being optimized without the more complex ones being able to influence the simpler ones, influence is allowed to exist. In this way, the knowledge gained from the simpler objectives can be partially modified by the subsequent more complex objectives. The third proposal arises as an idea from the first two proposals. In this case the fundamental idea is similar, separating responsibility from the prediction process. In this proposal the liability is separated by decomposing the time series using a smoothing process. The first layer, therefore, receives the smoothed input and is responsible for obtaining a partial prediction. The next layer receives the “residue” resulting from subtracting the original version from the smoothed version. The next layer, therefore, repeats the smoothing process and obtains a new partial prediction. After processing all layers, the partial predictions are summed to obtain the final output. The intuitive idea, therefore, is that each layer has a different role, focusing on different aspects of the time series through decomposition. In turn, the layers must collaborate to obtain the final prediction. The fourth and last proposal integrates an attribute selection method into the neural network architecture, with the objective of reducing the dimensionality of the problem and improving the efficiency of attribute selection techniques applied to deep learning. Other attribute selection proposals applied to deep learning have problems of effectiveness, efficiency and/or interpretability. This proposal describes a new layer connected to the input that serves as a gateway to the different input features, thus eliminating the influence of those features that are irrelevant to the problem. Thanks to this layer, the features can be determined efficiently, without decreasing the efficiency of the architecture to a considerable extent. In addition, this layer serves as a window to the features that the architecture has established as irrelevant, giving an idea of the learned behaviour.
  • Acceso AbiertoTesis Doctoral
    Improving data preparation for the application of process mining
    (2023-02-07) Ramos Gutiérrez, Belén; Gómez López, María Teresa; Reina Quintero, Antonia María; Universidad de Sevilla. Departamento de Lenguajes y Sistemas Informáticos
    Immersed in what is already known as the fourth industrial revolution, automation and data exchange are taking on a particularly relevant role in complex environments, such as industrial manufacturing environments or logistics. This digitisation and transition to the Industry 4.0 paradigm is causing experts to start analysing business processes from other perspectives. Consequently, where management and business intelligence used to dominate, process mining appears as a link, trying to build a bridge between both disciplines to unite and improve them. This new perspective on process analysis helps to improve strategic decision making and competitive capabilities. Process mining brings together data and process perspectives in a single discipline that covers the entire spectrum of process management. Through process mining, and based on observations of their actual operations, organisations can understand the state of their operations, detect deviations, and improve their performance based on what they observe. In this way, process mining is an ally, occupying a large part of current academic and industrial research. However, although this discipline is receiving more and more attention, it presents severe application problems when it is implemented in real environments. The variety of input data in terms of form, content, semantics, and levels of abstraction makes the execution of process mining tasks in industry an iterative, tedious, and manual process, requiring multidisciplinary experts with extensive knowledge of the domain, process management, and data processing. Currently, although there are numerous academic proposals, there are no industrial solutions capable of automating these tasks. For this reason, in this thesis by compendium we address the problem of improving business processes in complex environments thanks to the study of the state-of-the-art and a set of proposals that improve relevant aspects in the life cycle of processes, from the creation of logs, log preparation, process quality assessment, and improvement of business processes. Firstly, for this thesis, a systematic study of the literature was carried out in order to gain an in-depth knowledge of the state-of-the-art in this field, as well as the different challenges faced by this discipline. This in-depth analysis has allowed us to detect a number of challenges that have not been addressed or received insufficient attention, of which three have been selected and presented as the objectives of this thesis. The first challenge is related to the assessment of the quality of input data, known as event logs, since the requeriment of the application of techniques for improving the event log must be based on the level of quality of the initial data, which is why this thesis presents a methodology and a set of metrics that support the expert in selecting which technique to apply to the data according to the quality estimation at each moment, another challenge obtained as a result of our analysis of the literature. Likewise, the use of a set of metrics to evaluate the quality of the resulting process models is also proposed, with the aim of assessing whether improvement in the quality of the input data has a direct impact on the final results. The second challenge identified is the need to improve the input data used in the analysis of business processes. As in any data-driven discipline, the quality of the results strongly depends on the quality of the input data, so the second challenge to be addressed is the improvement of the preparation of event logs. The contribution in this area is the application of natural language processing techniques to relabel activities from textual descriptions of process activities, as well as the application of clustering techniques to help simplify the results, generating more understandable models from a human point of view. Finally, the third challenge detected is related to the process optimisation, so we contribute with an approach for the optimisation of resources associated with business processes, which, through the inclusion of decision-making in the creation of flexible processes, enables significant cost reductions. Furthermore, all the proposals made in this thesis are validated and designed in collaboration with experts from different fields of industry and have been evaluated through real case studies in public and private projects in collaboration with the aeronautical industry and the logistics sector.
  • Acceso AbiertoTesis Doctoral
    Gobierno de arquitecturas híbridas REST y GRAPHQL basadas en acuerdos de nivel de servicio
    (2022-12-19) Quiña Mera, Antonio; Fernández Montes, Pablo; García Rodríguez, José María; Universidad de Sevilla. Departamento de Lenguajes y Sistemas Informáticos
    En la actualidad, los proveedores de software tienen el reto de construir soluciones informáticas fiables y eficientes que superen cuestiones técnicas y funcionales esenciales como la redundancia, la recuperación y la escalabilidad para proporcionar servicios en la nube o servicios multi tenencia. La arquitectura de microservicios (MSA, por sus siglas en inglés de MicroService Architecture) representa una clara tendencia para superar estos retos, tanto en el ámbito académico como en el industrial, por lo que, grandes empresas de todo el mundo han evolucionado sus aplicaciones hacia este estilo arquitectónico. En concreto, MSA se compone de pequeñas aplicaciones (microservicios) con una única responsabilidad (requisitos funcionales, no funcionales, o transversales) que pueden desplegarse, escalarse y probarse de forma independiente. Los microservicios se comunican a través de mecanismos ligeros, por lo general utilizando el estilo arquitectónico REST para construir interfaces de programación de aplicaciones (API, por sus siglas en inglés de Application Programming Interface) denominadas API REST. Las organizaciones de software han adoptado rápidamente las APIs REST en el desarrollo de sus aplicaciones tras su creación en el año 2000, y aunque es el paradigma más utilizado en el desarrollo de microservicios, ha presentado algunos problemas de acceso a los datos, tales como: i) La complejidad de la consulta, es decir, REST requiere múltiples peticiones HTTP para obtener múltiples recursos. ii) El over-fetching ocurre cuando la solicitud a una API REST devuelve más datos de los que el cliente necesita. iii) El under-fetching, ocurre cuando un punto final concreto de una API no devuelve suficiente información, y hay que hacer solicitudes adicionales para obtener la información necesaria. En este sentido, se ha observado que en la última década han surgido varias alternativas para acceder a datos desde APIs como SPARQL, Cypher, Gremlin, y GraphQL. En donde, GraphQL ha conseguido una creciente aplicación e interés en la academia e industria; y según varios estudios se muestra como una alternativa para resolver varios problemas encontrados en las API REST tradicionales. En este sentido, en la presente memoria se ha identificado la necesidad, por un lado, de evaluar adecuadamente las ventajas e inconvenientes de utilizar, e integrar la tecnología de GraphQL con la existente REST en una arquitectura híbrida REST/GraphQL. Las cuales se estudiaron mediante la implementación de una API GraphQL pasarela que reutiliza como fuente de datos la infraestructura de las APIs REST existentes; a esta práctica se la conoce comúnmente como envoltorios. Por otro lado, se identificó también la necesidad de fomentar la gobernanza de arquitecturas híbridas REST y GraphQL basadas en acuerdos de nivel de servicio. Debido a lo antes expuesto, este trabajo se estructuró en doce capítulos que se agruparon en seis partes. Parte I: Introducción, contiene el planteamiento del problema y la metodología de investigación. Parte II: Estado de la cuestión, contiene básicamente el estado de GraphQL y los acuerdos de nivel de servicios. Parte III: Propuesta, contiene, por un lado, dos diseños experimentales para comprobar los efectos de las arquitecturas REST, GraphQL, e híbrida REST/GraphQL en la calidad de software. Por otro lado, la descripción de un estándar denominado SLA4GraphQL para modelar y operativizar acuerdos de nivel de servicio (SLA) para APIs GraphQL. Parte IV: Validación, contiene la validación de las propuestas expuestas en la parte III. Parte V: Conclusiones del estudio. Y finalmente Parte VI: Anexos. La importancia de elaborar el estándar SLA4GraphQL para modelar y operativizar SLA ha sido motivado por tres aspectos. Primero, debido a que no existe en la comunidad científica una propuesta para modelar y operativizar acuerdos de nivel de servicio de una manera estandarizada. Segundo la importancia de proponer un ciclo de vida para el desarrollo de APIs basado en SLA. Tercero facilitar una herramienta que valide la especificación de documentos SLA basados en un estándar. La validación del estándar SLA4GraphQL consistió en evaluar la viabilidad, flexibilidad y la idoneidad funcional mediante la instanciación del estándar en varios casos de APIs públicas. El resultado de la validación indica que el estándar SLA4GraphQL es viable, flexible, y tiene una idoneidad del 92.33% para modelar acuerdos de nivel de servicios para APIs GraphQL.
  • Acceso AbiertoTesis Doctoral
    Una propuesta para elaborar paquetes de laboratorio orientados al proceso acorde a las insignias de la ACM en Ingeniería del Software
    (2022-12-21) Guevara Vega, Cathy; Bernárdez Jiménez, Beatriz; Durán Toro, Amador; Universidad de Sevilla. Departamento de Lenguajes y Sistemas Informáticos
    En la actualidad, la comunidad de Ingeniería del Software Empírica (ISE) ha considerado relevante la realización de familias de experimentos como mecanismo para evaluar métodos, técnicas y herramientas que permita conocer la conveniencia de utilizarlos en el proceso de desarrollo de software. Se ha manifestado que la familia de experimentos consiste en un experimento original, seguido de un conjunto de replicaciones que responden a las mismas preguntas de investigación que el experimento original. La replicación de estudios empíricos en Ingeniería del Software (IS), sigue sin atraer la suficiente atención de los investigadores donde se destacan la falta de incentivos y la percepción en los investigadores para llevar a cabo replicaciones a pesar de su importancia como método científico. Para solventar esta situación, han surgido varias iniciativas como la Ciencia Abierta traducida al inglés como Open Science. La Ciencia Abierta promulga que poner a disposición los conjuntos de datos, los análisis y una versión preimpresa de un experimento y su software relacionado, proporciona un valioso conocimiento para el experimentador, además cualquier parte interesada puede auditarlo. Esto da lugar a, que otros investigadores a través de la reutilización de los artefactos bien elaborados y documentados construyan sobre el trabajo anterior nuevo conocimiento que beneficie a la comunidad científica en IS. Un enfoque complementario para aumentar la visibilidad y reproducibilidad de los estudios empíricos específicamente en el contexto de los experimentos controlados es promover la disponibilidad de los Paquetes de Laboratorio. Para los cuál, los artefactos que componen el PL deberían incluir no sólo el conjunto de datos, los análisis y el material experimental, sino también las guías para llevar a cabo una replicación y un resumen de la evolución del experimento en toda la familia. En este sentido, en la presente memoria se ha identificado la necesidad, por un lado, de conocer el estado actual de la publicación, elaboración y evaluación de los PL en la comunidad científica del IS específicamente para experimentos controlados con humanos. Por otro lado, se identificó también la necesidad de fomentar la elaboración del contenido del PL con un adecuado nivel de calidad para alcanzar alguna insignia de la ACM. Debido a lo antes expuesto, este trabajo se estructuró en ocho capítulos y la sección de anexos que se agruparon en seis partes. Parte I: Introducción, contiene el planteamiento del problema y la metodología de investigación. Parte II: Estado de la cuestión, contiene básicamente el estado actual de los PL. Parte III: Propuesta, contiene, por un lado, la especificación del PL, un procedimiento de la elaboración del PL, un modelo de calidad de los PL acorde a las insignias de la ACM y una estructura del contenido del PL para experimentos controlados con humanos en IS. Por otro lado, la construcción de una herramienta “badgeGo” para automatizar el proceso de elaboración de los PL. Parte IV: Validación, contiene la validación de las propuestas expuestas en la parte III. Parte V: Conclusiones del estudio. Y finalmente Parte VI: Anexos. La importancia de elaborar un paquete de laboratorio orientado al proceso acorde a las insignias de la ACM para experimentos controlados con humanos ha sido motivada por tres aspectos. Primero, debido a que no existe en la comunidad científica una propuesta para elaborar un PL con un nivel de calidad que permita alcanzar las insignias de la ACM. Segundo la importancia de proponer un procedimiento, un modelo de calidad y una estructura de un PL que permita alcanzar un nivel de calidad adecuado con respecto al contenido del PL. Tercero facilitar una herramienta “badgeGo” que permita elaborar el contenido del PL y proporcione un porcentaje estimado de completitud del PL para alcanzar alguna insignia de la ACM. La validación de la propuesta consistió en evaluar la viabilidad, flexibilidad y la satisfacción mediante la instanciación de tres PL de un caso de estudio múltiple en el área de IS. El resultado de la validación indica que la propuesta es viable, flexible, y tiene un nivel de satisfacción del 86.09% para la elaboración de un PL acorde a las insignias de la ACM.
  • Acceso AbiertoTesis Doctoral
    Evidencias empíricas en ingeniería de líneas de productos de software: una aproximación en organizaciones sin conocimientos sobre SPLE
    (2022-12-01) Chacón Luna, Ana Eva; Benavides Cuevas, David Felipe; Gutiérrez Fernández, Antonio Manuel; Universidad de Sevilla. Departamento de Lenguajes y Sistemas Informáticos
    La forma en que los productos son elaborados ha cambiado significativamente con el paso del tiempo. De manera particular, la industria del software ha pasado de producir software a la medida a software que soporta la personalización en masa combinada con el uso de plataformas, lo que ha permitido que una tecnología base pueda ser reutilizada. A este paradigma se le conoce como ingeniería de líneas de productos de software "software product line engineering (SPLE)". La adopción del paradigma SPLE permite ahorrar costos, tiempo de desarrollo y al mismo tiempo aumenta la calidad del software, gestionando la variabilidad de una línea de productos de software. Son muchos los estudios reportados en la literatura que abordan temas de ingeniería de líneas de productos de software. También existe un crecimiento de estudios empíricos en SPLE, se cree que este comportamiento responde a que los estudios de evidencia empírica permiten crear conocimiento mediante las experiencias académicas o industriales reportadas. Sin embargo, antes de este trabajo de investigación no existía un estudio que sintetice y evalúe la calidad de los estudios empíricos reportados en SPLE, provocando el desconocimiento de datos sobre experiencias de otros investigadores en evidencias empíricas del área. Además, ninguno de los estudios reportados analiza como las empresas que no han adoptado el paradigma SPLE realizan prácticas que permitan la gestión de la variabilidad en sus productos. En esta tesis, para abordar la falta de estos estudios, primero se presenta una revisión sistemática de la literatura de estudios empíricos en líneas de producto software. El principal objetivo de esta revisión fue evaluar la calidad de los estudios reportados y mostrar las brechas de investigación que motive a los investigadores a centrar sus esfuerzos en las áreas que lo requieran. Como estudio de las prácticas de gestión de la variabilidad se presentan dos estudios fundamentados en evidencias empíricas: un diseño de estudio de caso y una encuesta. Ambos estudios buscan conocer cómo gestionan la variabilidad las empresas. En concreto, pretenden analizar las prácticas que realizan las empresas para la adaptación/personalización de sus productos, se informa de manera que los protocolos usados y las evidencias encontradas puedan ser usadas por la comunidad investigadora para futuras réplicas o estudios. Algunos hallazgos encontrados en la revisión sistemática de la literatura de estudios empíricos en líneas de producto software, destacaron que el interés por este tipo de estudios ha ido en aumento desde 2008. Alrededor del 95,16\% de los estudios abordan aspectos relacionados con la ingeniería de dominio, mientras que la ingeniería de aplicaciones recibe menos atención. También se reportó que la madurez de ejecución del método utilizado en los estudios de caso fue mayor que en los experimentos, sólo el 38,88\% de los experimentos y el 60\% de los Casos de estudio obtuvieron una calificación adecuada al ser evaluados. Por otra parte, los hallazgos encontrados con relación a los estudios empíricos que buscaban conocer cómo gestionan la variabilidad las empresas, reportaron que la variabilidad a nivel de gestión de productos se gestiona parcialmente. Las empresas definen el alcance y suelen tener una plataforma común de donde se derivan más productos. Se destacó que menos del 50\% de las empresas documentan el análisis que realizan para evidenciar las características de sus productos. Sin embargo, realizan análisis para efectuar la reutilización de componentes comunes. Con estas contribuciones, sentamos las bases para futuros estudios empíricos que permitan validar los hallazgos y presentar propuestas de mejoras al framework SPLE y coadyuvar a la transferencia de la investigación académica a entornos industriales.
  • Acceso AbiertoTesis Doctoral
    Evidencias empíricas en el proceso de enseñanza de la programación. Una aproximación usando ALICE en el contexto universitario
    (2022-11-29) Vinueza Morales, Mariuxi; Benavides Cuevas, David Felipe; Borrego Núñez, Diana; Universidad de Sevilla. Departamento de Lenguajes y Sistemas Informáticos
    Aprender a programar es una de las habilidades fundamentales para los estudiantes relacionados con el área de la informática. La comprensión de los conceptos básicos relativos a esta materia son fundamentales en la evolución del aprendizaje. Sin embargo, se han identificado varios problemas en el aprendizaje de la programación como por ejemplo la dificultad en la comprensión y resolución de problemas; y estudiantes poco motivados en el desarrollo de competencias de programación. Para algunos autores es necesario que se analice el problema en el aprendizaje de la programación, debido a un alto porcentaje de abandono por parte de los estudiantes que cursan las asignaturas de programación, Otras investigaciones realizadas sustentan que el uso de un lenguaje de programación tradicional ha presentado deficiencias en el proceso y por consiguiente influye en la falta de capacidad de habilidades de resolución de problemas. Comprender los conceptos computacionales a través de herramientas como un lenguaje de programación educativo, permite a los alumnos novatos de los primeros niveles de las carreras de informática, adquirir conceptos de programación y desarrollar aplicaciones con facilidad. Incorporar una herramienta como parte del diseño pedagógico del proceso de aprendizaje de la programación puede crear algunas ventajas en la actitud del estudiante como incrementar su desempeño, mantenerse motivado y comprometido en aprender conceptos de programación. En este ámbito, surge la necesidad de conocer los lenguajes de programación aplicados en un contexto educativo, por ello, en la presente investigación se realizó un trabajo de revisión de literatura para obtener evidencias empíricas de la aplicación de una herramienta de programación educativas en el proceso de aprendizaje de la programación. Entre los resultados de la revisión sistemática se identificó los métodos utilizados y la calidad del método, el contexto educativo de los trabajos analizados, los objetivos pedagógicos descritos en la literatura y las alternativas para evaluar la eficacia del aprendizaje luego de la aplicación del lenguaje de programación educativo. Adicional a esto, se realizó una intervención empírica donde se hizo un primer trabajo piloto por medio de un experimento para identificar la reacción de los estudiantes en la aplicación de un lenguaje de programación educativo. De los trabajos identificados en la literatura, se detectó que no había suficiente evidencia empírica sobre el software ALICE en el contexto universitario, por este motivo se consideró aplicar ALICE en el experimento con estudiantes novatos en un nivel universitario, los resultados presentan que ALICE tuvo un efecto positivo en la formación de competencias de los estudiantes de educación superior, además se evidencia que hay un incremento en la asimilación de conceptos de programación y una reducción de fracasos en el aprendizaje. Por otra parte, la mayoría de los trabajos descritos en la literatura se realizó en sociedades WEIRD, occidentales, educadas, industrializadas, ricas y democráticas (Western, Educated, Industrialized, Rich and Democratic Societies), lo que representa una realidad distinta en países que no pertenecen a la comunidad (WEIRD) como es el caso de Ecuador, donde se realizó la investigación de la presente tesis. Concretamente las contribuciones de la tesis se detallan a continuación: Evidencia empírica del uso de lenguajes de programación: sobre este tema se realizó una evaluación de artículos que utilizan un lenguaje de programación educativo en el proceso de aprendizaje de la programación, de los artículos evaluados se encontró información de los objetivos pedagógicos, el contexto educativo, el método empírico y la calidad del método y el lenguaje de programación educativo usado en cada trabajo. Uso de ALICE como herramienta para aprender a programar: sobre este tema, se analizaron varios artículos enfocados únicamente en ALICE como herramienta para aprender a programar. Los artículos examinados muestran información relevante, como el nivel educativo, lugar, objetivo del estudio y los resultados alcanzados. Efectividad en la aplicación de ALICE en contexto universitario: en este tema, se aplicó el software ALICE en el proceso de aprendizaje de la programación en un contexto universitario, se comprobó la eficacia de la herramienta, es decir ayudó a que los estudiantes aprendan los conceptos básicos de programación orientada a objetos.
  • Acceso AbiertoTesis Doctoral
    Factores para la adopción de soluciones basadas en software libre
    (2022-11-29) Rea Sánchez, Víctor; Benavides Cuevas, David Felipe; Neira Ayuso, Pablo; Universidad de Sevilla. Departamento de Lenguajes y Sistemas Informáticos
    Hoy en día, el software libre o de código abierto (FLOSS) se está convirtiendo en una opción estratégica para cualquier organización del sector público y privado. Algunos países han optado por implantar políticas para el uso de FLOSS debido a la flexibilidad que este tipo de tecnología ofrece. El alcance de FLOSS tiene muchos beneficios y es por eso que la visión de muchos gobiernos y organizaciones se han enfocado en su adopción. La falta de directrices bien definidas para los responsables de un área de tecnología de la información (TI) puede poner en peligro el proceso de adopción FLOSS. Los procedimientos de adopción FLOSS se desarrollan de manera personalizada en cada organización, lo que lleva a posibles situaciones de reinvención de la rueda. Es necesario definir bien los pasos a seguir en un proceso de adopción FLOSS, para evitar una selección inadecuada del software en cuestión. En primer lugar, es crucial identificar los factores que influyen y determinan la adopción, para que sean una base determinante para el diseño de una metodología que los oriente en el proceso. Para alcanzar este punto, analizamos la literatura existente mediante metodologías de revisión sistemática, para hacer visibles los factores técnicos, organizacionales y económicos que deben evaluarse en el proceso de adopción. Los resultados obtenidos con la revisión de la literatura, demostraron la incidencia que tienen estos factores al momento de adoptar FLOSS. En particular, se identificaron 22 factores que fueron clasificados para una mejor interpretación de los resultados. Un grupo de factores llamados “organizacionales” se consideró el más relevante, ya que el 93% de los trabajos seleccionados se refieren a ellos. Otro grupo de factores llamados “tecnológicos” consiguieron el 91% y los factores “económicos” alcanzaron el 61% de ser mencionados en los trabajos de investigación seleccionados. Con los factores identificados, un nivel de granularidad más detallado por factor fue necesario descubrir para obtener características relevantes en cada artículo de investigación. A estas características las denominamos subfactores, un total de 61 subfactores fueron identificados. Asimismo, se definieron indicadores de medición para evaluar estos factores y subfactores a través de una herramienta prototipo. En este contexto, se propone una guía que permita orientar a los responsables de un área de tecnología de la información a evaluar un FLOSS de una manera ágil y sencilla. %Para cumplir con este objetivo, se definieron indicadores de medición para evaluar factores con un nivel de granularidad adecuado, así como establecer a las personas involucradas en este proceso de evaluación. Esta herramienta prototipo ofrece tres recomendaciones en general que dependen de la valoración realizada en el proceso de adopción FLOSS. El desarrollo de un prototipo para agilizar el proceso de evaluación FLOSS, es un complemento importante de esta propuesta, debido a la flexibilidad que esta herramienta ofrece a los responsables de la evaluación del software. Con el objetivo de validar preliminarmente la elaboración de GUIOS, hemos diseñado un piloto de caso de estudio para aplicarlo en la Universidad Estatal de Milagro. Los resultados obtenidos servirán para proponer mejoras a futuro en la guía. Esta tesis abre una línea de investigación en el futuro, al proponer una guía para el proceso de adopción FLOSS. También es importante considerar la exploración de otros métodos y técnicas de evaluación para ofrecer un proceso de adopción aún más flexible y preciso. En la herramienta prototipo se deberán de incorporar nuevas funcionalidades que permitan mayor flexibilidad en el uso del software y un nivel de granulidaridad óptimo. Las contribuciones de esta tesis se resumen a continuación: Identificación de dimensiones, factores y subfactores: con base a la identificación de las dimensiones, factores y subfactores que determinan la adopción de FLOSS a través de la literatura existente. El objetivo de esta contribución, es obtener criterios de medición que serán incluidos en la guía para el proceso de evaluación del FLOSS a adoptar. Definición de indicadores para evaluar la importancia de factores y subfactores: los indicadores tienen como objetivo caracterizar la importancia de los factores en el contexto de la adopción de FLOSS. Se definieron cinco indicadores de importancia, donde se propone una metodología basada en técnicas de evaluación cuantitativa y cualitativa. Elaboración y aplicación de una encuesta a expertos sobre la adopción de FLOSS con preguntas de respuestas cerradas. Esta encuesta tuvo por objetivo conocer la importancia que los expertos le otorgan a los subfactores identificados en este trabajo de investigación. Adicionalmente, a través de esta encuesta los expertos podían retroalimentar acerca de nuevos subfactores. Diseño de GUIOS: es una guía para evaluar factores que repercuten en la adopción de FLOSS en una organización. Esta guía tiene por objeto asistir a los responsables de administrar los recursos tecnológicos de las organizaciones en la idoneidad de la adopción del software. Construcción de GUIOS PRO: es una aplicación prototipo multi-plataforma, caracterizada a través de un toolkit de Python llamado Flexx versión 0.80. Esta tecnología es un FLOSS distribuido bajo la licencia AGPL3. El objetivo de GUIOS PRO es automatizar los pasos de GUIOS. Diseño de un piloto de caso de estudio: es una validación preliminar diseñada para verificar el comportamiento de la herramienta prototipo GUIOS PRO. Este piloto fue aplicado por un especialista en el departamento de TIC de una universidad pública en el Ecuador.
  • Acceso AbiertoTesis Doctoral
    On the enhancement of Big Data Pipelines through Data Preparation, Data Quality, and the distribution of Optimisation Problems
    (2022-11-28) Valencia Parra, Álvaro; Gómez López, María Teresa; Varela Vaca, Ángel Jesús; Universidad de Sevilla. Departamento de Lenguajes y Sistemas Informáticos
    Nowadays, data are fundamental for companies, providing operational support by facilitating daily transactions. Data has also become the cornerstone of strategic decision-making processes in businesses. For this purpose, there are numerous techniques that allow to extract knowledge and value from data. For example, optimisation algorithms excel at supporting decision-making processes to improve the use of resources, time and costs in the organisation. In the current industrial context, organisations usually rely on business processes to orchestrate their daily activities while collecting large amounts of information from heterogeneous sources. Therefore, the support of Big Data technologies (which are based on distributed environments) is required given the volume, variety and speed of data. Then, in order to extract value from the data, a set of techniques or activities is applied in an orderly way and at different stages. This set of techniques or activities, which facilitate the acquisition, preparation, and analysis of data, is known in the literature as Big Data pipelines. In this thesis, the improvement of three stages of the Big Data pipelines is tackled: Data Preparation, Data Quality assessment, and Data Analysis. These improvements can be addressed from an individual perspective, by focussing on each stage, or from a more complex and global perspective, implying the coordination of these stages to create data workflows. The first stage to improve is the Data Preparation by supporting the preparation of data with complex structures (i.e., data with various levels of nested structures, such as arrays). Shortcomings have been found in the literature and current technologies for transforming complex data in a simple way. Therefore, this thesis aims to improve the Data Preparation stage through Domain-Specific Languages (DSLs). Specifically, two DSLs are proposed for different use cases. While one of them is a general-purpose Data Transformation language, the other is a DSL aimed at extracting event logs in a standard format for process mining algorithms. The second area for improvement is related to the assessment of Data Quality. Depending on the type of Data Analysis algorithm, poor-quality data can seriously skew the results. A clear example are optimisation algorithms. If the data are not sufficiently accurate and complete, the search space can be severely affected. Therefore, this thesis formulates a methodology for modelling Data Quality rules adjusted to the context of use, as well as a tool that facilitates the automation of their assessment. This allows to discard the data that do not meet the quality criteria defined by the organisation. In addition, the proposal includes a framework that helps to select actions to improve the usability of the data. The third and last proposal involves the Data Analysis stage. In this case, this thesis faces the challenge of supporting the use of optimisation problems in Big Data pipelines. There is a lack of methodological solutions that allow computing exhaustive optimisation problems in distributed environments (i.e., those optimisation problems that guarantee the finding of an optimal solution by exploring the whole search space). The resolution of this type of problem in the Big Data context is computationally complex, and can be NP-complete. This is caused by two different factors. On the one hand, the search space can increase significantly as the amount of data to be processed by the optimisation algorithms increases. This challenge is addressed through a technique to generate and group problems with distributed data. On the other hand, processing optimisation problems with complex models and large search spaces in distributed environments is not trivial. Therefore, a proposal is presented for a particular case in this type of scenario. As a result, this thesis develops methodologies that have been published in scientific journals and conferences.The methodologies have been implemented in software tools that are integrated with the Apache Spark data processing engine. The solutions have been validated through tests and use cases with real datasets.
  • Acceso AbiertoTesis Doctoral
    MOMIC: a Multi-Omics Pipeline for data analysis, integration and interpretation
    (2022-11-10) Madrid Márquez, Laura; Rubio Escudero, Cristina; Pontes Balanza, Beatriz; Sáez Goñi, María Eugenia; Universidad de Sevilla. Departamento de Lenguajes y Sistemas Informáticos
    El éxito y la adaptación masiva de técnicas de high-throughput en las ciencias ómicas ha impulsado la biología de sistemas, ofreciendo un escenario excepcional para derivar conocimiento biológico significativo a través de la integración de los componentes de los sistemas vivos y, en particular, de los seres humanos. La plataforma de software desarrollada durante esta tesis, MOMIC, representa un esfuerzo por reunir protocolos y mejores prácticas para el análisis de datos, llenando el vacío de herramientas potentes capaces de combinar datos de diferentes niveles moleculares. MOMIC ha sido validado extensamente con diversos conjuntos de datos recopilados durante el proyecto financiado por la InnovativeMedicine Initiative (IMI) ADAPTED, un proyecto internacional para descifrar el papel de la apolipoproteína E (APOE) en la enfermedad de Alzheimer, la principal causa de demencia en todo el mundo. Las pipelines incluidas en MOMIC están escritas en lenguaje R y Bash, desarrolladas como Jupyter notebooks sobre JupyterHub y todo empaquetado con Docker. Se distribuye como un archivo docker-compose que contiene las instrucciones necesarias para crear automáticamente un servidor JupyterHub con el código fuente y todas las bibliotecas y software de terceros necesarios. MOMIC actualmente compila protocolos para whole genome SNP (GWAS), expresión de ARNm (tanto array como RNAseq) y proteómica, así como meta-análisis y análisis integrativo para combinar datos de di↵erentes estudios y niveles moleculares. Análisis de enriquecimiento y técnicas de visualización han sido desarrollados también para facilitar la interpretación de resultados. Cada uno de los protocolos propuestos se desarrollan en diferentes plantillas de Jupyter que guían al usuario a través de las tareas de preprocesamiento y transformación de los datos, y realización del análisis en particular. Este software es fácilmente personalizable, permitiendo al usuario final modificar el código fuente para adecuarlo a sus necesidades. Por otro lado, y sirviendo como forma de validación de MOMIC, se ha llevado a cabo una intensa investigación con esta plataforma sobre la enfermedad de Alzheimer, una de las formas más comunes de demencia, que actualmente afecta a 35 millones de personas en todo el mundo. El alelo 4 de la apolipoproteína E (APOE) es el principal factor de riesgo para la enfermedad de Alzheimer de inicio tardío (late-onset AD, LOAD), aunque su papel en la patogénesis de la enfermedad sigue siendo un misterio. El consorcio ADAPTED, en el cual participé activamente en el análisis de datos, tenía como objetivo una mejor comprensión de los efectos específicos de APOE. Dentro de este proyecto, hemos analizado e integrado datos de múltiples tecnologías ómicas derivadas de plasma y tejido cerebral de pacientes con Alzheimer y sujetos de control estratificados por haplotipo APOE (APOE2, APOE3 y APOE4). Concretamente, se realizaron y combinaron sistemáticamente estudios de asociación del genoma completo (GWAS), con ARNm diferencial (bulk y single-nuclei) y análisis de expresión de proteínas con el objetivo de identificar señales consistentes en diferentes niveles moleculares.
  • Acceso AbiertoTesis Doctoral
    Automated Test Case Generation for RESTful Web APIs: Towards a Testing as a Service Model
    (2022-07-14) Martín López, Alberto; Ruiz Cortés, Antonio; Segura Rueda, Sergio; Universidad de Sevilla. Departamento de Lenguajes y Sistemas Informáticos
    Web Application Programming Interfaces (APIs) allow software systems to interact with each other over the network. Web APIs are the cornerstone of software integration since they provide a uniform and standard way to access data and functionality over the Internet, via HTTP interactions. Modern web APIs typically follow the REpresentational State Transfer (REST) architectural style, being referred to as RESTful web APIs. RESTful web APIs are widespread in industry. Many companies such as Google, Twitter or Netflix use them to expose their services to other third-party applications and end users, as well as to integrate their own services together. Given the pervasiveness of web APIs, and especially RESTful APIs, testing them thoroughly is critical, as many systems depend on them. Manual testing of APIs is a common practice in industry, nonetheless, it is time-consuming and error-prone. RESTful API testing automation has become a popular topic in both academia and industry in recent years. Academia has focused its research mainly on the automated generation of test cases, mostly employing (pseudo-)random techniques to derive test cases from the API specification. Industry, however, is primarily concerned with the provision of usable tools that help design test cases more easily (although still manually) and automate their execution. In parallel, some companies such as RapidAPI and Sauce Labs are shifting towards the Testing as a Service (TaaS) model, where they offer continuous (24/7) testing and monitoring services of web APIs, according to different pricing plans. As a result, there is a clear gap between research approaches— concentrated on automated test case generation, but with evaluation results limited to lab settings—and industrial solutions—focused on automated test case execution. The main goal of this dissertation is to provide solutions for the automated testing of RESTful APIs, with a focus on advancing the state of the art driven by industrial needs. To this end, we present a set of algorithms, techniques and tools to automate the whole testing process, including test case generation, execution and reporting, and we evaluate the proposed approaches in real-world scenarios, including commercial APIs used by millions of users. In particular, we make the following contributions: 1) we present innovative test case generation techniques for RESTful APIs such as constraint-based testing, enabling the testing of highly constrained APIs such as YouTube, Stripe and Yelp; 2) we integrate this and other techniques into RESTest, a black-box testing framework for RESTful APIs supporting varied test case and test data generation strategies; 3) we reduce the need of human intervention when testing APIs by leveraging artificial intelligence techniques; and 4) we propose a comprehensive testing ecosystem based on RESTest that enables the automated and continuous testing of APIs, shifting the model of TaaS currently offered in industry to a new level. With this ecosystem, we have found over 200 bugs in a highly automated fashion in popular APIs such as Spotify, Marvel and Foursquare. What is more, our reports have guided developers on improving their APIs, including bug fixes and documentation updates in the APIs of Amadeus and YouTube. All in all, this dissertation establishes novel approaches to make the testing of RESTful APIs more automated and thorough, and it paves the way towards a TaaS model where APIs are continuously tested and monitored, improving the overall reliability of service-oriented systems.
  • Acceso AbiertoTesis Doctoral
    Predicción de series temporales en streaming mediante Deep Learning
    (2022-06-27) Lara Benítez, Pedro; Luna Romera, José María; Riquelme Santos, José Cristóbal; Universidad de Sevilla. Departamento de Lenguajes y Sistemas Informáticos
    Esta tesis, presentada como un compendio de artículos de investigación, aborda la predicción de series temporales en un entorno de streaming mediante técnicas de deep learning. En primer lugar, se aporta un innovador framework asíncrono para la aplicación de modelos deep learning a datos provenientes de un stream a gran velocidad. Además, se realiza un exhaustivo estudio sobre la aplicabilidad de los métodos de deep learning para el problema de predicción de series temporales. La minería de datos en streaming es un problema fundamental aplicable a una gran multitud de campos donde los datos son generados secuencialmente a gran velocidad. Los requisitos de velocidad que caracterizan este escenario no permiten el uso de técnicas de deep learning, las cuales presentan un gran coste computacional. En esta tesis presentamos una solución a este problema: un framework asíncrono (ADLStream) que separa las fases de entrenamiento y predicción de los modelos de entrenamiento, aliviando así el coste computacional de los modelos y permitiéndoles adaptarse a la evolución de los datos a lo largo del tiempo. Esta propuesta ha sido evaluada experimentalmente usando diversos conjuntos de datos de clasificación de series temporales y comparándolo con los modelos del estado del arte para la minería de datos en streaming, como son los árboles de Hoeffding, detectores de deriva o modelos ensembles. Los resultados demostraron la mejora en el rendimiento conseguida con nuestra propuesta. La predicción de series temporales es uno de los problemas de aprendizaje automático y estadísticos más comunes, engloba todas los datos que tienen una componente temporal, presentes en problemas meteorológicos, energéticos, médicos, logísticos o financiarios. La irrupción del aprendizaje profundo (deep learning) como estado del arte en la minería de datos, ha beneficiado a la investigación relacionada con la predicción de series temporales. Por ello, en esta tesis presentamos el estudio experimental más completo sobre la aplicabilidad de deep learning para la predicción de series temporales. Más de 50000 series temporales fueron usadas para este estudio, donde entrenamos y evaluamos un total de 3800 modelos de diferentes arquitecturas: perceptrón multicapa (MLP), red neuronal recurrente de Elman (ERNN), red recurrente LSTM (long-short term memory), red recurrente GRU (gated recurrent unit), red recurrente ESN (echo state network), red neuronal convolucional (CNN), red convolucional temporal (TCN) y el Transformer. Los resultados de estos experimentos muestran que las redes LSTM y CNN son las mejores alternativas. La LSTM consiguió obtener las predicciones más acertadas, mientras que las CNN lograron un rendimiento comparable pero con una variabilidad menor y un menor coste computacional. La última contribución presentada en esta tesis tiene como objetivo combinar las dos principales temáticas, tanto la predicción de series temporales como la minería de datos en streaming, en una aplicación real como es la predicción de la irradiancia solar. La crisis climática y energética ha acelerado la búsqueda de fuentes de energías renovables, y concretamente la energía solar, ya que se presenta como una de las fuentes más prometedoras. Para la gestión de los parques fotovoltaicos, es necesario llevar a cabo una correcta balanceo de carga, lo cual necesita de una predicción acertada de la irradiancia a corto plazo. En esta tesis presentamos una solución basada en el framework ADLStream y en modelos de deep learning para predecir la irradiancia solar de los paneles solares de un parque fotovoltaico canadiense en streaming. Los resultados obtenidos confirman la idoneidad de esta solución, obteniendo predicciones muy acertadas y demostrando una gran capacidad de adaptación a la evolución de los datos del stream.
  • Acceso AbiertoTesis Doctoral
    Deep learning for enhancing object detection in autonomous driving
    (2022-06-20) Carranza García, Manuel; Riquelme Santos, José Cristóbal; García Gutiérrez, Jorge; Universidad de Sevilla. Departamento de Lenguajes y Sistemas Informáticos
    Autonomous driving is one of the most important technological challenges of this century. Its development will revolutionize mobility and solve many problems associated with it. The popularity of self-driving vehicles is growing, given their great potential to improve relevant aspects such as road safety or reducing traffic and pollution. Despite the recent advances in artificial intelligence, there are still many challenges to be solved for autonomous vehicles to become completely reliable and safe. Among them, the correct perception of the environment is fundamental. The vehicles have to detect the different elements involved in traffic and predict their movement precisely, robustly, and in real-time, which increases the complexity of the problem. In this Ph.D. dissertation, presented as a compendium of research articles, we explore new approaches to improve the perception systems of autonomous vehicles using onboard sensors’ data. Specifically, we develop novel deep learning techniques to enhance the performance in the object detection task, approaching the problem from different perspectives. The presented studies use real datasets from autonomous driving companies such asWaymo or Motional, which were recently shared to enable researchers to contribute to the progress of this technology. First, we conduct an experimental review of deep learning detectors for autonomous driving. This work analyzes the speed/accuracy trade-off of thirty different detectors, which is essential in this real-time application. This evaluation allows identifying the most suitable models in this context and possible lines of research to be addressed. Second, we design a detector that is specifically adapted to the particularities of this scenario. We develop a novel anchor optimization method, based on evolutionary algorithms, that considers the perspective of the vehicle’s cameras. Furthermore, different learning strategies are explored to deal with the class imbalance issues. For this purpose, we implement a more effective loss function for the network and an ensemble model. The proposed modifications provide a significant improvement compared to the default generic configuration without increasing the computational cost required in inference. Third, we develop an efficient RGB and LiDAR data fusion architecture to build a more robust detection system. Our proposal integrates a neural network for LiDAR depth completion into the detection pipeline. With this network, the resolution of depth data is improved using transfer learning, resulting in a more effective fusion with RGB images. The proposed method increases the detection precision under diverse lighting conditions, especially at night, compared to other approaches that use classical algorithms to upsample the sparse LiDAR projections. Finally, we implement an enhanced detection architecture to fully leverage the temporal information naturally present in the recorded LiDAR data. Our approach uses a Transformer layer with an attention mechanism that captures spatio-temporal dependencies in the sequential data, thus achieving better accuracy in object detection.