On this page

Introduction

QVT (Query/View/Transformation) is a standard defined by the Object Management Group for specifying model-to-model transformations. Model-to-model transformation is a key aspect in a model-driven development, and QVT is one of the most popular transformation languages.

The new QVT plugin significantly increases MagicDraw usability while working with model transformations. There is no need to export your model to EMF UML2 XMI in order to run a QVT transformation. From now on, you can run model transformations directly in MagicDraw - the QVT plugin uses the Operational QVT implementation that is provided by the Eclipse M2M project.

Features

With this no cost plugin applied to MagicDraw you can run a QVT transformation script in one of the following ways:

  • Via the Create Macro dialog (see the following figure), as the plugin supports the JSR 223-compliant QVT script engine.

  • As a script or programming language that is supported in MagicDraw.

The new plugin supports transformations between models that are based either on the same metamodel or on different metamodels.

Supported usage scenarios

  • Check-only transformations to verify that models are related in a specified way.
  • Single direction transformations.
  • The ability to establish relationships between pre-existing models, whether developed manually or through some other tool or mechanism.
  • Incremental updates when one related model is changed after initial execution.
  • The ability to create as well as delete objects and values, while also being able to specify which objects and values must not be modified.

Example of transforming UML classes to relational database tables

This example maps classes of a UML model to the tables in an RDBMS model. The example shows a signature and an entry point of the Uml2Rdb transformation, which transforms UML classes into relational database tables. For the description of both metamodels and for the definition of this transformation, see Annex A of QVT specification. After the QVT plugin is installed, this sample is available in/samples/QVT.

Documentation

Additional information

Eclipse M2M project

QVT 1.0 OMG specification

Plugin compatibility