Jump to content

Model transformation language

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by Addbot (talk | contribs) at 11:42, 15 March 2013 (Bot: Migrating 1 interwiki links, now provided by Wikidata on d:q6888352). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

A model transformation language in systems and software engineering is a language for model transformation.

Overview

The notion of model transformation is a concept from information technology. A software system may be seen as a set of information transformations. The Unix system itself may be viewed as a framework to use and to build transformation programs (filters) from basic transformation languages like grep, sed, awk, perl, etc. A software development process itself may also be considered as a chain of transformation from abstract requirements to executable systems.

Some transformation languages exhibit the characteristic of homoiconicity, in which the language used for expressing a data model is also related to or identical to the transformation language. The most noteworthy example is the relationship between XML and XSLT. This kind of emphasis is viewed by some as having a favorable compatibility with model-driven engineering.

Available transformation languages

  • ATL : a transformation language developed by the INRIA
  • Beanbag (see [1]) : an operation-based language for establishing consistency over data incrementally
  • GReAT : a transformation language available in the GME
  • Epsilon 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.
  • JTL : a bidirectional model transformation language specifically designed to support non-bijective transformations and change propagation (see [3]).
  • Kermeta : a general purpose modeling and programming language, also able to perform transformations
  • Lx family (see [4]) : a set of low-level transformation languages
  • M2M is the Eclipse implementation of the OMG QVT standard
  • Mia-TL : a transformation language developed by Mia-Software
  • MOF Model to Text Transformation Language: the OMG has defined a standard for expressing M2T transformations
  • MOLA (see [5]) : 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 [6] : 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 strategies
  • Tefkat : a transformation language and a model transformation engine
  • Tom : a language based on rewriting calculus, with pattern-matching and strategies
  • UML-RSDS [7] : a model transformation and MDD approach using UML and OCL
  • VIATRA : a framework for transformation-based verification and validation environment

See also

References

Further reading

  • The MDA Journal: Model Driven Architecture Straight From The Masters
  • Model Driven Architecture: Applying MDA to Enterprise Computing, David S. Frankel, John Wiley & Sons, ISBN 0-471-31920-1