IncQuery gets Sirius: faster and better diagrams
Modern domain-specific modeling environments offer rich graphical editors, which provide multiple views to highlight specific aspects of the design, in order to manage complexity. Such views may capture taxonomy or containment hierarchies, as well as interconnections of the system under design, and offer advanced navigation and traceability means to highlight a selected element in different related views. Within Eclipse, the Sirius project provides an easy way to define such graphical modeling environments.
However, similarly to database views, it is a challenging problem to maintain graphical views when the source model changes, either by the user or by automated tool services. This is especially true when working with large and complex Sirius diagrams. However, there is help on the horizon: EMF-IncQuery, the state-of-the-art live model query engine of the Eclipse ecosystem avoids the recalculation of views from scratch after each individual source model change, and provides blazing fast reaction times even for very large diagrams. This talk introduces an extension to Sirius that combines the advanced visualization features of Sirius with the power of live model search provided by EMF-IncQuery to define automatically synchronized views.
The highlights of the talk are:
IncQueries for interpreted expressions: We demonstrate how we integrated the IncQuery query language into Sirius to provide an alternative high-performance interpreted expression language besides the built-in AQL. As a novelty, our approach supports automatic diagram updates by change impact analysis by initiating a refresh only when a change in the source model affects an element in the view.
Live abstractions: We highlight how easy it is to define additional non-persisted derived views based on a combination of a Sirius diagram definition and a set of queries on your original model. Such live abstractions can provide a significant boost to the usability of your modeling tool, by giving the user the ability to create abstract or compact and automatically updated graphical views of their models, without Java coding.
Scalability: Finally, we present an initial scalability measurement to demonstrate how our query-driven views can scale up to industrial size models (the “one million model element” challenge) within a cyber-physical system context.
This work is being developed in collaboration between IncQuery Labs Ltd. and the Fault Tolerant Systems Research Group of the Budapest University Technology and Economics (BUTE). BUTE’s participation is partially funded by the CONCERTO EU Artemis project.
Contributors: Abel Hegedus [IncQuery Labs Ltd.] Zoltan Ujhelyi [IncQuery Labs Ltd.] Ádám Lengyel [BUTE] Csaba Debreceni [BUTE] Dániel Varró [BUTE]