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 XXVII Jornadas de Ingeniería del Software y Bases de Datos (JISBD 2023).
Notificar un error en esta colección

Examinar

Envíos recientes

Mostrando 1 - 17 de 17
  • Resumen
    ExTrA: Explaining architectural design tradeoff spaces via dimensionality reduction
    Cámara, Javier; Wohlrab, Rebekka; Garlan, David; Schmerl, Bradley. Actas de las XXVII Jornadas de Ingeniería del Software y Bases de Datos (JISBD 2023), 2023-09-12.
    In software design, guaranteeing the correctness of run-time system behavior while achieving an acceptable balance among multiple quality attributes remains a challenging problem. Moreover, providing guarantees about the satisfaction of those requirements when systems are subject to uncertain environments is even more challenging. While recent developments in architectural analysis techniques can assist architects in exploring the satisfaction of quantitative guarantees across the design space, existing approaches are still limited because they do not explicitly link design decisions to satisfaction of quality requirements. Furthermore, the amount of information they yield can be overwhelming to a human designer, making it difficult to see the forest for the trees. In this paper we introduce ExTrA (Explaining Tradeoffs of software Architecture design spaces), an approach to analyzing architectural design spaces that addresses these limitations and provides a basis for explaining design tradeoffs. Our approach employs dimensionality reduction techniques employed in machine learning pipelines like Principal Component Analysis (PCA) and Decision Tree Learning (DTL) to enable architects to understand how design decisions contribute to the satisfaction of extra-functional properties across the design space. Our results show feasibility of the approach in two case studies and evidence that combining complementary techniques like PCA and DTL is a viable approach to facilitate comprehension of tradeoffs in poorly-understood design spaces.
  • Artículo
    Arquitectura para la Gestión del Ciclo de Vida de Líneas de Producto Software
    de Castro Celard, David; Cortiñas, Alejandro; Rodríguez Luaces, Miguel; Pedreira, Oscar; Saavedra Places, Ángeles. Actas de las XXVII Jornadas de Ingeniería del Software y Bases de Datos (JISBD 2023), 2023-09-12.
    La Gestión del Ciclo de Vida de Aplicaciones (conocido como ALM por su nombre en inglés, Application Lifecycle Management) coordina las actividades para desarrollar, mantener y evolucionar una aplicación, definiendo un marco que busca la eficiencia y efectividad en cada etapa del ciclo de vida. Aunque existen numerosas publicaciones sobre ALM, la aplicación de ALM en las Líneas de Producto Software (LPS) aún no ha sido abordada. En este trabajo se propone adaptar ALM para el desarrollo de LPS mediante la creación de una herramienta que maneje principalmente las áreas de desarrollo y operaciones para gestionar varias LPS y sus productos asociados.
  • Artículo
    Optimización de la Generación de Chatbots Mediante Técnicas de Líneas de Producto
    Zamudio, José A.; Cabot Sagrera, Jordi; Benavides Cuevas, David Felipe. Actas de las XXVII Jornadas de Ingeniería del Software y Bases de Datos (JISBD 2023), 2023-09-12.
    Los chatbots son herramientas cada vez más populares en numerosos sectores debido a su capacidad para automatizar las interacciones con los clientes y disminuir la carga de trabajo. Sin embargo, en la actualidad no existe una forma práctica de reutilizar la información de dominio para agilizar el desarrollo de chatbots. Para abordar este problema, en este artículo presentamos una solución para optimizar la generación de chatbots mediante la reutilización de artefactos de dominio y la aplicación de técnicas de ingeniería de línea de producto. Para ello, proponemos una herramienta que permite reutilizar fácilmente la información más relevante en el dominio, como las intenciones del usuario, los agentes de procesamiento del lenguaje natural y otras características descritas en el artículo para integrarlos en los chatbots.
  • Artículo
    Configurabilidad multinivel en sistemas de gobernanza inteligente
    Muñoz-Hermoso, Salvador; Benavides Cuevas, David Felipe; Domínguez Mayo, Francisco José. Actas de las XXVII Jornadas de Ingeniería del Software y Bases de Datos (JISBD 2023), 2023-09-12.
    Los sistemas para gobernanza inteligente cuentan con necesidades diferentes según el tipo de organización, que junto a su complejidad inherente, dificultan su configurabilidad. Sin embargo, no hallamos soluciones que faciliten la configuración de estos sistemas de gran interés en el sector público. Proponemos una solución de configurabilidad compuesta por una arquitectura de configuración multinivel basada en frameworks software, y un modelo de características (FM) para representar de forma compacta la variabilidad a través de la configuración de los diferentes niveles de un mismo software. Así, podremos obtener una línea de productos personalizados para distintas organizaciones. En un primer nivel se gestiona la variabilidad de los procesos de colaboración tipo, en un segundo nivel los distintos modelos de colaboración; que se concretan en un tercer y cuarto nivel de configuración respectivamente del sistema de gobernanza inteligente general, y del adaptado a las necesidades concretas de la organización.
  • Artículo
    Marco para el diseño de aplicaciones multimodo sobre un sistema distribuido jerárquico
    García-Gordillo, Miguel; Valls, Joan J.; Sáez, Sergio; Coronel, Javier. Actas de las XXVII Jornadas de Ingeniería del Software y Bases de Datos (JISBD 2023), 2023-09-12.
    Los sistemas ciberfísicos habitualmente operan en entornos variables, donde es importante que sean capaces de adaptar su comportamiento para que se puedan alcanzar los resultados esperados. En el caso de soluciones distribuidas, la complejidad crece debido a la necesidad de sincronizar el comportamiento de los diferentes componentes repartidos en los múltiples nodos del sistema. Este artículo presenta un marco para el diseño de aplicaciones multimodo como solución para la adaptación del comportamiento de sistemas distribuidos jerárquicos, así como para la mitigación de fallos en diferentes niveles de la aplicación. El enfoque descrito, como parte de las soluciones expuestas en el proyecto TRANSACT, incluye la planificación y propagación de cambios de modo de manera distribuida y su gestión para asegurar la transición entre modos de operación en los diferentes nodos del sistema. En el artículo se presenta la solución con los componentes necesarios para su implementación, además de diferentes escenarios relevantes donde es aplicable.
  • Resumen
    Evaluating the Benefits of Software Product Lines in Game Software Engineering.
    Trasobares, Jose Ignacio; Domingo, África; Arcega, Lorena; Cetina Englada, Carlos. Actas de las XXVII Jornadas de Ingeniería del Software y Bases de Datos (JISBD 2023), 2023-09-12.
    Video game development is one of the fastest-growing industries in the world. The use of software product lines (SPLs) has proven to be effective in developing different types of software at a lower cost, in less time, and with higher quality. There are recent research efforts that propose to apply SPLs in the domain of video games. Video games present characteristics that differentiate their development from the development of classic software; for example, game developers perceive more difficulties than other non-game developers when reusing code. In this paper, we evaluate if the adoption of an SPL in game software engineering (GSE) can generate the same benefits as in classic software engineering (CSE) considering the case study of Kromaia. As in other disciplines dealing with human behaviour, empirical research allows for building a reliable knowledge base in software engineering. We present an experiment comparing two development approaches, Clone and Own (CaO) and an SPL in terms of correctness, efficiency, and satisfaction when subjects develop elements of a commercial video game. The results indicate that the elements developed using the SPL are more correct than those developed with CaO but do not indicate significant improvement in efficiency or satisfaction. Our findings suggest that SPLs in GSE may play a different role than the one they have played for decades in CSE. Specifically, SPLs can be relevant to generating new video game content or to balancing video game difficulty.
  • Resumen
    Visualizing the Customization Endeavor in Product-Based-Evolving Software Product Lines: A Case of Action Design Research
    Díaz García, Óscar; Montalvillo Mendizabal, Leticia; Medeiros, Raul; Azanza, Maider; Fogdal, Thomas. Actas de las XXVII Jornadas de Ingeniería del Software y Bases de Datos (JISBD 2023), 2023-09-12.
    Software Product Lines (SPLs) aim at systematically reusing software assets, and deriving products (a.k.a., variants) out of those assets. However, it is not always possible to handle SPL evolution directly through these reusable assets. Time-to-market pressure, expedited bug fixes, or product specifics lead to the evolution to first happen at the product level, and to be later merged back into the SPL platform where the core assets reside. This is referred to as product-based evolution. In this scenario, deciding when and what should go into the next SPL release is far from trivial. Distinct questions arise. How much effort are developers spending on product customization? Which are the most customized core assets? To which extent is the core asset code being reused for a given product? We refer to this endeavor as \textit{Customization Analysis}, i.e., understanding the functional increments in adjusting products from the last SPL platform release. The scale of the SPLs' code-base calls for customization analysis to be conducted through \textit{Visual Analytics} tools. This work addresses the design principles for such tools through a joint effort between academia and industry, specifically, Danfoss Drives, a company division in charge of the P400 SPL. Accordingly, we adopt an \textit{Action Design Research} approach where answers are sought by interacting with the practitioners in the studied situations. We contribute by providing informed goals for customization analysis as well as an intervention in terms of a visual analytics tool. We conclude by discussing to what extent this experience can be generalized to product-based evolving SPL organizations other than Danfoss Drives.
  • Resumen
    Detecting Feature Influences to Quality Attributes in Large and Partially Measured Spaces using Smart Sampling and Dynamic Learning
    Munoz Guerra, Daniel Jesus; Pinto, Mónica; Fuentes Fernandez, Lidia. Actas de las XXVII Jornadas de Ingeniería del Software y Bases de Datos (JISBD 2023), 2023-09-12.
    Emergent application domains (e.g., Edge Computing/Cloud /B5G systems) are complex to be built manually. They are characterised by high variability and are modelled by large Variability Models (VMs), leading to large configuration spaces. Due to the high number of variants present in such systems, it is challenging to find the best-ranked product regarding particular Quality Attributes (QAs) in a short time. Moreover, measuring QAs sometimes is not trivial, requiring a lot of time and resources, as is the case of the energy footprint of software systems -- the focus of this paper. Hence, we need a mechanism to analyse how features and their interactions influence energy footprint, but without measuring all configurations. While practical, sampling and predictive techniques base their accuracy on uniform spaces or some initial domain knowledge, which are not always possible to achieve. Indeed, analysing the energy footprint of products in large configuration spaces raises specific requirements that we explore in this work. This paper presents SAVRUS (Smart Analyser of Variability Requirements in Unknown Spaces), an approach for sampling and dynamic statistical learning without relying on initial domain knowledge of large and partially QA-measured spaces. SAVRUS reports the degree to which features and pairwise interactions influence a particular QA, like energy efficiency. We validate and evaluate SAVRUS with a selection of likewise systems, which define large searching spaces containing scattered measurements.
  • Resumen
    DevOps Team Structures: Characterization and Implications
    López-Fernández, Daniel; Díaz, Jessica; García, Javier; Pérez, Jorge; González-Prieto, Ángel. Actas de las XXVII Jornadas de Ingeniería del Software y Bases de Datos (JISBD 2023), 2023-09-12.
    Context : DevOps can be defined as a cultural movement to improve and accelerate the delivery of business value by making the collaboration between development and operations effective. Objective : This paper aims to help practitioners and researchers to better understand the organizational structure and characteristics of teams adopting DevOps. Method : We conducted an exploratory study by leveraging in-depth, semi-structured interviews with relevant stakeholders of 31 multinational software-intensive companies, together with industrial workshops and observations at organizations’ facilities that supported triangulation. We used Grounded Theory as qualitative research method to explore the structure and characteristics of teams, and statistical analysis to discover their implications in software delivery performance. Results : We describe a taxonomy of team structures that shows emerging, stable and consolidated product teams that are classified according to six variables, such as collaboration frequency, product ownership sharing, and autonomy, among others, as well as their implications on software delivery performance. These teams are often supported by horizontal teams (DevOps platform teams, Centers of Excellence, and chapters) that provide them with platform technical capabilities, mentoring and evangelization, and even temporarily may facilitate human resources. Conclusion : This study aims to strengthen evidence and support practitioners in making better informed about organizational team structures by analyzing their main characteristics and implications in software delivery performance.
  • Resumen
    Feature Models to boost the Vulnerability Management Process
    Varela Vaca, Ángel Jesús; Borrego Nuñez, Diana; Gasca, Rafael M.; Gómez-López, María Teresa; Márquez Trujillo, Antonio Germán. Actas de las XXVII Jornadas de Ingeniería del Software y Bases de Datos (JISBD 2023), 2023-09-12.
    Vulnerability management is a critical and very challenging process that allows organisations to design a procedure to identify potential vulnerabilities, assess the level of risk, and define remediation mechanisms to address threats. Thus, the large number of configuration options in systems makes it extremely difficult to identify which configurations are affected by vulnerabilities and even assess how systems may be affected. There are several repositories to store information on systems, software vulnerabilities, and exploits. However, they are largely scattered, offer different formats and information, and their use has limitations, complicating vulnerability management automation. For this reason, we introduce a discussion concerning modelling in vulnerability management and the proposal of feature models as a means to collect the variability of software and system configurations to facilitate the vulnerability management process. This paper presents AMADEUS-Exploit, a feature model-based solution that provides query and reasoning mechanisms that make it easier for vulnerability management experts. The power of AMADEUS-Exploit is shown and evaluated in three different ways: first, the solution is compared with other vulnerability management tools; second, the solution is faced with another in a complex scenario with 4,000 vulnerabilities and 700 exploits; and finally, our solution was used in a real project demonstrating the usability of reasoning operations to determine potential vulnerabilities.
  • Resumen
    Scalable Sampling of Highly-Configurable Systems: Generating Random Instances of the Linux Kernel
    Fernandez-Amoros, David; Heradio, Ruben; Mayr-Dorn, Christoph; Egyed, Alexander. Actas de las XXVII Jornadas de Ingeniería del Software y Bases de Datos (JISBD 2023), 2023-09-12.
    Software systems are becoming increasingly configurable. A paradigmatic example is the Linux kernel, which can be adjusted for a tremendous variety of hardware devices, from mobile phones to supercomputers, thanks to the thousands of configurable features it supports. In principle, many relevant problems on configurable systems, such as completing a partial configuration to get the system instance that consumes the least energy or optimizes any other quality attribute, could be solved through exhaustive analysis of all configurations. However, configuration spaces are typically colossal and cannot be entirely computed in practice. Alternatively, configuration samples can be analyzed to approximate the answers. Generating those samples is not trivial since features usually have inter-dependencies that constrain the configuration space. Therefore, getting a single valid configuration by chance is extremely unlikely. As a result, advanced samplers are being proposed to generate random samples at a reasonable computational cost. However, to date, no sampler can deal with highly configurable complex systems, such as the Linux kernel. This paper proposes a new sampler that does scale for those systems, based on an original theoretical approach called extensible logic groups. The sampler is compared against five other approaches. Results show our tool to be the fastest and most scalable one.
  • Artículo
    Generando modelos de características mediante Large Language Models manteniendo la coherencia sintactica y semántica
    Galindo, José A.; Dominguez, Antonio J.; White, Jules; Benavides Cuevas, David Felipe. Actas de las XXVII Jornadas de Ingeniería del Software y Bases de Datos (JISBD 2023), 2023-09-12.
    Los modelos de características representan aspectos comunes y variables de las lineas de producto software. El análisis automatizado de los modelos de características ha permitido probar, mantener y mejorar las líneas de productos de software. Para probar el análisis de los modelos de características suele ser necesario basarse en un gran número de modelos lo más realistas posible. Existen diferentes propuestas para generar modelos sintéticos de características; sin embargo, los métodos existentes no tienen en cuenta la semántica de los conceptos del dominio. Este artículo propone el uso de Large language models (LLM), como Codex o GPT-3, para generar variantes realistas de modelos que preserven la coherencia semántica al tiempo que mantienen la validez sintáctica.
  • Artículo
    Transformo: a tool for data transformation using SPL techniques
    Romero-Organvidez, David; Horcas Aguilera, José Miguel; Gómez-López, María Teresa; Benavides Cuevas, David Felipe. Actas de las XXVII Jornadas de Ingeniería del Software y Bases de Datos (JISBD 2023), 2023-09-12.
    Software modernization often involves complex data migration projects, which can result in resource loss and delays. Data migration typically requires ETL (Extraction, Transformation, and Load) operations, but there is limited literature on reusing data migration artifacts to reduce complexity. This paper introduces a tool that employs software product line techniques in data migration projects, specifically in the data transformation stage, to systematize artifact reuse. The proposed solution enables the automatic creation of scripts through configuration techniques, streamlining the data transformation process. This tool's feasibility is demonstrated in web information systems modernization, where data is migrated between Drupal and WordPress portals. Various migration scripts are generated by selecting different features, showcasing the method's versatility. This innovative tool is the first to utilize a complete stack of software product line techniques, enabling the reuse of artifacts for data migration. This tool opens up new opportunities for further applications of software product line techniques in data migration projects across various domains.
  • Artículo
    A Methodology to Retire a Software Product Line
    Cortiñas, Alejandro; Krüger, Jacob; Lamas Sardiña, Victor Juan; Rodríguez Luaces, Miguel; Pedreira, Oscar. Actas de las XXVII Jornadas de Ingeniería del Software y Bases de Datos (JISBD 2023), 2023-09-12.
    The development of a family of software systems with customization based on a common platform is made possible through software product-line engineering. By employing this approach, an organization can configure a system to adapt to changing customer requirements and also reap long-term benefits such as reduced development and maintenance costs. Typically used for a long-living family of systems that are continuously evolved, a product line may eventually be retired and replaced by a successor due to outdated technology that cannot be easily replaced, making it more feasible to develop a new product line. Previous work has mentioned retiring product lines, but without much detail. This paper aims to fill this gap by presenting a process for retiring and replacing a product line, with the aim of helping practitioners retire product lines more systematically and with fewer issues. Additionally, the paper highlights open research directions that need to be addressed in the future.
  • Artículo
    Soporte a la Selección Sostenible de Sistemas Gestores de Bases de Datos Relacionales
    Rodríguez Horcajo, Vanessa; Pérez Benedí, Jennifer. Actas de las XXVII Jornadas de Ingeniería del Software y Bases de Datos (JISBD 2023), 2023-09-12.
    Las bases de datos y cómo éstas persistan su información juegan un papel crucial en la sostenibilidad del desarrollo software, ya que su acceso a memoria tiene un impacto inmediato en el consumo energético. Sin embargo, a día de hoy no hay directrices para elegir el sistema gestor de bases de datos adecuado en términos de eficiencia energética. Este trabajo presenta los primeros resultados de esta elección y el estudio de la variabilidad existente de sistemas gestores de bases de datos relacionales para su soporte.
  • Artículo
    Un analizador de modelos de variabilidad basado en el árbol de características
    Horcas Aguilera, José Miguel; Pinto, Mónica; Fuentes Fernandez, Lidia. Actas de las XXVII Jornadas de Ingeniería del Software y Bases de Datos (JISBD 2023), 2023-09-12.
    Un árbol de características generalizado (GFT) es un modelo de variabilidad en el que las restricciones textuales han sido eliminadas manteniendo la semántica del modelo. La ventaja de un GFT es que se puede analizar directamente razonando sobre las relaciones jerárquicas del árbol de características sin tener que transformar el modelo a SAT o construir un árbol de decisión binario (BDD). La desventaja de un GFT es que puede contener características duplicadas y su tamaño en número de características con respecto al modelo de variabilidad original es considerablemente mayor, lo que complica el análisis automático. En este artículo se propone un analizador de modelos GFT basado en las relaciones jerárquicas del árbol de características teniendo en cuenta la existencia de características duplicadas. Se definen un conjunto de operaciones de análisis sobre GFT y se compara su eficiencia con solvers SAT y BDD. El solver GFT mejora la eficiencia del análisis sobre solvers BDD para modelos de hasta diez mil características.
  • Artículo
    A comparison between traditional and Serverless technologies in a microservices setting
    Mera Menéndez, Juan; Labra Gayo, Jose Emilio; Riesgo Canal, Enrique; Echevarría Fernández, Aitor. Actas de las XXVII Jornadas de Ingeniería del Software y Bases de Datos (JISBD 2023), 2023-09-12.
    Serverless technologies, also known as FaaS (Function as a Service), are promoted as solutions that provide dynamic scalability, speed of development, cost-per-consumption model, and the ability to focus on the code while taking attention away from the infrastructure that is managed by the vendor. A microservices architecture is defined by the interaction and management of the application state by several independent services, each with a well-defined domain. When implementing software architectures based on microservices, there are several decisions to take about the technologies and the possibility of adopting Serverless. In this study, we implement 9 prototypes of the same microservice application using different technologies. Some architectural decisions and their impact on the performance and cost of the result obtained are analysed. We use Amazon Web Services and start with an application that uses a more traditional deployment environment (Kubernetes) and migration to a serverless architecture is performed by combining and analysing the impact (both cost and performance) of the use of different technologies such as AWS ECS Fargate, AWS Lambda, DynamoDB or DocumentDB.