Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be 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.4"

(Query language improvements)
Line 8: Line 8:
 
== Query language improvements ==
 
== Query language improvements ==
  
* Aggregator support
+
In addition to the previously supported <code>count</code> keyword, there are now several new '''aggregators''' available (including <code>sum</code>, <code>min</code> and <code>max</code>, as well as an API for user-defined aggregators) to compute an aggregated value from matches of a called pattern.
 +
 
 +
The query language now allows '''Java type constraints''', both as parameter types and as variable type constraints in pattern bodies. The recommended use case is that query parameters that are a result of (a) an <code>eval()</code> or (b) aggregation expression should be annotated with their Java types (note that in this case using an EDatatype would be incorrect, since these values are not EMF attribute values from the model). Java type names can be referenced by prefixing them with the keyword <code>java</code>, and of course namespace imports are available. So, for example, after <code>import java java.lang.String</code>, a query parameter may be typed as follows: <code>prettyPrinted: java String</code>.
 +
 
 
* Parameter direction support
 
* Parameter direction support
 
* Search engine declaration
 
* Search engine declaration
* Java type references
 
  
 
== Query development environment improvements ==
 
== Query development environment improvements ==

Revision as of 05:25, 16 September 2016

VIATRA 1.4 - New and Noteworthy

Local search support

  • Planner and runtime
  • Runtime configuration using hints

Query language improvements

In addition to the previously supported count keyword, there are now several new aggregators available (including sum, min and max, as well as an API for user-defined aggregators) to compute an aggregated value from matches of a called pattern.

The query language now allows Java type constraints, both as parameter types and as variable type constraints in pattern bodies. The recommended use case is that query parameters that are a result of (a) an eval() or (b) aggregation expression should be annotated with their Java types (note that in this case using an EDatatype would be incorrect, since these values are not EMF attribute values from the model). Java type names can be referenced by prefixing them with the keyword java, and of course namespace imports are available. So, for example, after import java java.lang.String, a query parameter may be typed as follows: prettyPrinted: java String.

  • Parameter direction support
  • Search engine declaration

Query development environment improvements

  • New views and perspective introduced in VIATRA 1.3 graduated (by default, new views are proposed)
  • Several issues updated
  • Match filtering, locate query

Base indexer enhancements

* Wildcard mode can be set up later than construction
* Statistical indexing


Design Space Explorer enhancements

  • Method for setting the logging level: OFF, WARN, BASIC, VERBOSE_STRATEGY and VERBOSE_FULL
  • If the exploration is started asynchronously, it can be stopped by these methods: stopExploration(), stopExplorationAsync(), waitForTerminaition().
  • The evolutionary exploration strategy now can run on with multiple threads.
  • Depth first search strategy can continue exploration from a solution.
  • Minor performance enhancements.
  • Updated documentation on the wiki and also in the code: https://wiki.eclipse.org/VIATRA/DSE/UserGuide/API

Other issues

Version 1.4 also features a large number of under-the-hood changes, the most important is an updated hint system to enable fine-grained parametrization of the query engines. Usually, this change should be invisible for existing users; for possible migration issues see the Migration Guide.

In total more, than 70 issues were fixed in this release, see https://projects.eclipse.org/projects/modeling.viatra/releases/1.4.0/bugs for details.

Back to the top