QVT


QVT

In the model-driven architecture, QVT (Query/View/Transformation) is a standard for model transformation defined by the Object Management Group.

Description

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, otherwise it is an exogenous transformation. Model transformation is a critical component of model-driven architectures (MDA). Recognizing this, a Request for proposal (RFP) has been issued by OMG on MOF Query/View/Transformation 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 textual and 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 and transformations.

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

QVT-Operational:
*Borland Together is a component in the M2M Eclipse project. Partially QVT-compliant.
*SmartQVT: an Eclipse open source implementation (Orange Labs) of the QVT-Operational language. QVT compliant and high potential.
*Eclipse M2M official Eclipse open source implementation of QVT operational (Relation and Core will be developed on another subproject) [http://wiki.eclipse.org/M2M/Operational_QVT_Language_(QVTO) M2M QVT operational Wiki]

QVT-Relation:
* [http://www.tcs-trddc.com/ModelMorf/index.htm ModelMorf] : a transformation engine from [http://www.tcs-trddc.com TRDDC] a subsidiary of Tata Consultancy Services, India; Also partially QVT-relations compliant, but proprietary, non open source implementation. High potential.
* [http://projects.ikv.de/qvt medini QVT] : QVT-Relations implementation from [http://www.ikv.de ikv++ technologies ag] in Berlin, Germany. The eclipse based RCP includes an editor with code assistant and a debugger. License: free for non-commercial use.

QVT-Core:
*OptimalJ: Early access implementation of the QVT-Core language in OptimalJ version 3.4 from Compuware. Will be fully industrially supported in later releases.
* [http://www.alphaworks.ibm.com/tech/mtf MTF] : an IBM initial Alphaworks prototype for model transformations also partially QVT-compliant. Open source.

QVT-Like:
*Tefkat : an open source implementation of Tefkat language which is also similar to QVT. High potential. Open source.
* [http://www.moflon.org/ MOFLON] : based on the CASE-Tool [http://www.fujaba.de/ Fujaba] . Implements Triple Graph Grammars, which can also be used for bi-directional model transformations. Open source.

Similar languages

"See list of available transformation languages""

ee 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 [http://www.omg.org/docs/ptc/07-07-07.pdf .pdf]

* Object Management Group: "Model-Driven Architecture - Vision, Standards And Emerging Technologies". Webpublished [http://www.omg.org/mda/mda_files/Model-Driven_Architecture.pdf .pdf]

* Object Management Group: "MDA Guide Version 1.0.1". Webpublished [http://www.omg.org/docs/omg/03-06-01.pdf .pdf]

* Brown, A: "An Introduction to Model Driven Architecture". In: The Rational Edge, Feb. 2004 (IBM developerWorks eZine). Webpublished [http://www-128.ibm.com/developerworks/rational/library/3100.html .html] (first article in a series of three)

* Bohlen, M: "QVT and multi metamodel transformation in MDA". Webpublished [http://galaxy.andromda.org/jira/secure/attachment/10780/QVT+article+mbohlen+2006.pdf .pdf (en)] , [http://galaxy.andromda.org/jira/secure/attachment/10744/bohlen_OS_02_06_k4.pdf (ger)]

* Wagelaar, D: "MDE Case Study: Using Model Transformations for UML and DSLs". Webpublished [http://ssel.vub.ac.be/Members/DennisWagelaar/docs/uml1cs-pres.pdf .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 [http://www.swen.uwaterloo.ca/~kczarnec/ECE750T7/czarnecki_helsen.pdf .pdf]

* Planet-MDE. "MDA Tools". [http://planet-mde.org/ Website]
* ModelBaset.net. "MDA Tools". [http://www.modelbased.net/mda_tools.html Website]
* SoftwareMag.com. "MDA Tools". Webpublished [http://www.softwaremag.com/L.cfm?Doc=2005-04/2005-04 .html]

* Gronmo, R, and Oldevik, J : "An Empirical Study of the UML Model Transformation Tool (UMT)". In: INTEROP-ESA'05, Feb. 2005. Webpublished [http://interop-esa05.unige.ch/INTEROP/Proceedings/IndustrialPresentations/Gronmo.pdf .pdf]

* Voelter, M: "Model Driven Software Development". Webpublished [http://www.voelter.de/data/articles/cgn.pdf .pdf]

* Portal site "MDA and Model Transformation": [http://www.model-transformation.org/ site access]


Wikimedia Foundation. 2010.

Look at other dictionaries:

  • QVT — (Query/View/Transformation)] est un standard défini par l OMG. Il s agit d un langage standardisé pour exprimer des transformations de modèles. La notion de transformation de modèles est essentielle en Ingénierie dirigée par les modèles ou MDA… …   Wikipédia en Français

  • QVT — Query View Transformation (MOF QVT) ist eine Spezifikation der Object Management Group, die eine (Programmier ) Sprache für Modell zu Modell Transformationen beschreibt. QVT ist Teil der Meta Object Facilities (MOF), einer Sammlung von Dokumenten …   Deutsch Wikipedia

  • Qvt — Query View Transformation (MOF QVT) ist eine Spezifikation der Object Management Group, die eine (Programmier ) Sprache für Modell zu Modell Transformationen beschreibt. QVT ist Teil der Meta Object Facilities (MOF), einer Sammlung von Dokumenten …   Deutsch Wikipedia

  • QVT — noun Abbreviation of Query/View/Transformation, a standard for model transformation in a certain model driven architecture. UML models may be automatically transformed to other representations (e.g. Java) by means of QVT like transformation… …   Wiktionary

  • QVT — Quality Verification Testing (Business » General) Quality Verification Testing (Governmental » Military) Quality Verification Testing (Governmental » NASA) Quality Verification Testing (Computing » Software) Quality Verification Testing… …   Abbreviations dictionary

  • QVT — • Quality Verification Testing ( > IEEE Standard Dictionary ) • Qualified Verification Testing NASA …   Acronyms

  • QVT — [1] Quality Verification Testing ( > IEEE Standard Dictionary ) [2] Qualified Verification Testing ( > NASA Acronym List ) …   Acronyms von A bis Z

  • QVT — quae vixit …   Abbreviations in Latin Inscriptions

  • QVT — abbr. Quality Verification Testing …   Dictionary of abbreviations

  • MOF QVT — Query View Transformation (MOF QVT) ist eine Spezifikation der Object Management Group, die eine (Programmier ) Sprache für Modell zu Modell Transformationen beschreibt. QVT ist Teil der Meta Object Facilities (MOF), einer Sammlung von Dokumenten …   Deutsch Wikipedia