1. Change-based model differencing and conflict detection
- Author
-
Yohannis, Alfa, Kolovos, Dimitris, Polack, Fiona, and Rodriguez, Horacio Hoyos
- Abstract
In large-scale computer systems and software development, model-driven engineering is an approach that focuses on the development and management of models. The models are usually expressed in diagrams, textual notations, or code. Most of these models persist in state-based formats. While state-based persistence has certain advantages, it is problematic when it comes to detecting changes in large-scale models. As an alternative, this work proposes a change-based approach that involves persisting the full sequence of changes made to models. Persisting a model in a change-based format has the potential to deliver benefits over state-based persistence, such as the ability to perform model differencing and conflict detection much faster and more precisely. This can then yield positive follow-on effects to help developers compare and merge models in collaborative modelling environments. Nevertheless, change-based persistence also comes with downsides, including increased model loading time. This work investigates two approaches to reduce loading time. The first is to identify and ignore superseded changes, and the second uses hybrid model persistence. While the former is still greatly outperformed by loading models from state-based persistence, the latter experiences only a slight slowdown in most cases. This work also proposes an approach for faster model differencing and conflict detection. It works by exploiting the nature of change-based persistence, which allows finding differences and conflicts between two versions of a model by comparing only the last set of changes applied to them, without having to compare every element and feature in both versions as is traditionally done in state-based model comparison. This work's evaluation shows that the proposed change-based model differencing and conflict detection outperform the existing traditional state-based approach. Nevertheless, models that have been excessively modified could impair the performance of the proposed model differencing and conflict detection as numerous change records must be loaded into memory.
- Published
- 2020