ITWissen.info - Tech know how online

query view transformation (OMG) (QVT)

Query View Transformation (QVT) is a formally based and OMG standardized language that provides a generic approach to model transformation. Model transformation is fundamental in the context of Model Driven Architecture( MDA), since only through a model-to-model transformation is a sufficient model transfer possible. By way of example, reference is made here to UML models in the software development process, insofar as these are to be used beyond the scope of specification and documentation.

QVT is a specification that was released as a standard in April 2008 in version 1.0. QVT integrates the concepts of models and metamodels as specified by the Meta Object Facility( MOF) standard, which was also defined. The acronym QVT stands approximately for"queries, views and transformations". Queries are queries on a MOF model with the aim of finding such model elements that are to be transformed. According to the understanding of the OMG specification View is a model, which was derived from an origin model. Transformations finally are the mappings of elements of the source model on the elements of the target model. Thereby transformations take over one or several source elements, convert these, in order to generate so one or also several target elements.

The languages for metamodel-oriented transformations

The QVT specification defines three different languages for the process of the metamodel-oriented transformation. In addition to an imperative language for describing model transformations, QVT also provides a declarative part - the QVT Relations Language, which defines a graphical syntax as well as a textual one. The imperative language is also called Operational Mappings Language, and it can be used to write both imperative and hybrid transformations.

The market of QVT tools is still in a state of active development - but there are already some products available - also as open source. Here are to be mentioned among other things for QVT relations mediniQVT, Together of Borland, SmartQVT or OpQVT, which is integrated as a component of the Eclipse Modelling initiative into Eclipse. It is also known from field reports that the graphical QVT relations language is supported by the UML tool Enterprise Architect. Typical usage scenarios for QVT are uni- or bidirectional model transformations or model verification.

Query View Transformation (QVT) provides the ability to define transformation rules between different languages based on their metamodels, and then transform corresponding instances of them. The concepts of models and metamodels are also based on a standard given by the OMG - the Meta Object Facility (MOF). According to this, a model is the abstract representation of the structure and function as well as the behavior of a system. A metamodel describes a set of models so that they are thereby abstracted.

Definition via metamodels

QVT itself is defined over metamodels, is a so-called hybrid transformation language and integrates thereby a declarative and an imperative part. Thus on the one hand the set of relations between patterns is described declaratively and on the other hand operationally a set of sequential instructions for the transformation imperatively. The patterns correspond to the metamodels used for transformation.

Metamodels exist for each of the three languages of QVT, which in turn are based on the Object Constraint Language( OCL) 2.0. The specification distinguishes between the relational, the operational and the core language.

QVT language relationships

QVT language relationships

The figure shows in the middle the relational and core parts, which together form the declarative aspect of QVT. The imperative aspects are shown in the figure to the right and left. The operational language is used to describe the implementation of the transformation. The black box defines an interface for transformation languages implemented outside of QVT. Likewise a trace model equivalent to the relational language is defined here.

QVT has its special position in the context of the Model Driven Architecture (MDA) - here in the context particularly in connection with the model-to-model transformation. The great advantage of the QVT relational language is that a graphical syntax has been defined in addition to the textual notation. At the Platform Specific Model( PSM) level, therefore, not only is a model-to- code transformation possible, but a model can also be created.

Informations:
Englisch: query view transformation (OMG) - QVT
Updated at: 29.10.2013
#Words: 681
Links: object management group (OMG), model transformation, monochrome display adapter (MDA), unified modelling language (Internet) (UML), software (SW)
Translations: DE
Sharing:    

All rights reserved DATACOM Buchverlag GmbH © 2024