Article ID | Journal | Published Year | Pages | File Type |
---|---|---|---|---|
432002 | The Journal of Logic and Algebraic Programming | 2010 | 23 Pages |
Models are the primary artefacts of the software development process in Model-Driven Engineering (MDE). Like other software artefacts, models undergo a complex evolution during their life cycles. Version control is one of the key techniques which enable developers to tackle this complexity. Traditional version control systems (VCS) are based on the copy-modify-merge approach which is not fully exploited in MDE since current implementations lack model-orientation. In this paper we provide a formalisation of the copy-modify-merge approach in the context of MDE. In particular, we analyse how the identification of commonalities and the calculation of differences can be defined by means of category-theoretical constructions. Moreover, we demonstrate how the properties of these constructions can be used to synchronise models and detect conflicting modifications.