A Performance Analysis of Model Transformations and Tools

Model-Driven Engineering is a software development process that has gained popularity in the recent years. Unlike traditional software engineering processes, MDE is centered around models, instead of code. By using model transformations, models can be translated from one language to another, resulting in a separation of program architecture and execution platform. However, an increase in size of any of the elements required by the transformation process might lead to performance problems. Although these problems are common and well known in the field of software engineering, problems specific to MDE have not yet been investigated in sufficient depth. In this research, we compare the performance of three model transformation engines. These tools allow the transformation of models to be specified in ATL, QVT Operational Mappings and QVT Relations. Furthermore, different implementation strategies are evaluated to determine how language constructs affect the performance of the model transformation process. The implementation of model transformation engines determines the performance of the language. Increases of model size and complexity cause transformations to run slower, yet some transformation engines are a�ected more than others. ATL is the fastest performing language, followed by QVTo and QVTr in this order. Language constructs often allow developers to define the same model transformation in multiple ways. High metric values for the number of attribute helpers, and low values for the number of calls to allInstances() indicate better performance in ATL transformations. High values for the number of called rules metric suggests an imperative specification style, resulting in a negative impact on performance. The results from this research allow transformation designers to estimate the performance of their transformation definitions. Developers of model transformation tools can use our results to improve the current version of their tools.

[1]  Steffen Becker,et al.  Evaluating Maintainability with Code Metrics for Model-to-Model Transformations , 2010, QoSA.

[2]  Ivar Jacobson,et al.  The Unified Modeling Language User Guide , 1998, J. Database Manag..

[3]  Anas N. Al-Rabadi,et al.  A comparison of modified reconstructability analysis and Ashenhurst‐Curtis decomposition of Boolean functions , 2004 .

[4]  Ivan Kurtev Ivanov,et al.  Adaptability of model transformations , 2005 .

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

[6]  Joaquin Miller,et al.  MDA Guide Version 1.0.1 , 2003 .

[7]  Egon Berghout,et al.  The Goal/Question/Metric method: a practical guide for quality improvement of software development , 1999 .

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

[9]  Jean Bézivin,et al.  First experiments with the ATL model transformation language: Transforming XSLT into XQuery , 2003 .

[10]  Jr. Frederick P. Brooks,et al.  The mythical man-month (anniversary ed.) , 1995 .

[11]  Capers Jones,et al.  Software Engineering Best Practices , 2009 .

[12]  Ivan Kurtev,et al.  Adaptability of model transformations , 2005 .

[13]  Chet Langin,et al.  Languages and Machines: An Introduction to the Theory of Computer Science , 2007 .

[14]  Robert B. Grady,et al.  Software Metrics: Establishing a Company-Wide Program , 1987 .

[15]  Frank Weil,et al.  Summary of the 2006 model size metrics workshop , 2006, MoDELS'06.

[16]  Jean Bézivin,et al.  TCS:: a DSL for the specification of textual concrete syntaxes in model engineering , 2006, GPCE '06.

[17]  van den Mgj Mark Brand,et al.  Metrics for analyzing the quality of model transformations , 2008 .

[18]  Christian Lange,et al.  Model size matters , 2006, MoDELS'06.

[19]  Keith Stobie Too Darned Big to Test , 2005, ACM Queue.

[20]  Monperrus Martin,et al.  Counts count , 2007 .

[21]  Frédéric Jouault,et al.  On the architectural alignment of ATL and QVT , 2006, SAC '06.

[22]  van den Mgj Mark Brand,et al.  Quality assessment of ATL model transformations using metrics , 2011 .

[23]  Fred P. Brooks,et al.  The Mythical Man-Month , 1975, Reliable Software.

[24]  Mary Shaw Reduction of compilation costs through language contraction , 1974, CACM.

[25]  Egon Berghout,et al.  The Goal/Question/Metric Method: , 2000 .

[26]  Chris F. Kemerer,et al.  A Metrics Suite for Object Oriented Design , 2015, IEEE Trans. Software Eng..

[27]  Michel R. V. Chaudron,et al.  Empirical Investigations of Model Size, Complexity and Effort in a Large Scale, Distributed Model Driven Development Process , 2009, 2009 35th Euromicro Conference on Software Engineering and Advanced Applications.

[28]  Shari Lawrence Pfleeger,et al.  Software Metrics : A Rigorous and Practical Approach , 1998 .

[29]  Jean Bézivin,et al.  KM3: A DSL for Metamodel Specification , 2006, FMOODS.

[30]  Maurice H. Halstead,et al.  Elements of software science (Operating and programming systems series) , 1977 .

[31]  Scott N. Woodfield An Experiment on Unit Increase in Problem Complexity , 1979, IEEE Transactions on Software Engineering.