Architecture-based runtime software evolution
Proceedings of the 20th international conference on Software engineering
Update semantics of relational views
ACM Transactions on Database Systems (TODS)
The impact of the constant complement approach towards view updating
Proceedings of the twenty-second ACM SIGMOD-SIGACT-SIGART symposium on Principles of database systems
UMLDiff: an algorithm for object-oriented design differencing
Proceedings of the 20th IEEE/ACM international Conference on Automated software engineering
A generic approach to supporting diagram differencing and merging for collaborative design
Proceedings of the 20th IEEE/ACM international Conference on Automated software engineering
Differencing and Merging of Architectural Views
ASE '06 Proceedings of the 21st IEEE/ACM International Conference on Automated Software Engineering
Combinators for bidirectional tree transformations: A linguistic approach to the view-update problem
ACM Transactions on Programming Languages and Systems (TOPLAS) - Special issue on POPL 2005
Bidirectionalization transformation based on automatic derivation of view complement functions
ICFP '07 Proceedings of the 12th ACM SIGPLAN international conference on Functional programming
Towards automatic model synchronization from model transformations
Proceedings of the twenty-second IEEE/ACM international conference on Automated software engineering
Detecting and Repairing Inconsistencies across Heterogeneous Models
ICST '08 Proceedings of the 2008 International Conference on Software Testing, Verification, and Validation
15 Years of Triple Graph Grammars
ICGT '08 Proceedings of the 4th international conference on Graph Transformations
Algebraic Models for Bidirectional Model Synchronization
MoDELS '08 Proceedings of the 11th international conference on Model Driven Engineering Languages and Systems
Managing Model Conflicts in Distributed Development
MoDELS '08 Proceedings of the 11th international conference on Model Driven Engineering Languages and Systems
Design Space of Heterogeneous Synchronization
Generative and Transformational Techniques in Software Engineering II
Supporting Parallel Updates with Bidirectional Model Transformations
ICMT '09 Proceedings of the 2nd International Conference on Theory and Practice of Model Transformations
Supporting automatic model inconsistency fixing
Proceedings of the the 7th joint meeting of the European software engineering conference and the ACM SIGSOFT symposium on The foundations of software engineering
Generating and Evaluating Choices for Fixing Inconsistencies in UML Design Models
ASE '08 Proceedings of the 2008 23rd IEEE/ACM International Conference on Automated Software Engineering
A formal investigation of Diff3
FSTTCS'07 Proceedings of the 27th international conference on Foundations of software technology and theoretical computer science
Generating synchronization engines between running systems and their model-based views
MODELS'09 Proceedings of the 2009 international conference on Models in Software Engineering
From state- to delta-based bidirectional model transformations: the symmetric case
Proceedings of the 14th international conference on Model driven engineering languages and systems
Concurrent model synchronization with conflict resolution based on triple graph grammars
FASE'12 Proceedings of the 15th international conference on Fundamental Approaches to Software Engineering
Hi-index | 0.00 |
Model-driven software development often involves several related models. When models are updated, the updates need to be propagated across all models to make them consistent. A bidirectional model transformation keeps two models consistent by updating one model in accordance with the other. However, it does not work when the two models are modified at the same time. In this paper we first examine the requirements for synchronizing concurrent updates. We view a synchronizer for concurrent updates as a function taking the two original models and the two updated models as input, and producing two new models where the updates are synchronized. We argue that the synchronizer should satisfy three properties that we define to ensure a reasonable synchronization behavior. We then propose a new algorithm to wrap any bidirectional transformation into a synchronizer with the help of model difference approaches. We show that synchronizers produced by our algorithm are ensured to satisfy the three properties if the bidirectional transformation satisfies the correctness property and the hippocraticness property. We also show that the history ignorance property contributes to the symmetry of our algorithm. An implementation of our algorithm shows that it worked well in a practical runtime management framework.