Java Reference
In-Depth Information
CHAPTER 6
Developing Model-to-Model
Transformations
A model is often used as the source or target of a Model-to-Model Transformation (M2M).
Within the Modeling project, the M2M project has two components to provide transforma-
tion capabilities: Atlas Transformation Language (ATL) and Query/View/Transformation
(QVT). This topic does not cover ATL, but it is similar to QVT. QVT is actually a collec-
tion of three transformation languages, but this topic covers only the Operational Mapping
Language (OML). The other languages of QVT are its Relations language and the Core lan-
guage; the Relations language has just released its first build at Eclipse.
6.1 Transformation Techniques
Much has been written on model transformation and translation. Translation
strives to provide semantic equivalence between two models and is beyond the
scope of this topic. Instead, I focus on using OML to define transformations
between domain-specific languages (DSLs) and I consider several approaches to
transformation and generation. As with everything, there are implementation
choices to make, each with its pros and cons. In the case of transformation, we
must consider where it makes the best sense to implement mappings between
models. For example, consider the mapping between the notation model Business
Process Modeling Notation (BPMN) and Business Process Execution Language
(BPEL). The BPMN specification defines a mapping, but the Toolsmith must
determine where it's best to implement it. Imagine the mapping model discussed
earlier in the context of the Graphical Modeling Framework (GMF) as one pos-
sibility. In this case, a graphical definition would represent the elements of
BPMN, and the domain model would be derived from the BPEL XML Schema.
231
 
 
 
Search WWH ::




Custom Search