Information Technology Reference
In-Depth Information
erational. Both of them are implemented on top of a low-level, imperative
language called QVT Core.
Just like programming languages, there are many other model transfor-
mation languages currently available, among which ATL (the ATLAS Trans-
formation Language) [78] is probably the more widely used. ATL is a hybrid
model transformation language containing a mixture of declarative and im-
perative constructs. ATL transformations are unidirectional, operating on
read-only source models and producing write-only target models.
In general, the model transformation language to use depends on the spe-
cific characteristics of the relationship we want to establish between the source
and target model, and the selection of the best way to express it.
There are also several languages for writing model-to-text transformations,
such as MOFscript, JET, TCS or Acceleo. The last of these is an implemen-
tation of the OMG MOF model-to-text (MOFM2T) language [32]. TCS (Tex-
tual Concrete Syntax) can be used for specifying both injector and extractors.
It enables the specification of textual concrete syntaxes for domain-specific
languages (DSL) by attaching syntactic information to metamodels. With
TCS, it is possible to parse (text-to-model) and pretty print (model-to-text)
DSL sentences. Again, the language to use in each case depends on our specific
requirements and preferences.
15.6 Viewpoints and Transformations
So, how does this transformation approach relate to the ODP viewpoints?
Firstly, it must be made clear that these techniques can be used to support
refinement or other automated design steps within a single viewpoint. They
could, for example, support the community refinement described in chapter 2.
However, the approach is particularly important for integrating and bring-
ing together information from different viewpoints. The transformational ap-
proach can be used to support the various steps needed to combine and refine
the different viewpoint models to yield a working system, but the nature of
the steps to be taken depends on the viewpoints concerned, and there is more
than one way of putting the pieces together. However, we can see a number
of styles depending on the viewpoints concerned.
In the current context, we can distinguish three kinds of transformation
pattern (although there are many more), which differ in terms of the roles
the viewpoint specifications play and the nature of the information flows (see
gure 15.2). These are:
1. Merging transformations, in which two specifications are combined to
generate a composition. This can be performed by following a set of
defined by correspondences. One example of this is the import of defini-
 
Search WWH ::




Custom Search