Towards a solution for improving the performance of model transformations inModel-Driven Development
Summary
Utilizing models in software engineering is gaining popularity and there is an increasing need to generate faster. There are many approaches available to fulfill this need by leveraging the Atlas Transformation Language (ATL) model transformation language and its underlying platform to improve the performance of a generator. However, these approaches are specific for declarative transformation languages, like ATL. In this thesis we do a knowledge analysis of several such approaches because of the good availability. These are ATL on MapReduce, multi-threaded ATL, live transformations and lazy transformations. All of these approaches rely on model element traceability which is why traceability approaches are also analyzed.
Our case study organization developed a generator where the model transformation are programmed in a general-purpose language. This limits the applicability of the available approaches in literature which is why a more generic approach is researched that improves the performance of model transformations. A reference architecture is proposed with corresponding documentation. This documentation describes important design decisions, required protocols and practical issues that must be taken into account or addressed when developing a generator aimed at faster model transformation. These design decisions and processes result from the performed case study where we implement approaches from the knowledge analysis. First, traceability is implement followed by partial model transformation that use the insights gathered from traceability. Both are prerequisites from parallel and incremental model transformation which are common approaches to reduce the time needed to finish a task. Finally, an experiment is performed with parallel model transformation which shows a performance improvement of 2.5 to 3.5 times.