Abstract
The Model Driven Architecture (MDA) is an approach to develop software based on
different models. There are separate models for the business logic and for
platform specific details. Moreover, code can be generated automatically from
these models. This makes transformations a core technology for MDA
and for model-based software engineering approaches in general. QVT
(Query/View/Transformation) is the transformation
technology recently proposed
for this purpose by the OMG.
TGGs (Triple Graph Grammars) are another transformation technology proposed in
the mid-nineties, used for example in the FUJABA CASE tool. In contrast to many
other transformation technologies, both QVT and TGGs declaratively define the
relation between two models. With this definition, a transformation
engine can execute a transformation in either direction and, based on the same
definition, can also propagate changes from one model to the other.
In this paper, we compare the concepts of the declarative languages of QVT and
TGGs. It turns
out that TGGs and declarative QVT have many concepts in common. In fact, QVT-Core can
be mapped to TGGs. We show that QVT-Core can be implemented by transforming QVT-Core mappings
to TGG-rules, which can then be executed by a TGG transformation
engine that performs the actual QVT-transformation. Furthermore, we discuss
an approach for mapping QVT-Relations to TGGs.
Based on the semantics of TGGs, we clarify semantic gaps that we
identified in the declarative languages of QVT and, furthermore, we show how
TGGs can benefit from the concepts of QVT.
| Original language | English |
|---|---|
| Journal | Software and Systems Modeling |
| Volume | 9 |
| Issue number | 1 |
| Pages (from-to) | 21-46 |
| ISSN | 1619-1366 |
| DOIs | |
| Publication status | Published - 2010 |
Keywords
- MDA
- model transformation
- Query/View/Transformation (QVT)
- Triple Graph Grammar (TGG)
- model based software engineering