Optimization Patterns for OCL-Based Model Transformations

Writing queries and navigation expressions in OCL is an important part of the task of developing a model transformation definition. When such queries are complex and the size of the models is significant, performance issues cannot be neglected. In this paper we present five patterns intended to optimize the performance of model transformations when OCL queries are involved. For each pattern we will give an example as well as several implementation alternatives. Experimental data gathered by running benchmarks is also shown to compare the alternatives.

[1]  Alfred V. Aho,et al.  Principles of Compiler Design , 1977 .

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

[3]  Martin Gogolla,et al.  Analyzing Semantic Properties of OCL Operations by Uncovering Interoperational Relationships , 2008, Electron. Commun. Eur. Assoc. Softw. Sci. Technol..

[4]  Stéphane Bonnet,et al.  Performance Improvement of MDD Tools , 2006, 2006 10th IEEE International Enterprise Distributed Object Computing Conference Workshops (EDOCW'06).

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

[6]  Frédéric Jouault,et al.  Transforming Models with ATL , 2005, MoDELS.

[7]  Hassan Charaf,et al.  An optimizing OCL Compiler for Metamodeling and Model Transformation Environments , 2006, SET.

[8]  Alfred V. Aho,et al.  Principles of Compiler Design (Addison-Wesley series in computer science and information processing) , 1977 .

[9]  Jean-Michel Bruel,et al.  Satellite Events at the MoDELS 2005 Conference , 2006 .

[10]  Dániel Varró,et al.  Benchmarking for graph transformation , 2005, 2005 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC'05).

[11]  J. Gil,et al.  Implementation Patterns , 2004 .

[12]  Richard F. Paige,et al.  The Epsilon Transformation Language , 2008, ICMT@TOOLS.

[13]  Hassan Charaf,et al.  Restrictions for OCL Constraint Optimization Algorithms , 2006, Electron. Commun. Eur. Assoc. Softw. Sci. Technol..

[14]  Krzysztof Sacha Software Engineering Techniques: Design for Quality, SET 2006, October 17-20, 2006, Warsaw, Poland , 2007, SET.