MICE: Model TransformatIon PerformanCe Engineering

One option to handle the continuous growth of the complexity of software systems is Model-Driven Engineering (MDE) which uses models as key artifacts. An essential operation on these models are model transformations which translate an input model into an output model. They are specified in transformation scripts executed by transformation engines at design time and at run time. For this the performance of transformations is an important aspect which needs to be considered. Today the current research focuses on optimizing the engines internally and transformation engineers are not supported in improving the transformation scripts themselves.

The project Model TransformatIon PerformanCe Engineering (MICE) addresses this issue by developing a method for performance engineering of model transformations. This method will enable the transformation engineer to systematically identify and visualize causes for performance issues as well as predict and improve the performance of model transformations. For this the software performance engineering (SPE) and worst case execution time (WCET) methods have to be adapted and specialized for model transformations by identifying and modeling the key impact factors of transformation scripts on performance. In addition monitoring and profiling approaches and their visualizations need to take features like transformation engine heuristics into account to become useful.

To ensure the generalizability the results are applied to the two transformation languages Henshin and QVTo. In addition we focus on the three different, following demonstrators: a common forward engineering model transformation at design time, self-adaptive cloud systems with soft real-time requirements and self-adaptive quadrocopter swarms with hard-real-time requirements.

This project is funded by the Deutsche Forschungsgemeinschaft (DFG, German Research Foundation) - Ti 803/4-1.