Model Driven Development systems exploit the benefit of instance model validation and model transformation. Ever-growing model sizes used for example in critical embedded systems development require more and more efficient tools. The most time consuming step during model validation or model transformation is the model query step. This benchmark aims to measure batch style query and incremental style query performance of existing EMF based tools.
Benchmarking query technologies in EMF based model-validation scenarios
Providing incremental updates for queries, part I
After discussing the importance of modeling and the concept of model queries (with OCL and EMF-IncQuery), one of the introductory blog posts presented the challenge posed by model evolution. Incremental query evluation was suggested then as a solution, without going into the details of how it can be achieved for a query language such as the one of EMF-IncQu
Providing incremental updates for queries, part II: expression evaluation
After the overview presented in my previous blog post, I am now going to discuss incremental expression evaluation, a.k.a. the eval() language element, which is my most recent contribution to EMF-IncQuery. The examples continue to rely upon the School metamodel introduced here.
Xcore meets IncQuery: How the new generation of DSLs are made - talk at EclipseCon Europe 2013
The EMF-IncQuery Project is proud to announce our talk at this year's EclipseCon Europe conference titled "Xcore meets IncQuery: How the New Generation of DSLs Are Made".
Have you ever got lost in a complex domain-specific model? Are you familiar with Facebook's Graph Search? Ever wished something like this would be available for your favorite EMF-based tool? It is, it's called EMF-IncQuery. In fact, it can do more than Graph Search, because you can create live queries, meaning you get live updates for your search results as the model is being edited. In the talk, we'll show you some of the most powerful features that this technology can be used for in practice.
See you on 31 October between 14:15 - 14:50 in Seminarräume 1-3!
The technology presented in this talk is the result of a collaboration between Ed Merks, Tamas Szabo (itemis AG) and the EMF-IncQuery team. Read the rest of the blog post below for more information regarding the presentation and the live demos.
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.
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.
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.
EMFxcel: Having Fun with Excel and Eclipse Modeling Tools
Graph patterns from OCL: a performance evaluation
Model-driven tools use model queries for many purposes, including validation of well-formedness rules and specification of derived features. The majority of declarative model query corpus available in industry appears to use the OCL language. Graph pattern based queries, however, would have a number of advantages due to their more abstract specification, such as performance improvements through advanced query evaluation techniques. As query performance can be a key issue with large models, evaluating graph patterns instead of OCL queries could be useful in practice. The measurements presented here give justification to automatically mapping OCL to equivalent graph patterns by showing that one can deliver efficient, incremental query evaluation for a subset of OCL expressions.
Query-driven incremental synchronization of view models
Views are key concepts of domain-specific modeling in order to provide specific focus of the designers by abstracting from unnecessary details of the underlying abstract model. Usually, these views are represented as models themselves (view models), computed from the source model. However, the efficient maintenance of views when the source model changes is challenging, as recalculation from scratch has to be avoided to achieve scalability. This benchmark aims to measure query-based view model creation performance from detailed source models with the EMF-IncQuery framework.
Three papers accepted at MODELS 2014
Three papers by our research group have been accepted at the MODELS 2014 (ACM/IEEE Model Driven Engineering Languages and Systems) scientific conference, the top international forum for model-driven software engineering.
VIATRA-CEP
Introduction
Streaming model transformations represent a novel class of transformations dealing with models whose elements are continuously produced or modified by a background process. Executing streaming transformations requires efficient techniques to recognize the activated transformation rules on a potentially infinite input stream. Detecting a series of events triggered by compound structural changes is especially challenging for a high volume of rapid modifications, a characteristic of an emerging class of applications built on runtime models.
Extended Program Query Evaluation
TBA
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.
Three papers accepted at MODELS 2014
Three papers by our research group have been accepted at the MODELS 2014 (ACM/IEEE Model Driven Engineering Languages and Systems) scientific conference, the top international forum for model-driven software engineering.
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.
mbeddr meets IncQuery - Combining the Best Features of Two Modeling Worlds - EclipseCon Europe 2014
We are proud to announce that this year’s EclipseCon again had a talk about EMF-IncQuery, this time in the context of an integration project with a different modeling world. During the summer, we have started to work on the MPS-IncQuery project, which aims to bring IncQuery’s powerful features to the world of the Meta Programming System (MPS) from JetBrains. MPS is a powerful language workbench which is designed to ease the development of domain specific and general purpose languages, plus their IDEs.
EMF-IncQuery 0.9.0 Released
We have released version 0.9.0 of EMF-IncQuery, a release involving a major refactor of our query backend to support non-EMF query scopes, some minor user facing features and fixing a selection of bugs. In addition, the tooling has been updated to use Xtext 2.7. It is recommended for all users of EMF-IncQuery to update to this latest version, which is available both from Eclipse Marketplace and the project download page.
Live querying over UML models
Starting with EMF-IncQuery version 1.0.0.201503271636, it is possible to formulate patterns which query non-trivial structural features of UML models such as qualified name, which didn't work before. Let's see this feature in action through a small example that validates UML models!