First, a comparison is created based on the models to compare. The usage process is illustrated by the figure below. The global impact of a merge can be determined beforehand (picture above).The order in which differences are merged has no impact.Interdependent differences are merged together in order to preserve model consistency.Comparison can be performed on any arbitrary model scope for versatility and scalability reasons.Matching of model elements by ID, where an ID can be any "signature" that uniquely identifies the element within its scope: Ecore ID, XML ID, qualified name, location in model tree, etc.Īmong others, the tool exhibits the following characteristics:.A lightweight, configurable engine for comparing and merging EMF-based models in 2-way and 3-way (with common ancestor) configurations.This is because models, in the EMF sense, are rich data structures constrained by a metamodel and sometimes subject to implicit engineering rules. Have you ever merged models in the past and obtained incorrect, unexpected or inconsistent results? This is what EMF Diff/Merge seeks to prevent. However, it is a much more complex operation than merging source code. Merging models is a common need in model-based activities, not only for version control of models but for model manipulation in general. The EMF Diff/Merge project is part of EMF Context and issues For example: model refactoring, iterative model transformations, bridges between modeling tools, collaborative modeling environments, versioning systems. ![]() It is intended to help develop merge-based features that are useful in model-based engineering. It consists in a diff/merge engine that is designed to prevent data loss and enforce model consistency during merge thanks to consistency rules. The project also provides GUI components and a set of applications. More precisely, it is a technical component that can compare and merge sets of model elements. ![]() EMF Diff/Merge is a tool for merging models.
0 Comments
Leave a Reply. |