Information Technology Reference
In-Depth Information
modification, the declarations in the model must be reflected in the source code
for desired transformation; otherwise, the task would be rather pointless.
In addition, the looser is the syntactic consistency, the more complex become
the program transformations needed to refactor the program. When giving more
freedom of implementation to a specific model declaration, synchronizers must
consider every implementation option for this declaration, in order to achieve
automation. In this context, synchronizers must be more elaborate, which often
clutters the program, decreasing quality . This is certainly a trade-off for any
synchronization approach.
6 Related Work
The concept of coupled transformation in Lammel's overview [10] has a close
correspondence to our approach. Coupled transformations occur when “two or
more artifacts of potentially different types are involved, while transformation at
one end necessitates reconciling transformations at other ends such global con-
sistency is reestablished” [10], which is the scenario for model-driven refactoring.
This type of synchronization seem to fit into the “symmetric reconciliation” cat-
egory, in which two distinct transformations - for model and program - are
defined for a given consistency relationship, adapting changes according to the
specific level of abstraction for which they are defined.
Bidirectional model transformations ( bx ) [11,12] have the purpose of formal-
izing synchronization between changed artifacts during the software life cycle
(in this approach, model is a comprehensive concept, which includes programs).
The proposal includes an abstract definition of synchronizers, which may even
be bidirectional (updating both artifacts). Several concepts are similarly formu-
lated - such as unidirectional synchronizers - but no particular approaches of
bx are defined for object models and programs. Therefore, our results could be
confirmed in such scenario by concretizing bx .
The Harmony tool [13], for instance, is based on the concept of bx .Theau-
thors introduce the concept of relational lenses, which are pairs of transformation
functions, namely get and putback , between source and target artifacts. The get
function transforms a source artifact into a target artifact. Updates can be per-
formed on the target artifacts, then an updated source artifact can be obtained
with the putback function, with information from the original source artifact
and the updated target artifact. Analogously, in our theory get is similar to the
required consistency relationship, although we avoid generation of artifacts. The
source artifact can be a program, and the target can be an object model.
Another related study is carried out by Antiewicz and Czarnecki [27], which
formally defines several synchronization alternatives between software artifacts.
Their synchronization definitions are applied with the help of formal operators.
Several elements are common with our approach, for instance developer feedback
for automation and related and independent transformations. Since we focus on
a specific type of synchronization (object models to programs), our theory is
able to reveal detailed issues about consistency and transformation.
 
Search WWH ::




Custom Search