Model Transformation Language
Encyclopedia
A model transformation language in systems
Systems engineering
Systems engineering is an interdisciplinary field of engineering that focuses on how complex engineering projects should be designed and managed over the life cycle of the project. Issues such as logistics, the coordination of different teams, and automatic control of machinery become more...

 and software engineering
Software engineering
Software Engineering is the application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software, and the study of these approaches; that is, the application of engineering to software...

 is a language for model transformation
Model transformation
A model transformation, in model-driven engineering, is an automatable way of ensuring that a family of models is consistent, in a precise sense which the software engineer can define...

.

Overview

The notion of model transformation
Model transformation
A model transformation, in model-driven engineering, is an automatable way of ensuring that a family of models is consistent, in a precise sense which the software engineer can define...

 is of central importance to information technology
Information technology
Information technology is the acquisition, processing, storage and dissemination of vocal, pictorial, textual and numerical information by a microelectronics-based combination of computing and telecommunications...

. 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
Filter (software)
A filter is a computer program to process a data stream. Some operating systems such as Unix are rich with filter programs. Even Windows has some simple filters built into its command shell, most of which have significant enhancements relative to the similar filter commands that were available in...

) 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
Homoiconicity
In computer programming, homoiconicity is a property of some programming languages, in which the primary representation of programs is also a data structure in a primitive type of the language itself, from the Greek words homo meaning the same and icon meaning representation...

, in which the language used for expressing a data model
Data model
A data model in software engineering is an abstract model, that documents and organizes the business data for communication between team members and is used as a plan for developing applications, specifically how data is stored and accessed....

 is also related to or identical to the transformation language. The most noteworthy example is the relationship between XML
XML
Extensible Markup Language is a set of rules for encoding documents in machine-readable form. It is defined in the XML 1.0 Specification produced by the W3C, and several other related specifications, all gratis open standards....

 and XSLT
XSLT
XSLT is a declarative, XML-based language used for the transformation of XML documents. The original document is not changed; rather, a new document is created based on the content of an existing one. The new document may be serialized by the processor in standard XML syntax or in another format,...

. This kind of emphasis is viewed by some as having a favorable compatibility with model-driven engineering
Model-driven engineering
Model-driven engineering is a software development methodology which focuses on creating and exploiting domain models , rather than on the computing concepts...

.

