VIATRA2/GettingStarted/Model Transformations Intro

From Eclipsepedia

Jump to: navigation, search

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 [1] 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

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

References

  1. Czarneck i K., Helsen S.: Feature-based survey of model transformation approaches. IBM Syst .J. 45 (3) (2006) 621-645