Supervised Master's theses
A state-based 3-way batch merge algorithm for models serialized in XMI,
summary, report, November 2011.
With the ever-increasing usage of models for development in the industry, the need for merge tools for models to support parallel work on the the same files grows. Models are serialized in XMI, used to represent them as trees with nodes in text form. Merge tools that are intended for text-based development can make the XMI code in the model files syntactically incorrect, making them unable to be opened in their intended editors. There are also conflicts that are not found with text-based merge tools. The model merge tools that exist often require the developer to take care of the conflicts when merging, not creating a merged output until all conflicts are taken care of. We would like to give the opportunity to simply create a file with conflicts and warnings represented to later be fixed.
Due to the structural nature of models and its complexity, the possible combinations of changes to consider when implementing a model merge tool are quite a lot. There is therefore need for a thorough analysis of these combinations, done in a structured way so as to make sure that all are covered.
In this thesis a 3-way batch model merge algorithm is designed and implemented. The models are analyzed to find changes and inconsistencies before finally being merged. The output needs to be able to represent warnings and conflicts in a way that keeps its XMI valid. The algorithm is based on the algorithm in [Martini, A., Merge of models: an XMI approach]. The purpose of this thesis is to see if it's correct, if it's possible to implement, what implications that can appear when doing so and how well covering it is. To this end a test suite was created, which can be used as ground for other model merge tool test suites.