8 research outputs found

    Model Transformation Testing and Debugging: A Survey

    Get PDF
    Model transformations are the key technique in Model-Driven Engineering (MDE) to manipulate and construct models. As a consequence, the correctness of software systems built with MDE approaches relies mainly on the correctness of model transformations, and thus, detecting and locating bugs in model transformations have been popular research topics in recent years. This surge of work has led to a vast literature on model transformation testing and debugging, which makes it challenging to gain a comprehensive view of the current state of the art. This is an obstacle for newcomers to this topic and MDE practitioners to apply these approaches. This paper presents a survey on testing and debugging model transformations based on the analysis of \nPapers~papers on the topics. We explore the trends, advances, and evolution over the years, bringing together previously disparate streams of work and providing a comprehensive view of these thriving areas. In addition, we present a conceptual framework to understand and categorise the different proposals. Finally, we identify several open research challenges and propose specific action points for the model transformation community.This work is partially supported by the European Commission (FEDER) and Junta de Andalucia under projects APOLO (US-1264651) and EKIPMENT-PLUS (P18-FR-2895), by the Spanish Government (FEDER/Ministerio de Ciencia e Innovación – Agencia Estatal de Investigación) under projects HORATIO (RTI2018-101204-B-C21), COSCA (PGC2018-094905-B-I00) and LOCOSS (PID2020-114615RB-I00), by the Austrian Science Fund (P 28519-N31, P 30525-N31), and by the Austrian Federal Ministry for Digital and Economic Affairs and the National Foundation for Research, Technology and Development (CDG

    Automatic Generation of Trace Links in Model-driven Software Development

    Get PDF
    Traceability data provides the knowledge on dependencies and logical relations existing amongst artefacts that are created during software development. In reasoning over traceability data, conclusions can be drawn to increase the quality of software. The paradigm of Model-driven Software Engineering (MDSD) promotes the generation of software out of models. The latter are specified through different modelling languages. In subsequent model transformations, these models are used to generate programming code automatically. Traceability data of the involved artefacts in a MDSD process can be used to increase the software quality in providing the necessary knowledge as described above. Existing traceability solutions in MDSD are based on the integral model mapping of transformation execution to generate traceability data. Yet, these solutions still entail a wide range of open challenges. One challenge is that the collected traceability data does not adhere to a unified formal definition, which leads to poorly integrated traceability data. This aggravates the reasoning over traceability data. Furthermore, these traceability solutions all depend on the existence of a transformation engine. However, not in all cases pertaining to MDSD can a transformation engine be accessed, while taking into account proprietary transformation engines, or manually implemented transformations. In these cases it is not possible to instrument the transformation engine for the sake of generating traceability data, resulting in a lack of traceability data. In this work, we address these shortcomings. In doing so, we propose a generic traceability framework for augmenting arbitrary transformation approaches with a traceability mechanism. To integrate traceability data from different transformation approaches, our approach features a methodology for augmentation possibilities based on a design pattern. The design pattern supplies the engineer with recommendations for designing the traceability mechanism and for modelling traceability data. Additionally, to provide a traceability mechanism for inaccessible transformation engines, we leverage parallel model matching to generate traceability data for arbitrary source and target models. This approach is based on a language-agnostic concept of three similarity measures for matching. To realise the similarity measures, we exploit metamodel matching techniques for graph-based model matching. Finally, we evaluate our approach according to a set of transformations from an SAP business application and the domain of MDSD

    Round-trip Engineering für Anwendungen der Virtuellen und Erweiterten Realität

    Get PDF
    Traditionelle 3D-Anwendungsentwicklung für VR/AR verläuft in heterogenen Entwicklerteams unstrukturiert, ad hoc und ist fehlerbehaftet. Der präsentierte Roundtrip3D Entwicklungsprozess ermöglicht die iterativ inkrementelle 3D-Anwendungsentwicklung, wechselseitig auf Softwaremodell- und Implementierungsebene. Modelle fördern das gemeinsame Verständnis unter Projektbeteiligten und sichern durch generierte Schnittstellen gleichzeitiges Programmieren und 3D-Modellieren zu. Das Roundtrip3D Werkzeug ermittelt Inkonsistenzen zwischen vervollständigten 3D-Inhalten und Quelltexten auch für verschiedene Plattformen und visualisiert sie auf abstrakter Modellebene. Die gesamte Implementierung wird nicht simultan, sondern nach codegetriebener Entwicklung kontrolliert mit Softwaremodellen abgeglichen. Inkremente aus aktualisierten Softwaremodellen fließen in dann wieder zueinander konsistente Quelltexte und 3D-Inhalte ein. Der Roundtrip3D Entwicklungsprozess vereint dauerhaft Vorteile codegetriebener mit modellgetriebener 3D-Anwendungsentwicklung und fördert strukturiertes Vorgehen im agilen Umfeld

    Blending State Differences and Change Operations for Metamodel Independent Merging of Software Models

    Get PDF
    A typical model merging session: requires a great deal of knowledgeable input; does not provide rapid feedback; quickly overwhelms the user with details; fails to properly match elements; performs minimal conflict detection; offers conflict resolution choices that are inadequate and without semantics; and exhibits counter-intuitive behavior. Viewing model merging as a process, this research defines a hybrid merge workflow that blends the best of the main approaches to merging, expressing its phases as algebraic operators for performing transformations on model and relationship data types. Normalization and denormalization phases decouple models from their originating tool and metamodel. State-based phases capture model differences in the model itself, establish element correspondence using multiply matching strategies, and extract change operations. Operation-based phases then partition and order the changes prior to the detection and automatic resolution of conflicts. The work has culminated in a prototype that validates the workflow, while realizing several novel model merging ideas, which are evaluated with simple and involved test cases. Combining the hybrid merge approach with the semantic expressiveness of decision tables---open to user modification---and an interactive and batch mode of operation allows the tool, named Mirador, to successfully address, to varying degrees, all of the previously cited shortcomings

    AUTOMATIC REFERENCE MODEL DEVELOPMENT FOR EARLY STAGE ARTIFACTS REUSE

    Get PDF

    Parallel and Distributed Execution of Model Management Programs

    Get PDF
    The engineering process of complex systems involves many stakeholders and development artefacts. Model-Driven Engineering (MDE) is an approach to development which aims to help curtail and better manage this complexity by raising the level of abstraction. In MDE, models are first-class artefacts in the development process. Such models can be used to describe artefacts of arbitrary complexity at various levels of abstraction according to the requirements of their prospective stakeholders. These models come in various sizes and formats and can be thought of more broadly as structured data. Since models are the primary artefacts in MDE, and the goal is to enhance the efficiency of the development process, powerful tools are required to work with such models at an appropriate level of abstraction. Model management tasks – such as querying, validation, comparison, transformation and text generation – are often performed using dedicated languages, with declarative constructs used to improve expressiveness. Despite their semantically constrained nature, the execution engines of these languages rarely capitalize on the optimization opportunities afforded to them. Therefore, working with very large models often leads to poor performance when using MDE tools compared to general-purpose programming languages, which has a detrimental effect on productivity. Given the stagnant single-threaded performance of modern CPUs along with the ubiquity of distributed computing, parallelization of these model management program is a necessity to address some of the scalability concerns surrounding MDE. This thesis demonstrates efficient parallel and distributed execution algorithms for model validation, querying and text generation and evaluates their effectiveness. By fully utilizing the CPUs on 26 hexa-core systems, we were able to improve performance of a complex model validation language by 122x compared to its existing sequential implementation. Up to 11x speedup was achieved with 16 cores for model query and model-to-text transformation tasks
    corecore