Model Transformation Design Patterns

This catalogue of MT design patterns is a resource for MT developers, and contains descriptions and application examples of patterns which have been found useful for MT development in a variety of MT languages. It forms a `pattern language' of inter-related patterns which can be used separately or combined.

The catalogue is based on our paper "Model Transformation Design Patterns" in IEEE Transactions in Software Engineering, 2014.

If you would like to submit a new pattern or pattern example to this resource, please contact us: kcl At

MT Design Pattern Catalogue

The patterns can be grouped into several categories: Fundamental MT patterns, which are of wide application across many kinds of transformation and MT languages, and are used or specialised in other MT patterns; Modularisation patterns, which concern the structuring and decomposition of transformations; Optimisation patterns, which concern transformation efficiency; Model-to-text patterns, which are specialised patterns for M2T transformations; Expressiveness patterns, which provide techniques to expand MT language capabilities; Architectural patterns, which identify ways to organise systems of transformations; and Bidirectional transformation patterns, which define techniques to implement this category of transformations.

Some of the relationships between these patterns are shown below: