Skip to main content

Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

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

m (Add emphasis)
Line 1: Line 1:
 
= Model Query Evaluation =
 
= Model Query Evaluation =
  
* Better compatibility with incorrect notifications, e.g. duplicate delete events: strict mode in Base {{bugstrike|514525}}
+
VIATRA 1.6 provides a few new features providing better compatibility with various models the queries need to be evaluated on. In general, VIATRA should work out of the box the same way it worked before, but there are some settings that allow a more finely tuned behaviour for these cases.
 +
 
 +
In previous versions of VIATRA, in case of incorrect notifications (e.g. duplicate model deletion events), strange exceptions were thrown from the pattern matcher. In version 1.6, the model indexer identifies most of these cases and provides a more precise error message what happens. For these cases, it is also possible to tell the indexer to ignore these incorrect notifications by turning the ''strict notification mode'' off.
 +
 
 
* Dangling edges {{bug|512752}}
 
* Dangling edges {{bug|512752}}
  
Line 20: Line 23:
 
[[File:Viatra_Query_Coverage_report.png|thumbnail]]
 
[[File:Viatra_Query_Coverage_report.png|thumbnail]]
  
* New customization options, e.g. EMF Scope, general Java comparison support, see {{bug|506498}}, {{bug|513147}} and {{bug|513391}}
+
The query testing capabilities of VIATRA were extended to support a wider range of models and queries. This required new customization options for the test definition DSL, including support for non-default EMF resources as models and using more generic Java types in the query result snapshots. For a more detailed definitions of these features look [[VIATRA/Query/UserDocumentation/QueryTestFramework|at the documentation documentation]].
* When testing your patterns, you can measure their '''test coverage''' (similar to what EclEmma does to Java code). The coverage can be reported as an HTML file which immediately shows which patterns need more testing. See [[VIATRA/Query/UserDocumentation/QueryTestFramework#Coverage_analysis_and_reporting|the feature's documentation]] for details.
+
 
 +
When testing your patterns, you can measure their '''test coverage''' (similar to what EclEmma does to Java code): the constraints described in the patterns that were used during the evaluation of the queries. The coverage can be reported as an HTML file which immediately shows which patterns need more testing. See [[VIATRA/Query/UserDocumentation/QueryTestFramework#Coverage_analysis_and_reporting|the feature's documentation]] for details.
  
 
= Documentation updates =
 
= Documentation updates =
 +
 +
[[File:VIATRA query explain message.png|thumbnail|]]
  
 
To make it easier to get started with VIATRA, a [http://www.eclipse.org/viatra/documentation/tutorial.php tutorial] is added that presents an example for query and transformation development. In order to make the tutorial available for even more users, this documentation is also included in the platform help.  
 
To make it easier to get started with VIATRA, a [http://www.eclipse.org/viatra/documentation/tutorial.php tutorial] is added that presents an example for query and transformation development. In order to make the tutorial available for even more users, this documentation is also included in the platform help.  
  
[[File:VIATRA query explain message.png|thumbnail|]]
 
 
A few '''error messages''' in the query editor related to enumerable and non-enumerable references had been reported to hard to understand. In this version the error messages have been updated, and a quick fix was also added that updates a detailed explanation for the message. In future versions we plan to extend this support to make other error messages more understandable.
 
A few '''error messages''' in the query editor related to enumerable and non-enumerable references had been reported to hard to understand. In this version the error messages have been updated, and a quick fix was also added that updates a detailed explanation for the message. In future versions we plan to extend this support to make other error messages more understandable.
  
 
= GEF5-based visualization =
 
= GEF5-based visualization =
  
The Zest-based graph visualization components (Rete visualizer, Local search debugger and the graph visualization support of Viewers) was updated to rely on the latest GEF version 5.0 (available with Eclipse Oxygen). As GEF5 depends on JavaFX and e(fx)clipse, they have to be available in the runtime.
+
[[File:VIATRA Rete Visualizer.png|thumbnail]]
 +
 
 +
The graph-based components, specifically the [[VIATRA/Query/UserDocumentation/RETE_Visualizer|Rete visualizer]], [[VIATRA/Query/UserDocumentation/LocalSearch_DebuggerTooling|Local search debugger]] and the [[VIATRA/Addon/VIATRA_Viewers|graph visualization support of Viewers]], were updated to rely on the latest GEF version 5.0 (available with Eclipse Oxygen). This results in an updated, JavaFX based display and further bugfixes available for these components by default.
 +
 
 +
Following the dependencies of GEF5 to use these features in the future, JavaFX (available from Java 8) and e(fx)clipse is required to be installed.

Revision as of 12:03, 26 May 2017

Model Query Evaluation

VIATRA 1.6 provides a few new features providing better compatibility with various models the queries need to be evaluated on. In general, VIATRA should work out of the box the same way it worked before, but there are some settings that allow a more finely tuned behaviour for these cases.

In previous versions of VIATRA, in case of incorrect notifications (e.g. duplicate model deletion events), strange exceptions were thrown from the pattern matcher. In version 1.6, the model indexer identifies most of these cases and provides a more precise error message what happens. For these cases, it is also possible to tell the indexer to ignore these incorrect notifications by turning the strict notification mode off.

Code generator updates

VIATRA Query Codegen Options.png

For users targeting other environment than Eclipse plug-ins, it is now possible to disallow the updating of MANIFEST.MF and plugin.xml files. The bundle manifest is updated to ensure all packages that contain query specifications are exported, while plugin.xml files are used by the query specification registry to load all patterns during runtimes.

This setting is available as a workspace-level preference or a per-project setting. By default, these settings are turned on (so both files are updated on each build), maintaining compatibility with previous releases.

The other major change relates to the handling of private patterns. Given private patterns are not expected to be used outside calling them from patterns in the same vql file, the generated code does not need all the type-safe wrappers generated. However, to make private patterns testable using the query test API, the generated QuerySpecification classes were moved to a dedicated package were they could be made public without exporting them to all users of the query bundles.

Resource mapping support in Maven generator

You can now specify the location of metamodels referred to via platform:/resource URIs with the uriMappings configuration element. See this wiki page for more details. bug 507748

Query Test Framework updates

Viatra Query Coverage report.png

The query testing capabilities of VIATRA were extended to support a wider range of models and queries. This required new customization options for the test definition DSL, including support for non-default EMF resources as models and using more generic Java types in the query result snapshots. For a more detailed definitions of these features look at the documentation documentation.

When testing your patterns, you can measure their test coverage (similar to what EclEmma does to Java code): the constraints described in the patterns that were used during the evaluation of the queries. The coverage can be reported as an HTML file which immediately shows which patterns need more testing. See the feature's documentation for details.

Documentation updates

VIATRA query explain message.png

To make it easier to get started with VIATRA, a tutorial is added that presents an example for query and transformation development. In order to make the tutorial available for even more users, this documentation is also included in the platform help.

A few error messages in the query editor related to enumerable and non-enumerable references had been reported to hard to understand. In this version the error messages have been updated, and a quick fix was also added that updates a detailed explanation for the message. In future versions we plan to extend this support to make other error messages more understandable.

GEF5-based visualization

VIATRA Rete Visualizer.png

The graph-based components, specifically the Rete visualizer, Local search debugger and the graph visualization support of Viewers, were updated to rely on the latest GEF version 5.0 (available with Eclipse Oxygen). This results in an updated, JavaFX based display and further bugfixes available for these components by default.

Following the dependencies of GEF5 to use these features in the future, JavaFX (available from Java 8) and e(fx)clipse is required to be installed.

Back to the top