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.
Model transformations and languages for them have been classified in many ways.
Important special cases are: It is particularly important that a bidirectional model transformation has appropriate properties to make it behave sensibly: for example, not making changes unnecessarily, or discarding deliberately made changes.
Bidirectional transformations, in particular, are best written in a language that ensures the directions are appropriately related.
The OMG-standardised model transformation languages are collectively known as QVT.