QVT

In the model-driven architecture, 'QVT' (Queries/Views/Transformations) is a standard for model transformation defined by the Object Management Group.

Contents
Description
Implementations
Similar languages
Criticisms
See also
References
External links

Description


QVT Architecture

Model Transformation is the process of converting a model Ma conforming to metamodel MMa into a model Mb conforming to metamodel MMb. If MMa=MMb, then the transformation is 'endogenous' else it is an 'exogenous' transformation. 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 arbitrary 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 and also extends it to imperative OCL. Second QVT defines not one but three Domain Specific Languages named ''Relations'', ''Core'' and ''Operational Mappings'' and these languages are organized in a layered architecture. Relations and Core are declarative languages at two different levels of abstraction, with a normative mapping between them. The Relations language has a graphical concrete syntax. The QVT/OperationalMapping language is an imperative language 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 facilities expressed in other languages (XSLT, XQuery) is also an important part of the specification. It is especially useful for integrating existing non-QVT libraries.
For the time being the QVT standard only addresses model to model transformations, 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. They may be viewed as alternative transformation DSLs in the MDA technical space.

Implementations


Eclipse M2M:
Deals at the same time with open source "eclipse.org" implementations of QVT-Operationals, QVT-Relations, QVT-Core, QVT-Like and QVT-Infrastructure.

QVT implemented as "eclipse.org" open source [[1]]
QVT-Operational:

Borland Together is a component in Eclipse M2M . Partially QVT-compliant.

SmartQVT: an Eclipse open source implementation (France-Telecommunication) of the QVT-Operational language.
QVT-Relation:

ModelMorf : a transformation engine from TRDDC a subsidiary of Tata Consultancy Services, India; Also partially QVT-relations compliant, but proprietary, non open source implemention. High potential.

Medini QVT : QVT-Relations implementation from ikv++ technologies ag in Berlin, Germany. License: free for non-commercial use. High potential>
QVT-Core:

OptimalJ: Early acces implementation of the QVT-Core language in OptimalJ version 3.4 from Compuware. Will be fully industrially supported in later releases.

MTF : an IBM initial Alphawporks prototype for model transformations also partially QVT-compliant. Open source but not available on Eclipse.org.
QVT-Like:

Tefkat : an open source implementation of Tefkat language which is also similar to QVT. High potential. Open source but not available on Eclipse.org.

ATL : is a component in Eclipse M2M . ATL is a QVT-like transformation language and engine with a large user community and an open source library of transformations.

MOFLON : based on the CASE-Tool Fujaba. Implements Triple Graph Grammars, which can also be used for bi-directional model transformations. Open source but not available on Eclipse.org.

Similar languages


Several model transformation languages are presently available with different levels of compliance to the QVT standard.
''See list of available transformation languages''

Criticisms


Although QVT is an OMG recommendation, it is highly criticized for the following deficiencies:
# 'No complete implementation yet'. It seems quite difficult to achieve a full implementation of QVT within a reasonable amount of time. It is very likely that QVT 1.0 will never see any full compliant implementation because the specification is much too large.
# 'Fuzzy requirements'. The requirements for QVT are mainly the translation of PIM to PSM. Since the specification of what is really a PIM and a PSM was never achieved in the OMG MDA guide, the QVT requirements remains quite fuzzy.
# 'Limited usability'. QVT is for XMI to XMI transformations only. Since the quantity of real data natively encoded in XMI is 'very' limited (and rarely found), the potential applicability of QVT in industry is also and consequently rather limited. In order to be practically used, QVT tools need to be complemented by Model to Text or Text to Model tools. This is a very severe limitation.
# 'Huge Specification' (or the UML 2.x/SysML2.x Syndrome). It is very likely that no single tool will be ever able to implement all of this huge specification in a reasonable time.
# 'Premature standardization' This is typically a domain with little to no previous large scale industrial experience. The decision to publish at this point in time such a huge (and somewhat arbitrary) recommendation with twelve precise compliant points may seem a bit arrogant or at the least pretentious to certain. The reason to rush was probably the competition from W3C XML-based standards like XSLT or XQuery.
# 'Committee-defined'. QVT is composed of several parts contributed by different partners. This committee-defined syndrome is not specific to QVT, but it seems here to have achieved maximum effect.
Several of these criticisms may take less importance if we see broadly-used wide-scale full QVT implementations in the future. They will then seriously compete with XSLT or XQuery proposals which s not currently the case.

See also



Model Driven Engineering (MDE)

Model Driven Architecture (MDA): OMG's vision of MDE

Domain Specific Language (DSL)

Meta-Object Facility (MOF): a language to write metamodels

Object Constraint Language (OCL): a model constraint (and query) language

Model transformation

Model Transformation Language

Metamodel

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

External links



★ Object Management Group: MOF QVT Final Adopted Specification. Webpublished .pdf

★ Object Management Group: ''Model-Driven Architecture - Vision, Standards And Emerging Technologies''. Webpublished .pdf

★ Object Management Group: ''MDA Guide Version 1.0.1''. Webpublished .pdf

★ Brown, A: ''An Introduction to Model Driven Architecture''. In: The Rational Edge, Feb. 2004 (IBM developerWorks eZine). Webpublished .html (first article in a series of three)

★ Bohlen, M: ''QVT and multi metamodel transformation in MDA''. Webpublished .pdf (en), (ger)

★ Wagelaar, D: ''MDE Case Study: Using Model Transformations for UML and DSLs''. Webpublished .pdf

★ 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 (CA, USA). Webpublished .pdf

★ ModelBaset.net. ''MDA Tools''. Website

★ SoftwareMag.com. ''MDA Tools''. Webpublished .html

★ Yahoo Groups: ''ATL discussion list''. Website

★ Jouault, F and Kurtev, I :''On the Architectural Alignment of ATL and QVT''. In: Proceedings of ACM Symposium on Applied Computing (SAC 06), Model Transformation Track. Dijon (Bourgogne, FRA), April 2006. Webpublished .pdf

★ Eclipse : ''M2M/ATL is part of the new Top Level Modeling Project'' [2]

★ ATL on Eclipsepedia [3]

★ Gronmo, R, and Oldevik, J : ''An Empirical Study of the UML Model Transformation Tool (UMT)''. In: INTEROP-ESA'05, Feb. 2005. Webpublished .pdf

★ Voelter, M: ''Model Driven Software Development''. Webpublished .pdf

★ Portal site ''MDA and Model Transformation'': site access

This article provided by Wikipedia. To edit the contents of this article, click here for original source.

psst.. try this: add to faves