Feature-based survey of model transformation
approaches.
by Czarnecki K.^Helsen S.
INTRODUCTION
Model-driven software development is centered on the use of models.
(1) Models are system abstractions that allow developers and other
stakeholders to effectively address concerns, such as answering a
question about the system or effecting a change. Examples of
model-driven approaches are Model Driven Architecture ** (MDA **), (2,3)
Model-Integrated Computing (MIC), (4) and Software Factories. (5)
Software Factories, with their focus on automating product development
in a product-line context, can also be viewed as an instance of
generative software development. (6)
Model transformations are touted to play a key role in Model Driven
Development ** (MDD **). Their intended applications include the
following:
[] Generating lower-level models, and eventually code, from
higher-level models (7)
[] Mapping and synchronizing among models at the same level or
different levels of abstraction (8)
[] Creatin