Detecting Performance Bad Smells for Henshin Model Transformations

In model-driven software engineering, model transformations are used for the specification of model changes. Similar to programs also model transformations can exhibit bad smells which indicate possible weaknesses. In this paper, we address bad smells which can negatively affect the performance of the application of model transformations, particularly, model transformations defined in Henshin. Based on a description of the Henshin interpreter and its performance enhancing strategies, we describe a set of bad smells and corresponding detectors. We evaluate the detectors by applying them to the example rule set of Henshin.

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

[2]  Andy Schürr,et al.  An Algorithm for Generating Model-Sensitive Search Plans for EMF Models , 2012, ICMT@TOOLS.

[3]  Frank Budinsky,et al.  Eclipse Modeling Framework , 2003 .

[4]  Andrés Vignaga Measuring ATL Transformations∗ , 2009 .

[5]  Gabriele Taentzer,et al.  Henshin: advanced concepts and tools for in-place EMF model transformations , 2010, MODELS'10.

[6]  Laurence Tratt,et al.  A change propagating model transformation Language , 2008, J. Object Technol..

[7]  Thomas Engel,et al.  On an Automated Translation of Satellite Procedures Using Triple Graph Grammars , 2013, ICMT.

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

[9]  Jordi Cabot,et al.  A Catalogue of Refactorings for Model-to-Model Transformations , 2012, J. Object Technol..

[10]  Antonio Cicchetti,et al.  JTL: A Bidirectional and Change Propagating Transformation Language , 2010, SLE.

[11]  Roberto Bruni,et al.  Evaluating the Performance of Model Transformation Styles in Maude , 2011, FACS.

[12]  Jean Bézivin,et al.  ATL: A model transformation tool , 2008, Sci. Comput. Program..

[13]  Reiko Heckel,et al.  Towards refactoring of rule-based, in-place model transformation systems , 2012, AMT '12.

[14]  Annegret Habel,et al.  Correctness of high-level transformation systems relative to nested conditions† , 2009, Mathematical Structures in Computer Science.

[15]  Gabriele Taentzer,et al.  AGG: A Graph Transformation Environment for Modeling and Validation of Software , 2003, AGTIVE.

[16]  Frank Budinsky,et al.  EMF: Eclipse Modeling Framework 2.0 , 2009 .

[17]  van den Brand,et al.  Metrics for model transformations , 2010 .

[18]  Albert Zündorf,et al.  Story Diagrams: A New Graph Rewrite Language Based on the Unified Modeling Language and Java , 1998, TAGT.

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

[20]  Albert Zündorf,et al.  Graph Pattern Matching in PROGRES , 1994, TAGT.