Information Technology Reference
In-Depth Information
details related to selection of source elements, rule triggering
and ordering, dealing with traceability, etc. Imperative
programming makes “native” operation calls possible. This
solution moves the control flow out of the transformation
language semantics. The operative part of ATL is based on
two constructs, (1) called rules and (2) action blocks. A called
rule is basically a procedure. An action block is a sequence
of imperative statements and can be used instead of or in
combination with a target pattern in matched or called rules.
The imperative statements available in ATL are the well-
known constructs for specifying control flow such as conditions,
loops, assignments, etc. The available ATL tools include an
ATL transformation engine,anATL IDE based on Eclipse,and
an ATL debugger. Listing 3.6 presents an example of an ATL
transformation rule.
3.6.3. The openArchitectureWare framework
openArchitectureWare [OAW 09] is an MDE framework
integrated recently into Eclipse. oAW offers facilities to
transform models into other models or into text or source code.
At the core of oAW, there is a workflow engine allowing the
definition of model transformation workflows by sequencing
diverse workflow components . A workflow component specifies
a step in the model transformation chain. oAW has some
pre-built workflow components that facilitate the reading
and instantiation of models, checking them for constraint
violations, and transforming them into other models or source
code. Transformation workflows are built using XML files that
describe the steps needed to be executed in a generator run.
Xtend and Xpand, openArchitectureWare's transformation
languages, are built up on a common type system and
expression language. Therefore, they can operate on models,
metamodels and meta-metamodels by using the same syntax.
We have selected Xtend and Xpand as our transformation
languages and implemented our illustrative examples using
Search WWH ::




Custom Search