Modular Model Transformations
This approach introduces modular programming to model transformation development. A modularity concept is added to existing model transformation languages with information hiding support.
Development and maintenance of model transformations make up a substantial share of the lifecycle costs of software products that rely on model-driven techniques. In particular large and heterogeneous models lead to poorly understandable transformation code due to missing language concepts to master complexity.
We embed a module concept for model transformation languages into existing model transformation languages. The added concept allows programmers to control information hiding and strictly declare model and code dependencies at module interfaces. As a result, we can break down transformation logic into smaller parts, so that each part owns a clear interface for separating concerns. To meet the special demands of transformations, module interfaces give control over both model and code accessibility.
Our extension to the Xtend language is hosted at Github, https://github.com/qvt/xtend2m.
Sources are available at our SVN repository, https://svnserver.informatik.kit.edu/i43/svn/code/TransformationDevelopment/Xtendm/
For the experimental modular extension to Eclipse QVTo, see https://github.com/qvt/qvtom.
Sources are available at our SVN repository, https://svnserver.informatik.kit.edu/i43/svn/code/TransformationDevelopment/QVTom/
- A. Rentschler, D. Werle, Q. Noorshams, L. Happe, R. Reussner. Designing Information Hiding Modularity for Model Transformation Languages. Proceedings of the 13th International Conference on Modularity (AOSD '14), Lugano, Switzerland, April 2014. ACM, New York, NY, USA. April 2014, Accepted for publication. To appear.