Skip to main content
Jump to: navigation, search

Difference between revisions of "VIATRA/Releases/NewAndNoteworthy1.3"

(Feature Summary)
m (Query by Example: Create queries based on selected model elements)
 
(5 intermediate revisions by 4 users not shown)
Line 3: Line 3:
 
=== Neon compatibility ===
 
=== Neon compatibility ===
  
'''TODO'''
+
Previous versions of VIATRA were not 100% compatible the Eclipse Neon release for multiple reasons:
VIATRA is fully compatible with the Eclipse Neon, including Xtext, EMF and Data binding.
+
 
 +
* 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 ===
 
=== Query development environment update ===
  
'''TODO'''
+
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 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.
 
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 incubation feature '''TODO''' to try out the new '''Query Registry''' and '''Query Results''' views.
+
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.
 
* 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.
 
* 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.
 
* 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: create queries based on selected model elements ===
  
'''TODO'''
+
Query by Example (QBE), a new feature to ease query development, was included in this version. This new tool is primarily aimed at users who want to define queries, but are only familiar with the concrete syntax of a modeling language (i.e. the view presented through a graphical or textual editor), not the intricate details of its abstract syntax (metamodel, EPackgage).
  
=== Model transformation debugger prototype ===
+
Instead of manually writing .vql files, QBE allows the user to specify a query using an ''example'' - a selection of EMF instance objects highlighted in a model editor or viewer (both EMF tree editors and graphical editors are supported). The QBE tool will discover how the selected elements are related to each other in the model, and generate a .vql query that will find groups of model elements that are arranged similarly.
  
VIATRA 1.3.0 now features the first prototype of the VIATRA Transformation debugger, which aims at helping the development and debugging of VIATRA-based model transformations.
+
The newly introduced ''Query by Example view'' allows the user to control the process of (a) identifying elements selected in an open model file as the example, (b) fine-tuning the options of interpreting the example, and (c) exporting the resulting query to .vql code. The exported query can be loaded into the Query Explorer (or the new Query Results view) for evaluation and testing; if necessary, adjustments can still be made in the Query by Example view (e.g. adding or removing additional constraints).
  
==== Feature Summary ====
+
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 [https://www.cs.york.ac.uk/es/cmseba/papers/Bergmann.pdf Graph Query by Example].
The VIATRA Transformation Debugger fields the following main features:
+
 
 +
=== 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.
 
* Allows the transformation developer to observe the inner state of the given VIATRA transformation and the associated model instances.
Line 39: Line 44:
 
* Integrates with the Eclipse Debug framework.
 
* Integrates with the Eclipse Debug framework.
  
It should be noted, that the debugger is still a prototype, therefore it has some known limitations. In its current state, it only supports the debugging of VIATRA transformations that run in the same JVM as the debugger itself. Intef-JVM communication will be introduced in future versions, so stay tuned.
+
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.
 
+
==== User's guide ====
+
  
 
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
 
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
Line 47: Line 50:
 
=== Other issues ===
 
=== Other issues ===
  
'''TODO'''
+
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/MigrationTo1.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.

Latest revision as of 09:37, 7 July 2016

VIATRA 1.3 - New and Noteworthy

Neon compatibility

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 (QBE), a new feature to ease query development, was included in this version. This new tool is primarily aimed at users who want to define queries, but are only familiar with the concrete syntax of a modeling language (i.e. the view presented through a graphical or textual editor), not the intricate details of its abstract syntax (metamodel, EPackgage).

Instead of manually writing .vql files, QBE allows the user to specify a query using an example - a selection of EMF instance objects highlighted in a model editor or viewer (both EMF tree editors and graphical editors are supported). The QBE tool will discover how the selected elements are related to each other in the model, and generate a .vql query that will find groups of model elements that are arranged similarly.

The newly introduced Query by Example view allows the user to control the process of (a) identifying elements selected in an open model file as the example, (b) fine-tuning the options of interpreting the example, and (c) exporting the resulting query to .vql code. The exported query can be loaded into the Query Explorer (or the new Query Results view) for evaluation and testing; if necessary, adjustments can still be made in the Query by Example view (e.g. adding or removing 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

Other issues

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 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.

Back to the top