Getting Started Tutorial

The getting started tutorial gives an overview of the query and transformation capabilities of VIATRA, including both the development tools and the runtime API as well.


In order to execute model queries, VIATRA features a dedicated query language based on the graph pattern formalism. To ease integration of model queries into applications, a Java-based API is also available.

VIATRA Transformations

Transformations in VIATRA are based on the reactive transformation engine called EVM. The transformations are described as rules reacting to certain events, including but not limited to changes in the match set of query specifications. In order to create transformations over EMF models, a transformation DSL is implemented as an internal DSL over the Xtend language that supports common batch and event-driven transformation scenarios.

Addons and Integrations

To ensure VIATRA can be easily integrated into various Java applications, a number of addons and integrations are available that allow using the query results as validation errors, member of data binding and several other items. To support UML editors, a special integration library is also available for UML-based tools in Eclipse.

Release information

For details about the new features in each release and information about migrating between various versions, have a look at the new and noteworthy documents for each version.

Other sources of documentation

VIATRA maintained a large amount of documentation in the Eclipse wiki. These pages are being reviewed and their contents updated and moved into these pages accordingly. The wiki will be kept for users of older releases, but they are not planned to be updated.

Starting with VIATRA 1.6 (and the Oxygen release), parts of the project documentation is also available in the Eclipse Help Center. In future versions, most information available from these pages should be available from there as well.