EMF-IncQuery

EMF-IncQuery 0.8.1 released and EclipseCon plans

We have released version 0.8.1 of EMF-IncQuery, a release fixing a selection of bugs. It is recommended for all users of EMF-IncQuery to update to this latest version. The update is available both from Eclipse Marketplace and the project download page.

EMF-IncQuery 0.8.0 Released

The EMF-IncQuery project is happy to report that our new release with the version 0.8.0 is available now from the Eclipse.org download servers or the Eclipse Marketplace.

A year's worth of research in retrospect

It's the end of the year according to both the calendar, as well as my research grant. I have spent some of this past year doing research on the connection of OCL and graph queries. I have also tried to explain and illustrate my research topic in previous posts of this very blog, and let the readers keep tabs on what I was up to all this time. Let's do a quick recap.

Measuring up

My previous blog post demonstrated my OCL to EMF-IncQuery transformation OCL2IQ in action. Here I am presenting my first performance measurements to investigate whether this solution fulfills the original promise of my research: delivering efficient, incremental query evaluation for a subset of OCL expressions by transforming them to graph patterns of equivalent semantics, and applying EMF-IncQuery on them.

It is alive!

In one of my earlier blog posts, I have outlined the basic ideas and transformation patterns that accomplish a translation of (a subset of) OCL expressions into graph patterns. The theory was illustrated by running examples from the school case study, where the purpose of querying was to find classmates with the same name. The good news is that I have managed creating an experimental implementation of this translation that maps OCL expressions to equivalent graph patterns.

Syndicate content

Developers

Contact Information

What is EMF-IncQuery?

EMF-IncQuery is a framework for defining declarative queries over EMF models, and executing them efficiently without manual coding.

For the query language, we reuse the concepts of graph patterns (which is a key concept in many graph transformation tools) as a concise and easy way to specify complex structural model queries. High runtime performance is achieved by adapting incremental graph pattern matching techniques.

We believe the average programmer using EMF models will like EMF-IncQuery for the following reasons:

  • declarative queries can be evaluated over EMF without manually traversing the models,
  • complex interrelated constellations of EMF objects can be easily formulated as a graph pattern,
    • the language is expressive and provides powerful features such as negation or counting,
    • graph patterns are composable and reusable,
    • queries can be evaluated with great freedom, i.e. input and output parameters can be selected at run-time,
    • some frequently encountered shortcomings of EMF’s interfaces are addressed:
      • easy and efficient enumeration of all instances of a class regardless of location,
      • simple backwards navigation along all kinds of references (even without eOpposite)
      • finding objects based on attribute value,
  • the incremental query evaluation mechanism offers a significant performance boost when frequently querying complex structural patterns with a moderate amount of modifications in-between (e.g. during continuous validation),
  • from the declarative representation of queries, pattern matcher code is generated which can be distributed as Eclipse plug-ins with very few dependencies.