Scandinavian Network of Excellence
in
Software Configuration Management
Presenter: Antonio Martini
Title: Merge of models: an XMI approach
Time: Wednesday, August 25th, 2010, 13:00-13:45
Place: Lund Institute of Technology, Building E, room E:2116 - the department seminar room
Abstract:
Lately industries has been increasing the use of Model Driven Architecture, creating
models to auto-generate code. Nevertheless, the environment is not yet mature enough to
support adequately the parallel work of the developers, especially when they modify the
same artifact simultaneously and they need to merge their changes, resolving possible
conflicts. Moving from a code centric development strategy to a model centric one showed
that former textual-based merge tools do not work appropriately with models.
Models are serialized using the standard XMI, a language which creates documents containing
structured data: thus the comparison of text lines is not the best choice anymore. Newer
model merge tools are not precise enough either. Moreover, all of them are oriented towards
interactivity, which means that the developer has to follow the entire merge process, conflict
by conflict, instead of creating an “ad hoc” solution for the whole set of connected changes.
In this thesis we analyze the feasibility of an environment independent process which is able
to perform the merge of two modified XMI files produced throughout a simultaneous change
of their common ancestor. We present a 5-step process and an algorithm which, produces a
valid XMI file but only under certain restrictions, due to the inhomogeneity of the given
XMI artifacts. The provided merge solution includes annotations, alternatives and warnings
to represent all changes, conflicts, XMI syntax violations and some contex-related problems.
We rely only on the information extracted from the syntax of XMI itself, without any
additional information about model semantic. The output can be analyzed and elaborated
subsequently by the developer or by further tools in order to provide the final merge.