ADVANCED TECHNIQUES FOR THE IMPLEMENTATION OF MODEL TRANSFORMATION SYSTEMS

Gergely Varró · 2008

When developing software applications in a model-driven way by the MDD paradigm, the high-level system models designed by software engineers are automatically converted to platform-specific representations (such as J2EE, .NET, or CORBA) and later to program code bymodel transformations. In the current thesis, I propose advanced support for executing complex model transformations. I also analyze the performance and the tool integration capabilities of model transformation systems. In software engineering, the leading trend of Model-Driven Development (MDD) aims at creating system models on various abstraction levels, and automatically transforming these models into each other. In this process, a large number of modeling languages and tools are involved. Powerful domain-specific modeling environments frequently provide rich support for developing editors, and code generators, but the design of model transformations are usually not supported properly in these industrial tools. This thesis primarily focuses on to provide advanced support for executing complex model transformations within and between these modeling languages. The MDD approach requires these transformations to be (i) captured by a high-level specification language, (ii) automatically executed by efficient algorithms and techniques, and (iii) extensively supported by industrial quality tools. Though model transformations can be appropriately defined by the specification languages of the Query/Views/Transformations (QVT) standard, several performance and tool integration related issues are missing from both the design and the implementation of model transformation algorithms, techniques and tools despite the fact that the declarative and rule-based paradigm of graph transformation already provides a well-defined formal specification framework for implementing model transformations. In the current thesis, I propose several advanced, graph transformation based techniques for the implementation of model transformation systems by also assessing their performance and analyzing their tool integration capabilities. Benchmarking framework for graph transformation. I propose a benchmarking framework, which enables quantitative performance analysis and comparison of graph transformation tools and their optimization strategies. Graph transformation in relational databases. I elaborate a provenly correct method for the implementation of graph transformation built on top of a relational database, and I assess the performance of the approach by using different databases and several parameter and optimization strategy settings. Adaptive graph transformation. I present an adaptive method for executing model-specific search plans in order to improve the performance of graph transformation in its pattern matching phase. Incremental graph transformation. I elaborate a notification framework based incremental method for graph pattern matching, which stores partial matchings explicitly in the main memory and updates them incrementally, when notifications about model changes arrive. Additionally, I assess the performance of the approach by comparing it to a traditional graph transformation tool.

Read the paper · More papers on PaperTik