Incremental evaluation of model queries over EMF models

Model-driven development tools built on industry standard platforms, such as the Eclipse Modeling Framework (EMF), heavily utilize model queries in model transformation, well-formedness constraint validation and domain-specific model execution. As these queries are executed rather frequently in interactive modeling applications, they have a significant impact on runtime performance and end user experience. However, due to their complexity, these queries can be time consuming to implement and optimize on a case-by-case basis. Consequently, there is a need for a model query framework that combines an easy-touse and concise declarative query formalism with high runtime performance. In this paper, we propose a declarative EMF model query framework using the graph pattern formalism as the query specification language. These graph patterns describe the arrangement and properties of model elements that correspond to, e.g. a well-formedness constraint, or an application context of a model transformation rule. For improved runtime performance, we employ incremental pattern matching techniques: matches of patterns are stored and incrementally maintained upon model manipulation. As a result, query operations can be executed instantly, independently of the complexity of the constraint and the size of the model. We demonstrate our approach in an industrial (AUTOSAR) model validation context and compare it against other solutions.

[1]  István Ráth,et al.  Incremental pattern matching in the viatra model transformation system , 2008, GRaMoT '08.

[2]  Perdita Stevens A Simple Game-Theoretic Approach to Checkonly QVT Relations , 2009, ICMT@TOOLS.

[3]  Gabriele Taentzer,et al.  Translation of Restricted OCL Constraints into Graph Constraints for Generating Meta Model Instances by Graph Grammars , 2008, GT-VMT@ETAPS.

[4]  Frédéric Jouault,et al.  Towards Incremental Execution of ATL Transformations , 2010, ICMT@TOOLS.

[5]  Márk Asztalos,et al.  Manual and automated performance optimization of model transformation systems , 2010, International Journal on Software Tools for Technology Transfer.

[6]  Roger D. Launius,et al.  The Eclipse Project , 2012 .

[7]  Arend Rensink,et al.  Representing First-Order Logic Using Graphs , 2004, ICGT.

[8]  Holger Giese,et al.  Proceedings of the Eighth International Workshop on Graph Transformation and Visual Modeling Techniques , 2009 .

[9]  Jordi Cabot,et al.  Incremental integrity checking of UML/OCL conceptual schemas , 2009, J. Syst. Softw..

[10]  Diego Calvanese,et al.  The Description Logic Handbook: Theory, Implementation, and Applications , 2003, Description Logic Handbook.

[11]  Michael Lawley,et al.  Incremental model transformation for the evolution of model-driven systems , 2006, MoDELS'06.

[12]  Dániel Varró,et al.  The model transformation language of the VIATRA2 framework , 2007, Sci. Comput. Program..

[13]  Kevin Lano,et al.  Slicing of UML models using model transformations , 2010, MODELS'10.

[14]  Perdita Stevens,et al.  Modelling Recursive Calls with UML State Diagrams , 2003, FASE.

[15]  Alexander Egyed,et al.  Incremental Consistency Checking of Dynamic Constraints , 2010, FASE.

[16]  Ákos Horváth,et al.  Efficient Model Transformations by Combining Pattern Matching Strategies , 2009, ICMT@TOOLS.

[17]  Holger Giese,et al.  From model transformation to incremental bidirectional model synchronization , 2009, Software & Systems Modeling.

[18]  Gabriele Taentzer,et al.  Precise Semantics of EMF Model Transformations by Graph Transformation , 2008, MoDELS.