Information Technology Reference
In-Depth Information
computation-independent models (CIM), platform-independent models (PIM)
and platform-specific models (PSM) [84]. Note that the terms PIM and PSM
are defined relative to some chosen concept of a platform, and may be ap-
plied recursively as the system design is refined. Researchers have suggested
that one approach to integration of, for example, non-functional aspects such
as security is to extend the chain to involve a whole series of transformation
steps [63, 80], leading to a convergence with aspect-oriented programming.
It is tempting to try to draw parallels between this family of models and
the viewpoints, but there is an important difference that makes such connec-
tion inappropriate. This is the fact that the viewpoints are characterized by
stakeholder interest, while the ideas of CIM, PIM and PSM are relative to
technological detail. Thus, as technologies evolve and the design focus drifts
up to higher levels of abstraction, there will be a gradual relative drift between
the two systems.
15.4
Model Transformations
Models and transformations are the key ingredients of the model-driven
architecture approach. A model transformation is basically an algorithmic
specification (either declarative or operational) of the relationship between
models, more specifically the mapping of information from one model to an-
other. A model transformation involves at least two models (the source and
the target), which may conform to the same or to different metamodels. The
relationship defined by a model transformation determines the valid mappings
between models conforming to these metamodels, and can be of different types
depending on the nature of the relation: unidirectional or bidirectional, re-
fining or abstracting, endogenous or exogenous (depending on whether the
source and target metamodel are the same or not), and so on. The transfor-
mation specification is normally given by a set of model transformation rules,
which describe how a model in the source language can be transformed into
a model in the target language.
In addition to model-to-model transformations, it is also possible to define
text-to-model and model-to-text transformations, in which the language of
the source or target model is expressed using a textual notation. The former
are called injectors, and are very useful for converting programs or documents
into models that can be manipulated using model-driven techniques and tools.
Extractors are useful for producing structured documents (text, Word, Excel,
HTML, XML or program source code) from models.
A model transformation can also be considered a model in its own right,
which presents opportunities for higher-order transformations, that is, trans-
formations that manipulate models representing other model transforma-
 
Search WWH ::




Custom Search