VIATRA 1.3 - New and Noteworthy
Previous versions of VIATRA were not 100% compatible the Eclipse Neon release for multiple reasons:
- VIATRA 1.3 is the first version to be compatible with Xtext 2.10.
- JFace data binding in Neon requires Java 1.8. However, in order to be compatible with older releases as well, VIATRA is compiled with older versions, but is ensured it is compatible with the current release.
However, VIATRA is still compatible with older platform versions up to the Indigo release.
Query development environment update
We have introduced a Transformation Development perspective to make it easier for VIATRA users to focus on developing queries and transformations. The perspective opens and lays out the most important views and contains view and new wizard shortcuts for all VIATRA related functionality.
We are also working on a new approach for query development that will replace the monolithic functionality of the current Query Explorer. You can install the separate feature VIATRA Query Browser (Incubation) to try out the new Query Registry and Query Results views.
- Both views are connected with the Properties view to provide additional information about selected elements.
- The Query Registry view shows all registered and workspace queries without the need to load them from the pattern editor directly.
- Models and queries can be loaded into the Query Results view similarly to the Query Explorer.
Query-by-Example: Create queries based on selected model elements
Query-by-Example, a new feature to ease query development was included in this version, creating pattern definitions based on the selection in current model editors (both EMF tree editors and graphical editors are supported). The implementation offers a dedicated view to fine-tune the pattern (e.g. add or remove additional constraints). The feature can be installed by selecting the VIATRA Query-by-Example (Incubation) addon from the VIATRA repository.
For further details, check the paper from CMSEBA'14 Graph Query by Example.
Model transformation debugger prototype
VIATRA 1.3.0 now features the first prototype of a Model Transformation Debugger, which aims at helping the development and debugging of VIATRA-based model transformations. The debugger supports the following main features:
- Allows the transformation developer to observe the inner state of the given VIATRA transformation and the associated model instances.
- Displays the model instances associated with the transformation in a tree view with Properties support.
- Displays the active activations of the model transformation using a contemporary Eclipse view.
- Displays the precondition parameters of the next activation to be executed using the Eclipse Variables view.
- Allows the transformation developer to control the execution of the VIATRA model transformation.
- Supports the definition of various VIATRA transformation specific breakpoints, which integrate with the Eclipse Debug framework.
- The user can control the execution of the transformation via the standard Eclipse Debugging controls (Step over (F6), Resume (F8)).
- The user can define which transformation rule activaton should be executed next, overriding the default decision bade by the transformation.
- Integrates with the Eclipse Debug framework.
It should be noted, in its current state, the debugger only handles VIATRA transformations that run in the same JVM as the debugger itself. Inter-JVM communication will be introduced in future versions.
A detailed user's guide is part of the main VIATRA documentation and can be accessed via the following link: http://static.incquerylabs.com/projects/viatra/viatra-docs/ViatraDocs.html#_viatra_debugger
Version 1.3 also features a large number of under-the-hood changes, the most important is a rewritten type inferrer that works largely the same, but provides more precise error messages. Usually, this change should be invisible for existing users; for possible migration issues see the [VIATRA/Releases/MigrationGuide1.3 Migration Guide].
Another important area of such changes are enhancements for local search. A number of issues were fixed related to incorrect planning or plan execution in various areas; and for the next version further enhancements are planned in this area.
In total more, than 70 issues were fixed in this release, see https://projects.eclipse.org/projects/modeling.viatra/releases/1.3.0/bugs for details.