QVT

QVT Architecture as shown in the OMG standard

QVT (Query/View/Transformation) is a standard set of languages for model transformation defined by the Object Management Group.[1]

Overview

Model transformation 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 (MOF) 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 there is a mechanism called QVT-BlackBox for invoking transformation facilities expressed in other languages (for example XSLT or XQuery).

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 (see MOFM2T).

History

In 2002, OMG issued a Request for proposal (RFP) on MOF Query/View/Transformation to seek a standard compatible with the Model Driven Architecture (MDA) recommendation suite (UML, MOF, OCL, etc.).

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.[3] QVT Version 1.1 was released in January 2011.[1]

Implementations

QVT-Operational:

QVT-Core:

QVT-Relations:

QVT-Like:

See also

References

  1. 1.0 1.1 Bast, Wim; Murphree, Michael; Lawley, Michael; Duddy, Keith; Belaunde, Mariano; Griffin, Catherine; Sendall, Shane; Vojtisek, Didier; Steel, Jim; Helsen, Simon; Tratt, Laurence; Reddy, Sreedhar; Venkatesh, R.; Blanc, Xavier; Dvorak, Radek; Willink. "Meta Object Facility (MOF) 2.0 Query/View/Transformation (QVT)". Object Management Group. Retrieved 9 May 2011. |first17= missing |last17= in Authors list (help)
  2. Stevens, Perdita (2011). "A simple game-theoretic approach to checkonly QVT Relations". Software and Systems Modeling (Berlin / Heidelberg: Springer) 12: 175. doi:10.1007/s10270-011-0198-8.
  3. Bast, Wim; Murphree, Michael; Lawley, Michael; Duddy, Keith; Belaunde, Mariano; Griffin, Catherine; Sendall, Shane; Vojtisek, Didier; Steel, Jim; Helsen, Simon; Tratt, Laurence; Reddy, Sreedhar; Venkatesh, R.; Blanc, Xavier; Dvorak, Radek; Willink. "Meta Object Facility (MOF) 2.0 Query/View/Transformation (QVT)". Object Management Group. Retrieved 1 Nov 2013. |first17= missing |last17= in Authors list (help)
  4. [m2m-dev] Borland QVT contribution
  5. 5.0 5.1 Eclipse M2M Project. http://www.eclipse.org/m2m/ . Retrieved 9 May 2011.
  6. ModelMorf beta. http://www.tcs-trddc.com/trddc_website/ModelMorf/ModelMorf.htm . Retrieved 9 May 2011.
  7. TCS Code Generator Framework (previously known as MasterCraft). http://www.tcs.com/offerings/technology-products/code-generator-framework/Pages/default.aspx . Retrieved 9 May 2011.
  8. Medini QVT. http://projects.ikv.de/qvt/wiki . Retrieved 9 May 2011.
  9. Kiegeland, J.; Eichler, H. (February 2008), "medini QVT workshop", Enschede, Telematica Instituut http://projects.ikv.de/qvt/downloads/22 Missing or empty |title= (help)
  10. Echo. http://haslab.github.io/echo. Retrieved 2 Nov 2013.
  11. jQVT. https://sourceforge.net/projects/jqvt/
  12. Model Transformation Framework. http://www.alphaworks.ibm.com/tech/mtf . Retrieved 9 May 2011.