Author:
Bernhard Westfechtel
Affiliation:
University of Bayreuth, Germany
Keyword(s):
Model-driven Software Engineering, Bidirectional Model Transformations, QVT Relational.
Related
Ontology
Subjects/Areas/Topics:
Cross-Feeding between Data and Software Engineering
;
Formal Methods
;
Model-Driven Engineering
;
Simulation and Modeling
;
Software Engineering
;
Software Engineering Methods and Techniques
Abstract:
In model-driven software engineering, high-level models of a software system are eventually transformed into
executable code. Model transformations constitute a key technology for model-driven software engineering.
QVT Relations (QVT-R) is a language for the declarative specification of model transformations which was
defined in an OMG (Object Management Group) standard. In addition to unidirectional transformations, QVT-R
supports bidirectional transformations: Rather than writing two unidirectional transformations separately,
the user may provide a single relational specification which may be executed in both directions. In this way,
the specification of a bidirectional transformation may be simplified considerably — which is crucial e.g. for
round-trip engineering. This paper investigates a case study for evaluating QVT-R’s capabilities for specifying
bidirectional transformations. Even in this rather simple case study, development of a bidirectional transformation
turns out to be
more complex than expected. Motivated by the case study, we propose extensions to
QVT-R which facilitate the specification of bidirectional transformations considerably.
(More)