Modular Model Transformations

Aus SDQ-Wiki
Zur Navigation springen Zur Suche springen

Description

ModularTransformations.png

This approach introduces modular programming to model transformation development. A modularity concept is added to existing model transformation languages with information hiding support.

Motivation

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.

Implementations

To demonstrate its applicability, the approach has been integrated into two domain-specific languages, Xtend2 and Eclipse QVT-O.

Xtend2m

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/

QVTom

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/

Publication

  • 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.

Contact

See also