he objective of Model-Driven Engineering (MDE) is to
decouple the functionality and the
behavior of applications from the technology and platforms they run on, by
automatic transformation of system models. The goal of the OMG MDA initiative
is to standardize the modeling and the model transformation process. The MDA
therefore proposes a standard architecture for MDE based on the UML. The MDA introduces
the concept of Platform Independent Models (PIM), which can automatically or
semi-automatically be mapped to different Platform-specific Models (PSM) of the
system. Finally, code can be generated
from PSM’s and other deployment artifacts.
The PIM’s define the
functionality and behavior of a system independently of the specific technologies
that implement it. The key point here is that PIM’s are not supposed to address
technological considerations. In
the large sense, technological are aspects of a solution to the problem
rather than aspects of the original problem. Many of these concerns such
as authentication, caching or logging have a crosscutting nature.
Model weaving provides a more flexible solution to the
integration of these concerns than general model transformation:
1.
Aspects provide a modular way to express
a model transformation with respect to a particular concern.
2.
Aspects enable model transformations to
be expressed in terms of the model entities to be transformed, as opposed to
QVT queries which are expressed in terms of meta-model entities.