CVSM Bibliography, Entry [ Ci2008Diss ]

Cicchetti, Antonio: Difference Representation and Conflict Management in Model-Driven Engineering; Dissertation, University of L'Aquila; 2008
Download: Volltext
Deskriptoren: CVSM, model:merging, model:difference:representation

Abstract: Model-Driven Engineering (MDE) leverages models to first-class status by shifting the focus of software development from coding to modelling. Models are not considered as mere documentation, but precise artefacts which can be understood by computers and can be automatically manipulated. Evolution can be considered an intrinsic characteristic of software applications [82]; therefore, with the increasing adoption of MDE the development of versioning mechanisms for supporting the evolution of model-based artefacts is becoming essential [125]. In fact, it is of critical relevance that designers are able to comprehend the various kinds of design-level modifications that a system undergoes throughout its entire life-cycle. Nurturing the detection of differences between models is essential to model development and management practices, which are traditionally not neglected in high-quality software development processes [35]. Some work proposed automated UML-aware differencing algorithms (e.g., [4, 105, 133]), and more recently another approach based on structural similarity extended differencing to meta-model independency, i.e. to models conformant to an arbitrary meta-model [83]. However, the capability of tools to operate on change documentation which conforms only to their own internal format tends to lock software development into a single tool compromising its exploitation as part of a tool chain. In fact, a number of algorithms and tools are available for detecting structural changes, whereas the visualization of differences is often based on solutions where the opportunity to harness the power of generic modelling platforms is largely missed. This thesis presents a meta-model independent approach to the representation of model differences which is agnostic of the calculation algorithm, i.e. the proposed techniques do not refer to any differencing methods nor tools and aim at providing a means to represent version changes. Given two models which conform to an arbitrary meta-model, their difference conforms to another meta-model derived from the former by an automated transformation. Interestingly, difference models are first-class objects which induce transformations, such that they can be applied to one of the differenced models to automatically obtain the other one. Even more, differences can be applied to arbitrary models conforming to the same meta-model of the differenced ones, thus obtaining patch-like manipulations. A dual notion is also introduced to induce the reverse application of a given difference, i.e. to rollback the corresponding changes. Furthermore, difference application can be, under certain conditions, composed sequentially and/or in parallel in order to represent more complex modifications. In this respect, concurrent differences inevitably lead to conflicting specifications, which need to be detected and reconciled. This proposal aims to provide a set of basic concepts as the starting point for an investigation towards a rigorous foundation for version and evolution management in the context of MDE, which has to be considered as an inherent component of MDE compliant platforms.