Model transformation plays an important role in model-driven software development that aims to introduce significant efficiencies and rigor to the theory and practice of software development. Although models may have different notations and representations, they are basically graphs, and model transformations are thus nothing but graph transformations. Despite a large amount of theoretical work and a lot of experience with research prototypes on graph-based model transformations, it remains an open issue how to compose model transformations. In this paper, we report our first attempt at a compositional framework for graph-based model transformations using the graph querying language UnQL. The main idea of UnQL is that graph queries are fully captured by structural recursion that is suitable for efficient composition. We show that the idea can be applied to graph-based model transformations. We have implemented a prototype of the framework and tested it with several nontrivial examples. Our new framework supports systematic development of model transformation "in the large" with the advantage that it can automatically remove inefficiencies arising from their composition.
This motivated us to extend the framework from graph querying to graph transformation and apply it to model transformation REF ).
Towards a compositional approach to model transformation for software development
SAC '09
Computer Science