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.
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.
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.
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.
Traditioally, the end-user documentation of VIATRA was maintained in the Eclipse wiki. These pages are being reviewed and their contents updated and moved into these pages accordingly. The wiki pages will be kept for users of older releases, but they are not planned to be updated.
Starting with VIATRA 1.6 (and the Oxygen simultaneous release), the end-user documentation of the project is also available in the Eclipse Help Center (both online and in the local installations). In future versions, most information available from these pages should be available from there as well.
Documentation meaningful for committers and contributors of the VIATRA project is still kept in the Eclipse wiki