A Performance Analysis of Model Transformations and Tools
28-11-2011 § Leave a comment
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 eld of software engineering, problems specic to MDE have not yet been investigated in suffcient depth.
In this research, we compare the performance of three model transformation engines. These tools allow the transformation of models to be specied in ATL, QVT Operational Mappings and QVT Relations. Furthermore, dierent implementation strategies are evaluated to determine how language constructs aect 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 aected more than others. ATL is the fastest performing language, followed by QVTo and QVTr in this order.
Language constructs often allow developers to dene 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 specication style, resulting in a negative impact on performance.
The results from this research allow transformation designers to estimate the perfor mance of their transformation denitions. Developers of model transformation tools can use our results to improve the current version of their tools.
Steven Bosems, A Performance Analysis of Model Transformations and Tools, MSc Thesis, 2011