Xcore meets IncQuery - How the New Generation of DSLs are Made
Ecore is the de-facto industry standard framework for building standard and custom domain-specific modeling languages. Xcore builds on the powerful Xtext framework to bring the advantages of textual DSLs to Ecore modeling, making it significantly easier and faster to construct and maintain modeling languages in industrial practice. In this talk, we present a new technology that takes language engineering to the next level by integrating live graph search (as supported by EMF-IncQuery) right into the heart of DSLs. As a result, the new generation of Xcore DSLs can leverage powerful, query-based derived values and relationships (that support notifications) that open up a wide range of new possibilities in interlinking various DSLs (traceability), live validation, model view - view model and models-at-runtime applications.
In the talk, we use concrete examples to show how
- even beginners can create powerful and expressive DSLs from scratch, without having to learn complex and difficult languages such as OCL;
- Xbase, the familiar (Java-like) language can be used in powerful incremental graph queries over EMF models;
- such metamodel-integrated graph queries can significantly enhance the expressive power and usefulness of a DSL;
- yet, the model management and query performance of such a new generation DSL scales exceptionally well even as model sizes grow to the millions. We illustrate this with a case study from the automotive domain.
The technology presented in this talk is the result of a collaboration between Ed Merks, Tamas Szabo (itemis AG) and the EMF-IncQuery team.