A model transformation language in systems and software engineering is a language intended specifically for model transformation.
The notion of model transformation is central to model-driven development. A model transformation, which is essentially a program which operates on models, can be written in a general-purpose programming language, such as Java. However, special-purpose model transformation languages can offer advantages, such as syntax that makes it easy to refer to model elements. For writing bidirectional model transformations, which maintain consistency between two or more models, a specialist bidirectional model transformation language is particularly important, because it can help avoid the duplication that would result from writing each direction of the transformation separately.
Currently, most model transformation languages are being developed in academia. The OMG has standardised a family of model transformation languages called QVT, but the field is still immature.
ATL : a transformation language developed by the INRIABeanbag (see [1]) : an operation-based language for establishing consistency over data incrementallyGReAT : a transformation language available in the GMEEpsilon family (see [2]) : a model management platform that provides transformation languages for model-to-model, model-to-text, update-in-place, migration and model merging transformations.Henshin (see [3]) : a model transformation language for EMF, based on graph transformation concepts, providing state space exploration capabilitiesJTL : a bidirectional model transformation language specifically designed to support non-bijective transformations and change propagation (see [4]).Kermeta : a general purpose modeling and programming language, also able to perform transformationsLx family (see [5]) : a set of low-level transformation languagesM2M is the Eclipse implementation of the OMG QVT standardMia-TL : a transformation language developed by Mia-SoftwareMOF Model to Text Transformation Language: the OMG has defined a standard for expressing M2T transformationsMOLA (see [6]) : a graphical high-level transformation language built in upon Lx.MT : a transformation language developed at King's College, London (UK) (based on Converge PL)QVT : the OMG has defined a standard for expressing M2M transformations, called MOF/QVT or in short QVT.SiTra [7] : a pragmatic transformation approach based on using a standard programming language, e.g. Java, C#Stratego/XT : a transformation language based on rewriting with programmable strategiesTefkat : a transformation language and a model transformation engineTom : a language based on rewriting calculus, with pattern-matching and strategiesUML-RSDS [8] : a model transformation and MDD approach using UML and OCLVIATRA : a framework for transformation-based verification and validation environment