Incremental Model Transformations with Triple Graph Grammars for Multi-version Models

07/05/2023
by   Matthias Barkowsky, et al.
0

Like conventional software projects, projects in model-driven software engineering require adequate management of multiple versions of development artifacts, importantly allowing living with temporary inconsistencies. In previous work, multi-version models for model-driven software engineering have been introduced, which allow checking well-formedness and finding merge conflicts for multiple versions of a model at once. However, also for multi-version models, situations where different artifacts, that is, different models, are linked via automatic model transformations have to be handled. In this paper, we propose a technique for jointly handling the transformation of multiple versions of a source model into corresponding versions of a target model, which enables the use of a more compact representation that may afford improved execution time of both the transformation and further analysis operations. Our approach is based on the well-known formalism of triple graph grammars and the aforementioned encoding of model version histories called multi-version models. In addition to batch transformation of an entire model version history, the technique also covers incremental synchronization of changes in the framework of multi-version models. We show the correctness of our approach with respect to the standard semantics of triple graph grammars and conduct an empirical evaluation to investigate the performance of our technique regarding execution time and memory consumption. Our results indicate that the proposed technique affords lower memory consumption and may improve execution time for batch transformation of large version histories, but can also come with computational overhead in unfavorable cases.

READ FULL TEXT
research
01/02/2023

Triple Graph Grammars for Multi-version Models

Like conventional software projects, projects in model-driven software e...
research
01/02/2023

Modular and Incremental Global Model Management with Extended Generalized Discrimination Networks

Complex projects developed under the paradigm of model-driven engineerin...
research
05/09/2022

Towards Development with Multi-Version Models: Detecting Merge Conflicts and Checking Well-Formedness

Developing complex software requires that multiple views and versions of...
research
12/24/2019

Parallel optimization of fiber bundle segmentation for massive tractography datasets

We present an optimized algorithm that performs automatic classification...
research
12/28/2017

An Innovative Approach for Achieving Composability in Concurrent Systems using Multi-Version Object Based STMs

In the modern era of multicore processors, utilizing multiple cores prop...
research
02/09/2023

Verification of Distributed Artificial Intelligence Systems in Bioinformatics

Software is a great enabler for a number of projects that otherwise woul...
research
12/16/2022

A Comprehensive Survey of Benchmarks for Automated Improvement of Software's Non-Functional Properties

Performance is a key quality of modern software. Although recent years h...

Please sign up or login with your details

Forgot password? Click here to reset