QVT


QVT is a standard set of languages for model transformation defined by the Object Management Group.

Overview

is a key technique used in model-driven architecture. As the name QVT indicates, the OMG standard covers transformations, views and queries together. Model queries and model views can be seen as special kinds of model transformation, provided that we use a suitably broad definition of model transformation: a model transformation is a program which operates on models.
The QVT standard defines three model transformation languages. All of them operate on models which conform to Meta-Object Facility 2.0 metamodels; the transformation states which metamodels are used. A transformation in any of the three QVT languages can itself be regarded as a model, conforming to one of the metamodels specified in the standard. The QVT standard integrates the OCL 2.0 standard and also extends it with imperative features.
Finally, QVT-BlackBox is a mechanism to invoke transformation facilities expressed in other languages.
Although QVT has a broad scope, it does not cover everything that has been considered as a model transformation, view or query. For example, the QVT languages do not permit transformations to or from textual models, since each model must conform to some MOF 2.0 metamodel. Model-to-text transformations are being standardised separately by OMG.

History

In 2002, OMG issued a Request for proposal on MOF Query/View/Transformation to seek a standard compatible with the Model Driven Architecture recommendation suite.
Several replies were given by a number of companies and research institutions that evolved during three years to produce a common proposal, based on a draft by UK research Dr Laurence Tratt. The first version was submitted and approved in 2005. QVT Version 1.1 was released in January 2011.

Implementations

QVT-Operational:
QVT-Core:
QVT-Relations:
QVT-Like: