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
Fixing Inconsistencies in UML Design Models
ICSE '07 Proceedings of the 29th international conference on Software Engineering
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
A formal investigation of Diff3
FSTTCS'07 Proceedings of the 27th international conference on Foundations of software technology and theoretical computer science
Bidirectional model transformations in QVT: semantic issues and open questions
MODELS'07 Proceedings of the 10th international conference on Model Driven Engineering Languages and Systems
From state- to delta-based bidirectional model transformations
ICMT'10 Proceedings of the Third international conference on Theory and practice of model transformations
Proceedings of the 38th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Model synchronization: mappings, tiles, and categories
GTTSE'09 Proceedings of the 3rd international summer school conference on Generative and transformational techniques in software engineering III
Supporting runtime software architecture: A bidirectional-transformation-based approach
Journal of Systems and Software
JTL: a bidirectional and change propagating transformation language
SLE'10 Proceedings of the Third international conference on Software language engineering
ICMT'11 Proceedings of the 4th international conference on Theory and practice of model transformations
Preventing information loss in incremental model synchronization by reusing elements
ECMFA'11 Proceedings of the 7th European conference on Modelling foundations and applications
Software and Systems Modeling (SoSyM)
Performance-driven architectural refactoring through bidirectional model transformations
Proceedings of the 8th international ACM SIGSOFT conference on Quality of Software Architectures
Towards combinators for bidirectional model transformations in scala
SLE'11 Proceedings of the 4th international conference on Software Language Engineering
SFM'12 Proceedings of the 12th international conference on Formal Methods for the Design of Computer, Communication, and Software Systems: formal methods for model-driven engineering
Synchronizing concurrent model updates based on bidirectional transformation
Software and Systems Modeling (SoSyM)
Retainment policies - A formal framework for change retainment for trace-based model transformations
Information and Software Technology
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 propose a new algorithm that wraps any bidirectional transformation into a synchronizer with the help of a model difference approach. The synchronizer enables parallel updates by taking the two original models, the two updated models as input and producing two new models where the updates are synchronized. We also examine the requirements for synchronizing parallel updates, and demonstrate that our algorithm satisfies the requirements if the bidirectional transformation satisfies the correctness property and the hippocraticness property. Implementation of our algorithm showed that it works well in a runtime management framework in practical cases.