Jump to content

QVT

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by MDE (talk | contribs) at 13:23, 8 April 2006. The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

Presentation

Of particular importance to [[Model Driven Engineering]) or Model Driven Architecture is the notion of model transformation. The OMG has defined a specific standard for model transformation called MOF/QVT or in short QVT.

Several model transformation languages like VIATRA or the ATLAS Transformation Language are presently available, with different level of compliance with the QVT standard.

Description

Model transformation is a critical component of MDA. Recognizing this, an RFP (Request for proposal) has been issued by OMG on MOF Query/Views/Transformations to seek a standard compatible with the 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 that was submitted and approved. Presently there are several products (commercial or open source) that claim compliance to the QVT standard. QVT defines a standard way to transform source models into target models. There are several ideas in this proposal. One is that the source and target models may conform to arbitraries MOF metamodels. Another one is that the transformation program is considered itself as a model, and as a consequence also conforms to a MOF metamodel. This means more precisely that the abstract syntax of QVT should conform to a MOF 2.0 metamodel. As a matter of fact, this is a bit more complex. First the QVT language integrates the OCL 2.0 standard. Second QVT defines not one but three languages (domain specific languages) namedRelations, Core and Operational Mappings and these languages are organized in a layered architecture. Relations and Core aredeclarative languages at two different levels of abstraction, with a normative mapping between them. The Relations language has a graphicalconcrete syntax. The QVT/OperationalMapping language is an imperativelanguage that extends both QVT/Relations and QVT/Core. The syntax of the QVT/OperationalMappings language provides constructs commonly found in imperative languages (loops, conditions, etc.). Finally a mechanism called QVT/BlackBox for invoking transformation facilitiesexpressed in other languages (XSLT, XQuery) is also an important partof the specification.

For the time being the QVT standard only addresses model to modeltransformations, model meaning some entity conforming to any MOF 2.0 metamodel. All transformations of type model to text or text to model whatever the text is (XML, Code, SQL, etc.) are presently outside the scope of QVT and possibly subject to other standardization initiatives.

See also

Articles

References

  • The MDA Journal: Model Driven Architecture Straight From The Masters
  • Model Driven Architecture: Applying MDA to Enterprise Computing, David S. Frankel, John Wiley & Sons, ISBN 0-471-31920-1
  • On the Architectural Alignment of ATL and QVT. Frederic Jouault, Ivan Kurtev in: Proceedings of ACM Symposium on Applied Computing (SAC 06), Model Transformation Track, Dijon, Bourgogne, France, (April 2006).


  • Czarnecki, K, and Helsen, S : Classification of Model Transformation Approaches. In: Proceedings of the OOPSLA'03 Workshop on the Generative Techniques in the Context Of Model-Driven Architecture, Anaheim, California, USA. [[2]]
  • MDA Tools. Webpublished. [[3]]
  • Gronmo, R, and Oldevik, J : An Empirical Study of the UML Model Transformation Tool (UMT). [[4]]