Say goodbye to EMF-IncQuery… say hello to VIATRA Query!

We have some very interesting news to share with you today! Six years after the introduction of EMF-IncQuery (originally based on the incremental query evaluation technology of the old VIATRA2 framework), we are now merging EMF-IncQuery with the new VIATRA

There are two key reasons behind this move:

  • The new VIATRA has matured significantly since its inception two years ago, and it is now a state-of-the-art reactive model transformation platform. We felt that it is time to graduate the VIATRA project, with the first release of the merged project planned for April 2016.
  • VIATRA and EMF-IncQuery have been developed in close co-operation for the last two years, and there is a big overlap between the committer teams. We are confident that this move will make everyone’s lives easier, and be especially beneficial to our users.

As part of this process, we are introducing a new component structure for VIATRA that makes it easy to categorize the different parts of the project and understand the relations between them. The main components are the following (origins in brackets):

  • Query: the pattern language, query editor, code generator and query evaluation runtime (EMF-IncQuery)
  • Transformation: the event-driven virtual machine (EMF-IncQuery), the internal transformation DSL and related development tools (VIATRA)
  • CEP: the Complex Event Processing framework (VIATRA)
  • DSE: the Design Space Exploration framework (VIATRA)
  • Integration: GMF, Graphiti, MWE2, UML, MoDisco and Xcore integration features (EMF-IncQuery)
  • Addon: frameworks that extend the core functionality, such as data binding support, validation, query-based derived features and the Viewers framework for on-the-fly model visualization (EMF-IncQuery)
  • Model obfuscator: standalone tool for obfuscating EMF models (VIATRA)

This plan has already been approved by the Eclipse review process, and now we are in the middle of the technical migration process. Right now, we have finished the process of moving EMF-IncQuery code and examples to the main VIATRA repository, and have renamed and reorganised the code to reflect the new component structure. 

As part of this process, the version number of all plugins were updated as needed, mature plugins and features are 1.2.0, while incubation functionality is at 0.12.0 to make it clear that these are newer than the released 1.1.0 version of EMF-IncQuery. While we are gearing up for our first release after the merge, we will also update the VIATRA update site to the new component structure.

To make this big change easier for our users, we have prepared a migration guide and tool that will be able to update your existing EMF-IncQuery projects and code that uses it to the new naming scheme. This tool will be available as part of the SDK feature.

Since the EMF-IncQuery project has been archived, the main website and the update site URLs are now redirected. You can find the new update site addresses for previous EMF-IncQuery versions on this dedicated page. The new address of the release update sites are the following:

http://download.eclipse.org/viatra/incquery/updates/release 
http://download.eclipse.org/viatra/incquery/updates-extra/release

Courtesy of IncQuery Labs Ltd. there is also a mirror of the EMF-IncQuery release update sites:

http://static.incquerylabs.com/projects/incquery/updates/release/
http://static.incquerylabs.com/projects/incquery/updates-extra/release/

The industrial support behind the new VIATRA platform, as well as our dedication to answer any and all questions regarding our projects is stronger than ever, so feel free to reach out on the Eclipse Forums of VIATRA or the developer mailing list.

Thanks for reading!

On behalf of the EMF-IncQuery and VIATRA teams:
Ábel Hegedüs, Zoltán Ujhelyi, István Ráth (co-leads)