Available transformation languages

  • ATL
    ATLAS Transformation Language
    ATL is a model transformation language and toolkit developed and maintained by OBEO and AtlanMod. It was initiated by the team...

     : a transformation language developed by the INRIA
  • Beanbag (see http://code.google.com/p/synclib/) : an operation-based language for establishing consistency over data incrementally
  • GReAT
    GReAT
    Graph Rewriting and Transformation is a Model Transformation Language for Model Integrated Computing available in the GME environment. GReAT has a rich pattern specification sublanguage, a graph transformation sublanguage and a high level control-flow sublanguage. It has been designed to address...

     : a transformation language available in the GME
    Generic Modeling Environment
    Generic Modeling Environment is a model-integrated program synthesis tool for creating domain-specific models of large-scale systems. GME allows users to define new modeling languages using UML-based metamodels...

  • Epsilon family (see http://www.eclipse.org/gmt/epsilon) : a model management platform that provides transformation languages for model-to-model, model-to-text, update-in-place, and model merging transformations.
  • JTL
    JTL
    jtL was a South Korean dance music group, consisting of the former H.O.T. members who did not stay with SM Entertainment- Jang Woo Hyuk, Tony An and Lee Jae Won. The group was named after the initials of the members' stage name...

     : a bidirectional model transformation language specifically designed to support non-bijective transformations and change propagation (see http://jtl.di.univaq.it/).
  • Kermeta
    Kermeta
    -History:The Kermeta language was initiated by Franck Fleurey in 2005 within the team of IRISA ....

     : a general purpose modeling and programming language, also able to perform transformations
  • Lx family (see http://lx.mii.lu.lv/) : a set of low-level transformation languages
  • M2M
    M2M (Eclipse)
    M2M is the Eclipse implementation of the OMG QVT standard . M2M is a subproject of .Three components are available for model to model transformations:...

     is the Eclipse
    Eclipse (software)
    Eclipse is a multi-language software development environment comprising an integrated development environment and an extensible plug-in system...

     implementation of the OMG
    Object Management Group
    Object Management Group is a consortium, originally aimed at setting standards for distributed object-oriented systems, and is now focused on modeling and model-based standards.- Overview :...

     QVT
    QVT
    QVT is a standard set of languages for model transformation defined by the Object Management Group .- Overview :...

     standard
  • Mia-TL : a transformation language developed by Mia-Software
  • MOF Model to Text Transformation Language
    MOF Model to Text Transformation Language
    MOF Model to Text Transformation Language is an Object Management Group specification for a model transformation language. Specifically, it can be used to express transformations which transform a model into text , for example a platform-specific model into source code or documentation...

    : the OMG
    Object Management Group
    Object Management Group is a consortium, originally aimed at setting standards for distributed object-oriented systems, and is now focused on modeling and model-based standards.- Overview :...

     has defined a standard for expressing M2T transformations
  • MOLA (see http://mola.mii.lu.lv/) : 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
    Converge PL
    Converge is a dynamic object-oriented programming language with compile-time meta-programming facilities.Developed by the British computer scientist Laurence Tratt, Converge was originally intended for implementing model transformations in the context of Model-Driven Software Development approaches...

    )
  • QVT
    QVT
    QVT is a standard set of languages for model transformation defined by the Object Management Group .- Overview :...

     : the OMG
    Object Management Group
    Object Management Group is a consortium, originally aimed at setting standards for distributed object-oriented systems, and is now focused on modeling and model-based standards.- Overview :...

     has defined a standard for expressing M2M transformations, called MOF/QVT or in short QVT.
  • SiTra http://www.cs.bham.ac.uk/~bxb/SiTra.html : a pragmatic transformation approach based on using a standard programming language, e.g. Java, C#
  • Stratego/XT
    Stratego/XT
    Stratego/XT is a language and toolset for constructing stand-alone program transformation systems.It combines the Stratego transformation language with the XT toolset of transformation components, providing a framework for constructing stand-alone...

     : a transformation language based on rewriting with programmable strategies
  • Tefkat
    Tefkat
    Tefkat is a Model Transformation Language and a model transformation engine. The language is based on F-logic and the theory of stratified logic programs. The engine is an Eclipse plug-in for the Eclipse Modeling Framework .- History :...

     : a transformation language and a model transformation engine
  • VIATRA
    VIATRA
    The VIATRA framework is the core of a transformation-based verification and validation environment for improving the quality of systems designed using the Unified Modeling Language by automatically checking consistency, completeness, and dependability requirements.- Target Application Domains...

     : a framework for transformation-based verification and validation environment

See also

  • Data transformation
    Data transformation
    In metadata and data warehouse, a data transformation converts data from a source data format into destination data.Data transformation can be divided into two steps:...

  • Domain-specific language (DSL)
  • Filter (software)
    Filter (software)
    A filter is a computer program to process a data stream. Some operating systems such as Unix are rich with filter programs. Even Windows has some simple filters built into its command shell, most of which have significant enhancements relative to the similar filter commands that were available in...

  • Model-driven engineering
    Model-driven engineering
    Model-driven engineering is a software development methodology which focuses on creating and exploiting domain models , rather than on the computing concepts...

     (MDE)
  • Model-driven architecture
    Model-driven architecture
    Model-driven architecture is a software design approach for the development of software systems. It provides a set of guidelines for the structuring of specifications, which are expressed as models. Model-driven architecture is a kind of domain engineering, and supports model-driven engineering of...

     (MDA)
  • Template processor
    Template processor
    A template processor is software or a software component that is designed to combine one or moretemplates with a data model to produceone or more result documents...

  • Transformation language
    Transformation language
    A transformation language is a computer language designed to transform some input text in a certain formal language into a modified output text that meets some specific goal....

  • Graph Transformation
    Graph rewriting
    Graph transformation, or Graph rewriting, concerns the technique of creating a new graph out of an original graph using some automatic machine. It has numerous applications, ranging from software verification to layout algorithms....

  • Web template
    Web template
    A web template is a tool used to separate content from presentation in web design, and for mass-production of web documents. It is a basic component of a web template system.Web templates can be used to set up any type of website...

  • XSLT
    XSLT
    XSLT is a declarative, XML-based language used for the transformation of XML documents. The original document is not changed; rather, a new document is created based on the content of an existing one. The new document may be serialized by the processor in standard XML syntax or in another format,...

     - a standard language

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
The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK