Arquitecturas Software y Variabilidad
URI permanente para esta colección:
Artículos en la categoría Arquitecturas Software y Variabilidad publicados en las Actas de las XXVI Jornadas de Ingeniería del Software y Bases de Datos (JISBD 2022).
Notificar un error en esta colección
Examinar
Envíos recientes
Artículo Advisory. Una herramienta para identificar los riesgos de seguridadMárquez Trujillo, Antonio Germán; Varela Vaca, Ángel Jesús; Galindo, José A.. Actas de las XXVI Jornadas de Ingeniería del Software y Bases de Datos (JISBD 2022), 2022-09-05.En el desarrollo de un proyecto software actual es frecuente delegar parte de la funcionalidad en librerías o dependencias de terceros. Este uso extensivo de dependencias puede introducir problemas de seguridad en el software que estamos desarrollando y que cada vez afecta a más proyectos software dada la necesidad de conocer cada una de las vulnerabilidades de estas dependencias. Para aliviar este problema, presentamos Advisory, una herramienta que aplica técnicas de análisis automático de la variabilidad al análisis de seguridad de proyectos software.Artículo Componente para la visualización de un data warehouse espacio-temporal en un Sistema de Información GeográficaLamas Sardiña, Victor Juan; Cortiñas, Alejandro; Rodríguez Luaces, Miguel; Pedreira, Oscar. Actas de las XXVI Jornadas de Ingeniería del Software y Bases de Datos (JISBD 2022), 2022-09-05.En el Laboratorio de Bases de Datos de la Universidade da Coruña contamos con una línea de producto software para la creación de Sistemas de Información Geográfica (SIG) en web. En el caso de que los datos se encuentren disponibles en un data warehouse, la funcionalidad actual de la línea de productos no es suficiente. Por lo tanto, es necesario crear un componente encargado de conectar el data warehouse con el interfaz de usuario proporcionando la funcionalidad habitual (filtros y agregaciones en las diferentes dimensiones del data warehouse). Dado que integrar la funcionalidad y la variabilidad de la exploración de un data warehouse en una línea de producto software es complicado, hemos optado en una primera aproximación por definir un componente de exploración en un SIG de cualquier data warehouse. El componente recibe, mediante un lenguaje específico de dominio, una descripción del modelo de datos (esto es, los hechos y la jerarquía de dimensiones, la manera en la que se relacionan cada una de ellas, y la manera de recuperar sus valores) e independiza a los componentes del interfaz de usuario de la gestión de la comunicación con el data warehouse.Artículo Análisis de la gestión de variabilidad en la empresaChacón-Luna, Ana Eva; Gutiérrez-Fernández, Antonio Manuel; Benavides Cuevas, David Felipe; Fuentes Fernandez, Lidia. Actas de las XXVI Jornadas de Ingeniería del Software y Bases de Datos (JISBD 2022), 2022-09-05.Las líneas de productos de software (Software Product Line, SPL) permiten la reutilización sistemática dentro de una organización, lo que permite reducir los costes, los esfuerzos, el tiempo de desarrollo y el número medio de defectos por producto. Sin embargo, no existen evidencias empíricas sobre la adopción de las SPL en las empresas de desarrollo software, para la personalización de sus productos. Para evaluar la necesidad de las tecnologías SPL en el desarrollo software real es necesario analizar las prácticas de variabilidad en las empresas para desarrollar sus productos, señalando las fortalezas y debilidades de sus enfoques. Para ello, presentamos el diseño de un estudio para evaluar cómo las empresas realizan la gestión de la variabilidad. Partimos de la base de que la mayoría de las empresas gestionan la variabilidad, pero no muchas de ellas conocen las líneas de productos de software.Resumen Onboarding in Software Product Lines: Concept Maps as Welcome GuidesAzanza, Maider; Irastorza, Arantza; Medeiros, Raul; Díaz García, Óscar. Actas de las XXVI Jornadas de Ingeniería del Software y Bases de Datos (JISBD 2022), 2022-09-05.With a volatile labour and technological market, onboarding is becoming increasingly important. The process of incorporating a new developer, a.k.a. the newcomer, into a software development team is reckoned to be lengthy, frustrating and expensive. Newcomers face personal, interpersonal, process and technical barriers during their incorporation, which, in turn, aects the overall productivity of the whole team. This problem exacerbates for Software Product Lines (SPLs), where their size and variability combine to make onboarding even more challenging, even more so for developers that are transferred from the Application Engineering team into the Domain Engineering team, who will be our target newcomers. This work presents concept maps on the role of sensemaking scaolds to help to introduce these newcomers into the SPL domain. Concept maps, used as knowledge visualisation tools, have been proven to be helpful for meaningful learning. Our main insight is to capture concepts of the SPL domain and their interrelationships in a concept map, and then, present them incrementally, helping newcomers grasp the SPL and aiding them in exploring it in a guided manner while avoiding information overload. This work's contributions are four-fold. First, concept maps are proposed as a representation to introduce newcomers into the SPL domain. Second, concept maps are presented as the means for a guided exploration of the SPL core assets. Third, a feature-driven concept map construction process is introduced. Last, the usefulness of concept maps as guides for SPL onboarding is tested through a formative evaluation. Link to the online demo: https://rebrand.ly/wacline-cmapArtículo DSL para la migración de bases de datos legacy en el marco de una LPSRamos-Vidal, Delfina; Cortiñas, Alejandro; Rodríguez Luaces, Miguel; Pedreira, Oscar; Saavedra Places, Ángeles. Actas de las XXVI Jornadas de Ingeniería del Software y Bases de Datos (JISBD 2022), 2022-09-05.En este artículo presentamos una propuesta de lenguaje específico de dominio que facilita la migración de datos desde un sistema de información legacy a un producto generado por una Línea de Producto Software. Para ello, el lenguaje permite establecer el mapeo y transformaciones necesarias entre las dos bases de datos, para posteriormente generar el código necesario para llevar a cabo la migración de cada producto.Artículo Alta disponibilidad en una arquitectura de microservicios para IoTMena, Manel; Criado, Javier; Iribarne, Luis; Corral, Antonio. Actas de las XXVI Jornadas de Ingeniería del Software y Bases de Datos (JISBD 2022), 2022-09-05.En los últimos años, el uso de dispositivos IoT ha crecido exponencialmente. A la hora de trabajar con ellos, nos encontramos con una serie de problemas difíciles de solucionar. Por un lado, el simple hecho de comunicarse con esos dispositivos puede resultar problemático ya que pueden utilizar diferentes tipos de tecnologías con respecto a la comunicación. Por otro lado, este tipo de dispositivos suele tener como objetivo realizar su función utilizando la menor energía posible, por lo que presentan ciertas limitaciones en cuanto a rendimiento. Tratar de trabajar con estos dispositivos en entornos de alta disponibilidad se vuelve difícil debido a esas restricciones, ya que se convierten en cuellos de botella dentro del entorno de ejecución. En este artículo presentamos la evolución de Digital Dice, una arquitectura de microservicios para el manejo de dispositivos IoT y sistemas ciberfísicos, y las estrategias que hemos utilizado para intentar alcanzar la meta de la alta disponibilidad.Artículo Simplificando la importación de datos de OpenStreetMap a bases de datos relacionales mediante un lenguaje específico de dominioGayoso, David; Cortiñas, Alejandro; Rodríguez Luaces, Miguel; Pedreira, Oscar. Actas de las XXVI Jornadas de Ingeniería del Software y Bases de Datos (JISBD 2022), 2022-09-05.Hay datos geolocalizados que se utilizan de manera habitual en los Sistemas de Información Geográfica, como pueden ser las carreteras, los límites administrativos o las ubicaciones de los hospitales de una región. Una de las fuentes más utilizadas para obtener esos datos es OpenStreetMap (OSM). El proceso de importación de datos desde OSM a una base de datos no es sencillo, ya que es necesario realizar un filtrado y transformación de los datos para recuperar únicamente aquellos que nos interesen, y en el formato correcto conforme a nuestro modelo. En este artículo corto se introduce un lenguaje específico de dominio que permite realizar este proceso automáticamente.Artículo Un Servicio de Descubrimiento Proactivo para la Web de las CosasLlopis Expósito, Juan Alberto; Criado, Javier; Iribarne, Luis; Fernández-García, Antonio Jesús. Actas de las XXVI Jornadas de Ingeniería del Software y Bases de Datos (JISBD 2022), 2022-09-05.Un problema actual en el Internet de las Cosas (IoT) es la heterogeneidad de los dispositivos. Dispositivos que realizan la misma tarea funcionan y se comunican de distinta forma. Para evitar este problema, la Web de las Cosas (WoT), una iniciativa apoyada por el World Wide Web Consortium (W3C), tiene como objetivo homogeneizar el acceso a los dispositivos. Para adaptar los dispositivos IoT a la WoT es necesario que cada dispositivo est+AOk definido por un documento llamado Thing Description (TD). Además, una vez adaptados los dispositivos a la WoT, es necesario disponer de un mecanismo para realizar operaciones de registro y de búsqueda. Tanto la adaptación de IoT a WoT como la búsqueda y registro de dispositivos requiere de un proceso manual, y en entornos con un gran volumen de dispositivos, además requiere de una gran cantidad de recursos. Por lo tanto, se hace necesaria una manera automática de buscar, registrar y adaptar los dispositivos IoT a WoT. En este trabajo, presentamos un servicio de descubrimiento proactivo, capaz de localizar los dispositivos desplegados en la misma red y de adaptar los dispositivos IoT a WoT.Artículo Una Línea de Productos Software para la Visualización de DatosHorcas Aguilera, José Miguel; Galindo, José A.; Benavides Cuevas, David Felipe. Actas de las XXVI Jornadas de Ingeniería del Software y Bases de Datos (JISBD 2022), 2022-09-05.La visualización de datos expone una gran cantidad de variabilidad a nivel de diseño de gráficos y su implementación con las herramientas existentes. Sin embargo, no todas las configuraciones son igual de efectivas para representar datos. Nosotros proponemos una línea de productos software (SPL) para la visualización de datos que sintetiza la variabilidad y los principios y buenas prácticas de diseño en visualización de datos, modelando aquellas opciones recomendadas por los expertos en visualización y reduciendo la variabilidad expuesta por las librerías software existentes. Este trabajo presenta la implementación de la SPL de visualización de datos. Concretamente se presentan los artefactos desarrollados en la SPL, incluyendo el modelo de variabilidad y la implementación de las visualizaciones usando plantillas variables, y se muestra la viabilidad de nuestra propuesta con la que se abre una nueva línea de investigación donde se aplican técnicas de variabilidad a la visualización de datos.Artículo Composición Categórica de Análisis Automáticos para Líneas de Productos ExtendidasMunoz Guerra, Daniel Jesus; Pinto, Mónica; Fuentes Fernandez, Lidia. Actas de las XXVI Jornadas de Ingeniería del Software y Bases de Datos (JISBD 2022), 2022-09-05.Para las +AFw-emph+AHs-Líneas de Productos Software+AH0 (LPS) se necesitan operaciones que nos permitan analizar dicho software y el reúso de sus características. Los razonadores son herramientas que automatizan estas operaciones. Desde la extensión de LPS con diversos tipos atributos de calidad, el tipo y número de operaciones de razonamiento ha crecido más rápido que el desarrollo de los respectivos razonadores. En consecuencia, las operaciones de análisis extendido son parcialmente soportadas, en el mejor de los casos, por los razonadores estado-del-arte. Para este desafío, podemos aplicar un enfoque de +AFw-emph+AHs-Teoría de Categorías+AH0 (TC)+ADs el álgebra abstracta que capta los componentes comunes de estructuras aparentemente diferentes. Basándonos en la flexibilidad de sus razonamientos, proponemos una metodología donde las operaciones extendidas sean composiciones configurables de un conjunto de operaciones reusables independientes. Por tanto, buscamos definir e implementar un framework de razonamiento funcional de LPS extendidas basado en TC.Artículo Prototipo Para la Generación, Prueba Y Despliegue Automático de Sitios Web Con WordPress Usando Líneas de Producto Software (WebSPL)Zamudio, José A.; Romero, David; Galindo, José A.; Benavides Cuevas, David Felipe. Actas de las XXVI Jornadas de Ingeniería del Software y Bases de Datos (JISBD 2022), 2022-09-05.Las líneas de producto software (SPL) proponen soluciones, métodos y técnicas para la producción y construcción productos software que comparten características pudiendo mantener ciertas diferencias entre s+AO0. Una parte importante del paradigma de las SPL es definir un modelo que represente todos los productos posibles dentro de un mismo dominio. Para esto, usamos los modelos de características, que representan la información de todos los productos posibles dentro de una SPL respetando restricciones y relaciones entre características. Hasta la actualidad, la comunidad de líneas de producto ha propuesto múltiples técnicas para el análisis automático de modelos, o lenguajes concretos para la representación de los mismos (e.g., Universal Variability Language (UVL)) y herramientas para su análisis automático como FaMa o FeatureIDE entre otras. En este artículo presentamos WebSPL, un configurador automático que implementa una línea de producto software de sitios WordPress haciendo uso de un modelo de características. Para ello, la herramienta delega en FLAMA+ADs una herramienta de análisis de modelos de características para el ecosistema Python, la validación, y despliega de manera automática los sitios webs teniendo en cuenta información de dominio.Artículo Configuración de productos de una línea de producto software utilizando un lenguaje específico del dominiode Castro Celard, David; Cortiñas, Alejandro; Rodríguez Luaces, Miguel; Pedreira, Oscar. Actas de las XXVI Jornadas de Ingeniería del Software y Bases de Datos (JISBD 2022), 2022-09-05.La selección de una característica en una Línea de Producto Software determina si esta se encontrar+AOE presente o no en el producto final. Sin embargo, en nuestra experiencia trabajando con tecnologías LPS en el ámbito de los Sistemas de Información Geográfica, hemos identificado escenarios en los que puede ser necesario aplicar una característica a un elemento concreto de la aplicación y no a todo su conjunto. Es por ello por lo que en esta publicación se plantea una solución que, haciendo uso de Lenguajes Específicos de Dominio, permita asociar características con determinados elementos de la aplicación generada, con el fin de alcanzar una mayor personalización del SIG generado y mejorando la calidad de estos.Resumen Topic Modeling for Feature Location in Software Models: Studying both Code Generation and Interpreted ModelsPérez, Francisca; Lapeña, Raúl; Marcén, Ana Cristina; Cetina Englada, Carlos. Actas de las XXVI Jornadas de Ingeniería del Software y Bases de Datos (JISBD 2022), 2022-09-05.Context: In the last 20 years, the research community has increased its atten-tion to the use of topic modeling for software maintenance and evolution tasks in code. Topic modeling is a popular and promising information re-trieval technique that represents topics by word probabilities. Latent Di-richlet Allocation (LDA) is one of the most popular topic modeling methods. However, the use of topic modeling in model-driven software development has been largely neglected. Since software models have less noise (imple-mentation details) than software code, software models might be well-suited for topic modeling. Objective: This paper presents our LDA-guided evolutionary approach for feature location in software models. Specifically, we consider two types of software models: models for code generation and interpreted model. Method: We evaluate our approach considering two real-world industrial case studies: code-generation models for train control software, and interpreted models for a commercial video game. To study the impact on the results, we compare our approach for feature location in models against random search and a baseline based on Latent Semantic Indexing, which is a popular infor-mation retrieval technique. In addition, we perform a statistical analysis of the results to show that this impact is significant. We also discuss the results in terms of the following aspects: data sparsity, implementation complexity, calibration, and stability. Results: Our approach significantly outperforms the baseline in terms of re-call, precision, and F-measure when it comes to interpreted models. This is not the case for code-generation models. Conclusions: Our analysis of the results uncovers a recommendation towards results improvement. We also show that calibration approaches can be trans-ferred from code to models. The findings of our work with regards to the compensation of instability have the potential to help not only feature loca-tion in models, but also in code.Artículo TRANSACT: Towards safe and secure distributed cyber-physical systemsGómez, Abel; Alfonso, Iván; Coronel, Javier; Esclapez, María Deseada; Ferrer, Javier. Actas de las XXVI Jornadas de Ingeniería del Software y Bases de Datos (JISBD 2022), 2022-09-05.Cyber-physical systems (CPS) are all around us, but due to today's technical limitations and the possibility of human error, we cannot yet tap into their full potential. The EU-funded TRANSACT project aims to develop a universal distributed solution architecture for the transformation of safety-critical CPS from local, stand-alone systems into safe and secure distributed solutions. To that end, TRANSACT will research distributed reference architectures for safety-critical CPS that rely on edge and cloud computing, ensuring that performance, safety, security, and data privacy are guaranteed. Furthermore, by integrating AI services into distributed CPS, TRANSACT will enable the fast development of innovative value-based services and business models.Resumen Classifying Model-View-Controller Software Applications using Self-Organizing MapsGuamán, Daniel Alejandro; Delgado, Soledad; Pérez Benedí, Jennifer. Actas de las XXVI Jornadas de Ingeniería del Software y Bases de Datos (JISBD 2022), 2022-09-05.Este es un artículo relevante ya publicado en la revista IEEE Access en el que se presenta un estudio exploratorio con 2 casos de análisis de un conjunto total de 87 aplicaciones Java que siguen el patrón Model-View-Controller (MVC) caracterizadas por 24 métricas de calidad y 2 tecnológicas. El estudio determina la similitud de estas aplicaciones en términos de calidad software mediante la adopción de el modelo de red neuronal no supervisada llamado Self-Organizing Maps (SOM). Además el artículo realiza una caracterización de las aplicaciones Java MVC y formaliza el proceso de cómo se ha realizado el estudio exploratorio mediante SPEM para que pueda ser reutilizado en otros trabajos de investigación.Resumen Microservices for Continuous Deployment, Monitoring and Validation in Cyber-Physical Systems: an Industrial Case Study for Elevators SystemsGartziandia, Aitor; Ayerdi, Jon; Arrieta, Aitor; Ali, Shaukat; Yue, Tao; Agirre, Aitor; Sagardui, Goiuria; Arratibel, Maite. Actas de las XXVI Jornadas de Ingeniería del Software y Bases de Datos (JISBD 2022), 2022-09-05.Cyber-Physical Systems (CPSs) are systems that integrate digital cyber computations with physical processes. The software embedded in CPSs has a long life-cycle, requiring constant evolution to support new requirements, bug fixes, and deal with hardware obsolescence. To date, the development of software for CPSs is fragmented, which makes it extremely expensive. This could be substantially enhanced by tightly connecting the development and operation phases, as is done in other software engineering domains (e.g., web engineering through DevOps). Nevertheless, there are still complex issues that make it difficult to use DevOps techniques in the CPS domain, such as those related to hardware-software co-design. To pave the way towards DevOps in the CPS domain, in this paper we instantiate part of the reference architecture presented in the H2020 Adeptness project, which is based on microservices that allow for the continuous deployment, monitoring and validation of CPSs. To this end, we elaborate a systematic methodology that considers as input both domain expertise and a previously defined taxonomy for DevOps in the CPS domain. We obtain a generic microservice template that can be used in any kind of CPS. In addition, we instantiate this architecture in the context of an industrial case study from the elevation domain.