Model transformation
A model transformation, in model-driven engineering, is an automated way of modifying and creating platform-specific model from platform-independent ones. An example use of model transformation is ensuring that a family of models is consistent, in a precise sense which the software engineer can define. The aim of using a model transformation is to save effort and reduce errors by automating the building and modification of models where possible. Overview Model transformations can be thought of as programs that take models as input. There is a wide variety of kinds of model transformation and uses of them, which differ in their inputs and outputs and also in the way they are expressed. A model transformation usually specifies which models are acceptable as input, and if appropriate what models it may produce as output, by specifying the metamodel to which a model must conform. Classification of model transformations Model transformations and languages for them have been classified in many ways. Some of the more common distinctions drawn are: Number and type of inputs and outputs In principle a model transformation may have many inputs and outputs of various types; the only absolute limitation is that a model transformation will take at least