EMF-IncQuery 0.6.5 Released

Just in time for our presentation at the MODELS 2012 Conference in Innsbruck, we have reached a major milestone: the brand new version 0.6.5 of EMF-IncQuery has been released. You can get it from the getting started page.

Together with this milestone, we are also pleased to inform everyone that the Creation Review for the Eclipse.org EMF-IncQuery subproject has been scheduled for October 10th, and EMF-IncQuery is also available from the Eclipse Marketplace!

The main highlights of version 0.6.5 are the followings:

  • Since the last officially publicized milestone (0.4), more than 30 man-months of development effort have been invested into the project.
    • The new version features a significantly rewritten pattern matching engine using IncQuery Base. IncQuery's pattern matcher, as in previous versions, is capable of nearly instantaneous query (re)evaluation performance for very complex queries over large instance models up to several million EObjects in size. Version 0.6.5 improves on 0.4's core capabilities by including support for efficient transitive closures.
    • EMF-IncQuery now has a state-of-the-art Xtext-based Eclipse UI.
    • Interpretative query evaluation (originally appearing in 0.6.0) enables the query developers to test their queries without generating code from them first. Of course, the generated version performs better (due to compiled check expressions) and has an easier-to-use, pattern-specific generated API.
    • In addition to the powerful graph-pattern based query language, IncQuery also has experimental support for Xbase check expressions so that you can include (side effect free) imperative logic and even Java code into your queries.
    • The query language features automated variable type inference and several other validation rules to make the development of complex, structured queries easier and faster.
  • Notable additional top-level features include:
  • We have also put a lot of work into the website, most notably:
    • The documentation section has been extended to cover all important aspects of the technology, including the User Interface, the Query Language, and the Java API.
    • The continuously maintained and expanded Examples section provides starting points and hints for new as well as experienced users.