mbeddr meets IncQuery – Combining the Best Features of Two Modeling Worlds

October 29, 2014    

The mbeddr Eclipse project provides an industry-strength IDE for C development,

which aims to bring embedded software development to a whole new level by providing many advanced features tightly integrated right in the IDE, such as requirements tracing, physical units right in the C code, and embedded formal verification features. mbeddr is built on the MPS (Meta Programming System) projectional language workbench, a highly modular and extensible platform that allows language engineers to extend already existing DSLs by introducing extensions, in order to perfectly tailor the programmer’s UX to the target domain.

EMF-IncQuery is a state-of-the-art live graph search engine

that supports incremental query evaluation over EMF (Eclipse Modeling Framework) models. EMF-IncQuery supports advanced features such as on-the-fly constraint checking, live model synchronization and automated view maintenance, and it is used in high performance modeling tools to process very large instance models efficiently.

In this talk, we introduce MPS-IncQuery, a new technology that combines the flexible projectional language engineering features of MPS with the power of live graph search provided by EMF-IncQuery.

The highlights of the talk are:

  • We show how easy it is to compose new languages to be used within mbeddr. The original query DSL for IncQuery was constructed using Eclipse Xtext, and we’ll show how to map such a language into the projectional MPS environment in a straightforward way.
  • We highlight how IncQuery gives a functionality and performance boost to mbeddr, with on-the-fly constraint checking, scope computation with transitive queries, and live maintenance of UI views.
  • We demonstrate how to put all of this to practical use to make the life of automotive/embedded developers a lot easier.

The technology presented in this talk is the result of a collaboration between the mbeddr and the EMF-IncQuery teams.