Avoiding Unnecessary Information Loss: Correct and Efficient Model Synchronization Based on Triple Graph Grammars

05/29/2020
by   Lars Fritsche, et al.
0

Model synchronization, i.e., the task of restoring consistency between two interrelated models after a model change, is a challenging task. Triple Graph Grammars (TGGs) specify model consistency by means of rules that describe how to create consistent pairs of models. These rules can be used to automatically derive further rules, which describe how to propagate changes from one model to the other or how to change one model in such a way that propagation is guaranteed to be possible. Restricting model synchronization to these derived rules, however, may lead to unnecessary deletion and recreation of model elements during change propagation. This is inefficient and may cause unnecessary information loss, i.e., when deleted elements contain information that is not represented in the second model, this information cannot be recovered easily. Short-cut rules have recently been developed to avoid unnecessary information loss by reusing existing model elements. In this paper, we show how to automatically derive (short-cut) repair rules from short-cut rules to propagate changes such that information loss is avoided and model synchronization is accelerated. The key ingredients of our rule-based model synchronization process are these repair rules and an incremental pattern matcher informing about suitable applications of them. We prove the termination and the correctness of this synchronization process and discuss its completeness. As a proof of concept, we have implemented this synchronization process in eMoflon, a state-of-the-art model transformation tool with inherent support of bidirectionality. Our evaluation shows that repair processes based on (short-cut) repair rules have considerably decreased information loss and improved performance compared to former model synchronization processes based on TGGs.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
11/06/2020

A Precedence-Driven Approach for Concurrent Model Synchronization Scenarios using Triple Graph Grammars

Concurrent model synchronization is the task of restoring consistency be...
research
09/10/2018

Complexity of Timeline-Based Planning over Dense Temporal Domains: Exploring the Middle Ground

In this paper, we address complexity issues for timeline-based planning ...
research
07/18/2023

Rule-based Graph Repair using Minimally Restricted Consistency-Improving Transformations

Model-driven software engineering is a suitable method for dealing with ...
research
03/07/2018

Efficient Synchronization of State-based CRDTs

Data consistency often needs to be sacrificed in order to ensure high-av...
research
04/29/2020

Compilation of Coordinated Choice

Recently, we have proposed coordinated choices, which are nondeterminist...
research
02/19/2023

Synchronizing Many Filesystems in Near Linear Time

Finding a provably correct subquadratic synchronization algorithm for ma...
research
11/26/2019

Multiple Model Synchronization with Multiary Delta Lenses with Amendment and K-Putput

Multiple (more than 2) model synchronization is ubiquitous and important...

Please sign up or login with your details

Forgot password? Click here to reset