Ingeniería del Software Dirigida por Modelos
URI permanente para esta colección:
Artículos en la categoría Ingeniería del Software Dirigida por Modelos 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
Resumen A generic LSTM neural network architecture to infer heterogeneous model transformationsBurgueño, Lola; Cabot, Jordi; Li, Shuai; Gérard, Sébastien. Actas de las XXVII Jornadas de Ingeniería del Software y Bases de Datos (JISBD 2023), 2023-09-12.Models capture relevant properties of systems. During the models’ life-cycle, they are subjected to manipulations with different goals such as managing software evolution, performing analysis, increasing developers’ productivity, and reducing human errors. Typically, these manipulation operations are implemented as model transformations. Examples of these transformations are (i) model-to-model transformations for model evolution, model refactoring, model merging, model migration, model refinement, etc., (ii) model-to-text transformations for code generation and (iii) text-to-model ones for reverse engineering. These operations are usually manually implemented, using general-purpose languages such as Java, or domain-specific languages (DSLs) such as ATL or Acceleo. Even when using such DSLs, transformations are still time-consuming and error-prone. We propose using the advances in artificial intelligence techniques to learn these manipulation operations on models and automate the process, freeing the developer from building specific pieces of code. In particular, our proposal is a generic neural network architecture suitable for heterogeneous model transformations. Our architecture comprises an encoder–decoder long short-term memory with an attention mechanism. It is fed with pairs of input–output examples and, once trained, given an input, automatically produces the expected output. We present the architecture and illustrate the feasibility and potential of our approach through its application in two main operations on models: model-to-model transformations and code generation. The results confirm that neural networks are able to faithfully learn how to perform these tasks as long as enough data are provided and no contradictory examples are given.Resumen SimulateIoT-FIWARE: Domain Specific Language to Design, Code Generation and Execute IoT Simulation Environments on FIWAREBarriga Corchero, José Ángel; Clemente Martín, Pedro José; Hernández Núñez, Juan María; Pérez Toledano, Miguel Ángel. Actas de las XXVII Jornadas de Ingeniería del Software y Bases de Datos (JISBD 2023), 2023-09-12.Given the complexity of IoT systems, several IoT platforms have emerged to optimise their development. FIWARE, an open-source platform fostered by the European Union, makes IoT simpler by means of driving key standards for breaking the information silos, transforming Big Data into knowledge, enabling data economy and ensuring data sovereignty. On the other hand, tools such as SimulateIoT, an IoT simulator, address the complexity of IoT systems by increasing the level of abstraction from which they are approached through the application of Model-Driven development. In this communication, with the aim of further optimising the development of IoT systems, SimulateIoT has been extended towards FIWARE. The resulting tool, SimulateIoT-FIWARE, tackles the complexity of IoT systems by using FIWARE together with Model-Driven development, thus simplifying and optimising several stages involved in the IoT system development life-cycle, such as their design, testing (simulations), code generation, deployment, etc. In addition, two case studies focused on a smart building and an agricultural IoT system are presented to show the applicability of the tool.Resumen Bug Localization in Game Software Engineering: Evolving Simulations to Locate Bugs in Software Models of Video GamesCasamayor, Rodrigo; Arcega, Lorena; Pérez, Francisca; Cetina, Carlos. Actas de las XXVII Jornadas de Ingeniería del Software y Bases de Datos (JISBD 2023), 2023-09-12.Video games have characteristics that differentiate their development and maintenance from classic software development and maintenance. These differences have led to the coining of the term Game Software Engineering to name the emerging subfield that intersects Software Engineering and video games. One of these differences is that video game developers perceive more difficulties than other non-game developers when it comes to locating bugs. Our work proposes a novel way to locate bugs in video games by means of evolving simulations. As the baseline, we have chosen BLiMEA, which targets classic software engineering and uses bug reports and the defect localization principle to locate bugs. We also include Random Search as a sanity check in the evaluation. We evaluate the approaches in a commercial video game (Kromaia). The results for F-measure range from 46.80%. to 70.28% for five types of bugs. Our approach improved the results of the baseline by 20.29% in F-measure. To the best of our knowledge, this is the first approach that is designed specifically for bug localization in video games. A focus group with professional video game developers has confirmed the acceptance of our approach. Our approach opens a new research direction for bug localization for both game software engineering and possibly classic software engineering.Resumen A Unified Metamodel for NoSQL and Relational DatabasesFernández Candel, Carlos Javier; Sevilla Ruiz, Diego; García Molina, Jesús Joaquín. Actas de las XXVII Jornadas de Ingeniería del Software y Bases de Datos (JISBD 2023), 2023-09-12.The Database field is undergoing significant changes. Although relational systems are still predominant, the interest in NoSQL systems is continuously increasing. In this scenario, polyglot persistence is envisioned as the database architecture to be prevalent in the future. Therefore, database tools and systems are evolving to support several data models. Multi-model database tools normally use a generic or unified metamodel to represent schemas of the data model that they support. Such metamodels facilitate developing database utilities, as they can be built on a common representation. Also, the number of mappings required to migrate databases from a data model to another is reduced, and integrability is favored. In this paper, we present the U-Schema unified metamodel able to represent logical schemas for the four most popular NoSQL paradigms (columnar, document, key–value, and graph) as well as relational schemas. We will formally define the mappings between U-Schema and the data model defined for each database paradigm. How these mappings have been implemented and validated will be discussed, and some applications of USchema will be shown. To achieve flexibility to respond to data changes, most of NoSQL systems are “schema-on-read,” and the declaration of schemas is not required. Such an absence of schema declaration makes structural variability possible, i.e., stored data of the same entity type can have different structure. Moreover, data relationships supported by each data model are different; For example, document stores have aggregate objects but not relationship types, whereas graph stores offer the opposite. Throughout the paper, we will show how all these issues have been tackled in our approach. As far as we know, no proposal exists in the literature of a unified metamodel for relational and the NoSQL paradigms which describes how each individual data model is integrated and mapped. Our metamodel goes beyond the existing proposals by distinguishing entity types and relationship types, representing aggregation and reference relationships, and including the notion of structural variability. Our contributions also include developing schema extraction strategies for schemaless systems of each NoSQL data model, and tackling performance and scalability in the implementation for each store.Artículo Clasificación de Delitos con IncertidumbreNavarrete, Francisco J; Atencia, Manuel; Vallecillo, Antonio. Actas de las XXVII Jornadas de Ingeniería del Software y Bases de Datos (JISBD 2023), 2023-09-12.La clasificación de atestados policiales es un tema complejo en el que la incertidumbre juega un papel importante. Por ejemplo, en muchos informes faltan información o es inconsistente. También es posible que diferentes expertos hagan interpretaciones distintas de los hechos a la hora de calificar un mismo delito. Este trabajo presenta una primera aproximación a la incorporación explícita de la incertidumbre en el tratamiento de informes policiales sobre delitos contra la propiedad. Mostraremos cómo representar dicha incertidumbre en los atestados y cómo razonar con esta información, centrándonos en un ejemplo concreto.Resumen Automated Engineering of Domain-Specific Metamorphic Testing EnvironmentsGómez-Abajo, Pablo; Cañizares, Pablo C.; Núñez, Alberto; Guerra, Esther; de Lara, Juan. Actas de las XXVII Jornadas de Ingeniería del Software y Bases de Datos (JISBD 2023), 2023-09-12.Context. Testing is essential to improve the correctness of software systems. Metamorphic testing (MT) is an approach especially suited when the system under test lacks oracles, or they are expensive to compute. However, building an MT environment for a particular domain (e.g., cloud simulation, model transformation, machine learning) requires substantial effort. Objective. Our goal is to facilitate the construction of MT environments for specific domains. Method. We propose a model-driven engineering approach to automate the construction of MT environments. Starting from a meta-model capturing the domain concepts, and a description of the domain execution environment, our approach produces an MT environment featuring comprehensive support for the MT process. This includes the definition of domain-specific metamorphic relations, their evaluation, detailed reporting of the testing results, and the automated search-based generation of follow-up test cases. Results. Our method is supported by an extensible platform for Eclipse, called Gotten. We demonstrate its effectiveness by creating an MT environment for simulation-based testing of data centres and comparing with existing tools; its suitability to conduct MT processes by replicating previous experiments; and its generality by building another MT environment for video streaming APIs. Conclusion. Gotten is the first platform targeted at reducing the development effort of domain-specific MT environments. The environments created with Gotten facilitate the specification of metamorphic relations, their evaluation, and the generation of new test cases.Artículo Generación de Código Clásico-Cuántico desde modelos UMLPérez-Castillo, Ricardo; Jiménez-Navajas, Luis; Cantalejo, Iván; Piattini Velthuis, Mario Gerardo. Actas de las XXVII Jornadas de Ingeniería del Software y Bases de Datos (JISBD 2023), 2023-09-12.La computación cuántica ha ganado mucho interés en los últimos años, gracias a su capacidad de resolver problemas prácticos que la computación clásica no puede abordar. Estas aplicaciones se conseguirán mediante el desarrollo de software cuántico, por lo que muchas organizaciones están iniciando proyectos para integrar este nuevo software en sus sistemas. Existen procesos de modernización software (basados en la ingeniería dirigida por modelos) para migrar desde/hacia los denominados sistemas software híbridos, que integran software clásico y cuántico. En este proceso ya se han abordado las fases de ingeniería inversa y restructuración, pero aún no se ha abordado la fase de ingeniería directa para estos sistemas. Este artículo presenta una técnica de generación de código desde modelos de diseño UML extendidos con un perfil cuántico. Se propone una transformación EGL que genera código Python y Qiskit, integrando así el código clásico y cuántico. La transformación se ha validado con éxito, de forma preliminar, con el diseño de un sistema híbrido para una aplicación financiera. Este trabajo completa el proceso de modernización cuántico, lo que facilitará la adopción de este nuevo paradigma en la industria.Resumen Efficient execution of ATL model transformations using static analysis and parallelismSánchez Cuadrado, Jesús; Burgueño, Lola; Vallecillo, Antonio; Wimmer, Manuel. Actas de las XXVII Jornadas de Ingeniería del Software y Bases de Datos (JISBD 2023), 2023-09-12.Although model transformations are considered to be the heart and soul of Model Driven Engineering (MDE), there are still several challenges that need to be addressed to unleash their full potential in industrial settings. Among other shortcomings, their performance and scalability remain unsatisfactory for dealing with large models, making their wide adoption difficult in practice. This paper presents A2L, a compiler for the parallel execution of ATL model transformations, which produces efficient code that can use existing multicore computer architectures, and applies effective optimizations at the transformation level using static analysis. We have evaluated its performance in both sequential and multi-threaded modes obtaining significant speedups with respect to current ATL implementations. In particular, we obtain speedups between 2.32x and 38.28x for the A2L sequential version, and between 2.40x and 245.83x when A2L is executed in parallel, with expected average speedups of 8.59x and 22.42x, respectively.Resumen EDALoCo: Enhancing the accessibility of blockchains through a low-code approach to the development of event-driven applications for smart contract managementRosa-Bilbao, Jesús; Boubeta-Puig, Juan; Rutle, Adrian. Actas de las XXVII Jornadas de Ingeniería del Software y Bases de Datos (JISBD 2023), 2023-09-12.Blockchain is a cutting-edge technology based on a distributed, secure and immutable ledger that facilitates the registration of transactions and the traceability of tangible and intangible assets without requiring central governance. The agreements between the nodes participating in a blockchain network are defined through smart contracts. However, the compilation, deployment, interaction and monitoring of these smart contracts is a barrier compromising the accessibility of blockchains by non-expert developers. To address this challenge, in this paper, we propose a low-code approach, called EDALoCo, that facilitates the development of event-driven applications for smart contract management. These applications make blockchain more accessible for software developers who are non-experts in this technology as these can be modeled through graphical flows, which specify the communications between data producers, data processors and data consumers. Specifically, we have enhanced the open-source Node-RED low-code platform with blockchain technology, giving support for the creation of user-friendly and lightweight event-driven applications that can compile and deploy smart contracts in a particular blockchain. Additionally, this platform extension allows users to interact with and monitor the smart contracts already deployed in a blockchain network, hiding the implementation details from non-experts in blockchain. This approach was successfully applied to a case study of COVID-19 vaccines to monitor and obtain the temperatures to which these vaccines are continuously exposed, to process them and then to store them in a blockchain network with the aim of making them immutable and traceable to any user. As a conclusion, our approach enables the integration of blockchain with the low-code paradigm, simplifying the development of lightweight event-driven applications for smart contract management. The approach comprises a novel open-source solution that makes data security, immutability and traceability more accessible to software developers who are non-blockchain experts.Resumen A model-driven approach for systematic reproducibility and replicability of data science projectsGonzález, Francisco Javier Melchor; Rodríguez-Echeverría, Roberto; Conejero, José María; Prieto Ramos, Álvaro E.; Gutiérrez Gallardo, Juan Diego. Actas de las XXVII Jornadas de Ingeniería del Software y Bases de Datos (JISBD 2023), 2023-09-12.En los últimos años se ha producido un importante incremento en el número de herramientas y enfoques para la definición de pipelines que permiten el desarrollo de proyectos de ciencia de datos. Estas herramientas permiten tanto la definición del pipeline como la generación del código necesario para ejecutar el proyecto, proporcionando una forma sencilla de realizar estos proyectos incluso para usuarios no expertos. Sin embargo, todavía existen algunos retos que estas herramientas no abordan. Por ejemplo, la posibilidad de ejecutar pipelines en entornos tecnológicos diferentes a los de su definición (reproducibilidad y replicabilidad), o la identificación de operaciones inconsistentes (intencionalidad). Para paliar estos problemas, este trabajo presenta un framework basado en modelos para la definición de pipelines de ciencia de datos independientes de la plataforma de ejecución y de las herramientas concretas. Este framework se basa en la separación de la definición del pipeline en dos capas de modelado diferentes: conceptual, en el que el científico de datos puede especificar todas las operaciones de datos que conforman el pipeline; operacional, en el que el ingeniero de datos puede describir los detalles concretos del entorno de ejecución donde se implementarán las operaciones finalmente. Basado en esta definición abstracta y en la separación en capas, nuestra propuesta permite: el uso de diferentes herramientas mejorando, así, la replicabilidad del proceso; la automatización de la ejecución del proceso, mejorando la reproducibilidad del proceso; y la definición de reglas de verificación del modelo, proporcionando restricciones de intencionalidad.Artículo Un modelo para federar servicios de la WoTLlopis, Juan Alberto; Criado, Javier; Iribarne, Luis; Fernández-García, Antonio Jesús; Cimmino, Andrea; García Castro, Raúl. Actas de las XXVII Jornadas de Ingeniería del Software y Bases de Datos (JISBD 2023), 2023-09-12.Al utilizar sistemas ciberfísicos, los usuarios pueden interactuar con dispositivos localizados en diferentes subsistemas. Para localizar los dispositivos, se utilizan servicios de descubrimiento capaces de descubrir las características de los dispositivos desplegados en un ámbito. Sin embargo, el alcance del servicio de descubrimiento puede no permitir que un solo servicio de descubrimiento pueda descubrir todos los sistemas ciberfísicos disponibles. Por lo tanto, es necesario que un conjunto de servicios de descubrimiento trabaje conjuntamente para descubrir los sistemas ciberfísicos desplegados en diferentes subsistemas. En este trabajo, se propone un modelo enfocado en probar el funcionamiento de federaciones de servicios de descubrimiento de la Web de las Cosas mediante distintas topologías, midiendo su rendimiento en distintas topologías que representan diferentes escenarios inteligentes.Artículo Modelo de arquitectura multinivel para sistemas de gobernanza inteligenteMuñoz-Hermoso, Salvador; Benavides, David; Domínguez Mayo, Francisco José. Actas de las XXVII Jornadas de Ingeniería del Software y Bases de Datos (JISBD 2023), 2023-09-12.La falta de modelos para sistemas de gobernanza inteligente, dificulta el desarrollo de este software complejo de alta variabilidad, e interés para el sector público y la ciudadanía. Proponemos un modelo de arquitectura en TOGAF-Archimate multinivel que facilita la especificación de arquitecturas generales, a través de dos submodelos (dominio general y específico) que contemplan diferentes niveles de abstracción (conceptual, lógico y tecnología) de la arquitectura. El primer submodelo enfoca los problemas comunes de la colaboración entre interesados, y el segundo los específicos del dominio de la gobernanza inteligente. Este enfoque, a la vez que divide la complejidad, representa en un único modelo y con un mismo lenguaje estándar, los distintos niveles de detalle del sistema, de una forma integral y conectada. Así, esta propuesta constituye un recurso útil para el diseño y desarrollo de sistemas para gobernanza inteligente dirigidos por modelos.Artículo SmaCQA: un DSL textual para facilitar el paso de modelos de valor a contratos inteligentesGómez Macías, Cristian; Vara, Juan Manuel; Perez Blanco, Francisco Javier; Granada, David. Actas de las XXVII Jornadas de Ingeniería del Software y Bases de Datos (JISBD 2023), 2023-09-12.maC es un entorno de desarrollo dirigido por modelos para la especificaci ́on de contratos inteligentes. Una de las funcionalidades que ofrece SmaC es la posibilidad de generar modelos de contratos inteligen- tes a partir de modelos de negocio, expresados con la notaci ́on e3value, muchos m ́as cercanos a usuarios no t ́ecnicos, y viceversa. En este tra- bajo presentamos SmaCQA, un DSL textual que permite especificar los detalles de los intercambios de valor recogidos en un modelo e3value en otro modelo que sirve como fuente de informaci ́on adicional en el paso de modelos de valor a modelos de contratos inteligentesResumen Dealing with Belief Uncertainty in Domain ModelsBurgueño, Lola; Muñoz, Paula; Clarisó, Robert; Cabot, Jordi; Gérard, Sébastien; Vallecillo, Antonio. Actas de las XXVII Jornadas de Ingeniería del Software y Bases de Datos (JISBD 2023), 2023-09-12.There are numerous domains in which information systems need to deal with uncertain information. These uncertainties may originate from different reasons such as vagueness, imprecision, incompleteness or inconsistencies; and, in many cases, they cannot be neglected. In this paper, we are interested in representing and processing uncertain information in domain models, considering the stakeholders’ beliefs (opinions). We show how to associate beliefs to model elements, and how to propagate and operate with their associated uncertainty so that domain experts can individually reason about their models enriched with their personal opinions. In addition, we address the challenge of combining the opinions of different domain experts on the same model elements, with the goal to come up with informed collective decisions. We provide different strategies and a methodology to optimally merge individual opinions.Resumen Engineering Web Augmentation Software: A Development Method for Enabling End-User MaintenanceFirmenich, Diego; Firmenich, Sergio; Rossi, Gustavo; Wimmer, Manuel; Garrigos, Irene; Gonzalez Mora, Cesar. Actas de las XXVII Jornadas de Ingeniería del Software y Bases de Datos (JISBD 2023), 2023-09-12.Nowadays, end-users are able to adapt Web applications when some of their requirements have not been taken into account by developers. One possible way to do adaptations is by using Web Augmentation techniques, which allows end-users to modify the Web sites’ user interfaces once these are loaded on the client-side. They achieve these adaptations by developing and/or installing Web browser plugins that modify the user interface with new functionalities. This particular kind of software artifacts requires special attention regarding maintenance as–in most cases–they depend on third-party resources, such as HTML pages. When these resources are upgraded, unexpected results during the augmentation process may occur. Many communities have arisen around Web Augmentation, and today there are large repositories where developers share their augmenters; end-users may give feedback about existing augmentations and even ask for new ones. Maintenance is a key phase in the augmenters’ life-cycle, and currently, this task falls on the developers. In this paper, we present a participatory approach for allowing end-users without programming skills to participate in the augmenters’ maintenance phase. In order to allow this, we also provide support for the development phase to bootstrap a first version of the augmenter and to reduce the load on developers in both phases, development and maintenance. We present an analysis of more than eight thousand augmenters, which helped us devise the approach, including also an experiment with 48 participants to validate our approach.Resumen DICE simulation: a tool for software performance assessment at the design stageBernardi, Simona; Gómez, Abel; Merseguer, José; Perez-Palacin, Diego; Requeno, Jose Ignacio. Actas de las XXVII Jornadas de Ingeniería del Software y Bases de Datos (JISBD 2023), 2023-09-12.In recent years, we have seen many performance fiascos in the deployment of new systems, such as the US health insurance web. This paper describes the functionality and architecture, as well as success stories, of a tool that helps address these types of issues. The tool allows assessing software designs regarding quality, in particular performance and reliability. Starting from a UML design with quality annotations, the tool applies model-transformation techniques to yield analyzable models. Such models are then leveraged by the tool to compute quality metrics. Finally, quality results, over the design, are presented to the engineer, in terms of the problem domain. Hence, the tool is an asset for the software engineer to evaluate system quality through software designs. While leveraging the Eclipse platform, the tool uses UML and the MARTE, DAM and DICE profiles for the system design and quality modeling.