Model transformations (MT) are the backbone of the Model-Driven concept. Primarily, MTs are programs that receive as input a source model that conforms to its source metamodel and produces a target model conforming to a target metamodel. Based on the work of <ref name="MTSurvey">Czarneck i K., Helsen S.: Feature-based survey of model transformation approaches. IBM Syst .J. 45 (3) (2006) 621-645</ref> MTs are categorised into model-to-code (M2C) and model-to-model (M2M) transformation approaches. In general, transforming models to code can be treated as a special case of model-to-model transformations; where a metamodel is provided for the target programming language. However, for many reasons (e.g., reusability) code is usually generated as text rather than its model.

 general overview of a model transformation

Model-to-Code

M2C transformation (a.k.a. automated code generation) is the act of generating source code of an application from high-level models. Automated code generation can be also considered as a special subset of MT yielding textual languages as their target model. Their aim is to simply speed up development, increase code quality, and comply to coding standards. VIATRA2 supports mode-to-code generation in different ways.

Model-to-Model

A M2M transformation (usually referred as model transformation) takes as input a model conforming to a source metamodel and produces as output another model conforming to a target metamodel.

Usually, M2M are further categorised into

Both of these transformation categories are supported by the transformation language of the VIATRA2 framework.

References

<references/>