Incremental Model Synchronization
Loading...
Date
2012-05-02T19:07:59Z
Authors
Razavi Nematollahi, Ali
Advisor
Journal Title
Journal ISSN
Volume Title
Publisher
University of Waterloo
Abstract
Changing artifacts is intrinsic to the development and maintenance of software projects.
The changes made to one artifact, however, do not come about in isolation. Software
models are often vastly entangled. As such, a minuscule modification in one ripples in-
consistency through several others. The primary goal of the this thesis is to investigate
techniques and processes for the synchronization of artifacts in model driven development
environments in which projects comprise manifold interdependent models, each being a
live document that is continuously altered and evolved. The co-evolution of these artifacts
demands an efficient mechanism to keep them consistent in such dynamic environments.
To achieve this consistency, we intend to explore methods and algorithms for impact anal-
ysis and the propagation of modifications across heterogenous interdependent models. In
particular, we consider large scale models that are generated from other models by complex
artifact generators. After creation, both the generated artifacts, and also the ones they
are generated from, are subject to evolutionary changes throughout which their mutual
consistency should be maintained. In such situations, the model transformation is the pri-
mary benchmark of consistency rules between source and target models. But the rules are
often implanted inside the implementation of artifact generators and hence unavailable.
Trivially, the artifacts can be synchronized by regeneration. More often than not however,
regeneration of such artifacts from scratch tends to be unwieldy due to their massive size.
This thesis is a summary of research on effective change management methodologies in
the context of model driven development. In particular, it presents two methods of in-
crementally synchronizing software models related by existing model transformations, so
that the synchronization time is proportional to the magnitude of change and not to the
size of models. The first approach treats model transformations as black-boxes and adds
to it incremental synchronization by a technique called conceptualization. The black-box
is distinguished from other undertakings in that it does not require the extraction, re-
engineering and re-implementation of consistency rules embedded inside transformations.
The second approach is a white-box approach that uses static analysis to automatically
transform the source code of the transformation into an incremental one. In particular it
uses partial evaluation to derive a specialized, incremental transformation from the exist-
ing one. These two approaches are complementary and together support a comprehensive
range of model transformations.
Description
Keywords
Software Engineering, Model Transformation, Incremental Synchronization, Change Management