VIATRA2/GettingStarted/Model Transformations Intro
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  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.
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 model-to-code generation in different ways.
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
- Intra model transformations , where both the source and the target models are conforming to the same metamodel. A good example for intra MTs are simulations, where the manipulation is taken on the same model.
- Inter model transformation , where the source and target metamodels differ. Typical model transformations (e.g., UML-to-RDBMS) are usually InterMTS.
Both of these transformation categories are supported by the transformation language of the VIATRA2 framework.
- Czarneck i K., Helsen S.: Feature-based survey of model transformation approaches. IBM Syst .J. 45 (3) (2006) 621-645