IBM®
Skip to main content
    United States change      Terms of use
 
 
Select a scope:    
     Home      Products      Services & industry solutions      Support & downloads      My account     
alphaWorks  >  Eclipse technology  >  

Model Transformation Framework

A set of tools that helps developers implement transformations between Eclipse Modeling Framework (EMF) models.


Date Posted: December 14, 2004
Overview Requirements DownloadFAQsForum Reviews

1. Is the MTF mapping definition language standard or specific to this framework?
2. Why would I use MTF instead of Extensible Stylesheet Language for Transformations (XSLT)?
3. What is the relationship between MTF and QVT?


1. Is the MTF mapping definition language standard or specific to this framework?

It is specific to MTF and is not a standard. It was developed as a prototype of a mapping definition language with the following goals:
  • being well-suited to working with EMF models
  • allowing Java code to be written to select, match, and construct parts of the model(s)
  • recording what was mapped to what
  • making it easier to develop "two-way" transformations
  • supporting design pattern expansion and many-way transformations
  • allowing different expression languages to be "plugged-in."

The text syntax has been designed with the aim of being reasonably quick to write and Java programmer-friendly. We would welcome feedback on usability so we can improve it.

The design of MTF allows alternative text (or graphical) syntaxes, or other tools, to be used to define mappings.

Back to top Back to top

2. Why would I use MTF instead of Extensible Stylesheet Language for Transformations (XSLT)?

XSLT is an XML language for defining transformations from XML to XML, HTML, or text. MTF is intended specifically for transforming Eclipse Modeling Framework models, although we include support for generating arbitrary text files via templates. For some transformation tasks, XSLT may be more appropriate; for others you may find MTF easier to use. There are probably some things that you can do with XSLT that would be difficult or impossible to do with MTF; and there may well be things that you can do easily wth MTF that would be difficult using XSLT.

The main considerations are as follows:

  • Are you transforming to or from an EMF model? MTF is intended for use with EMF models. You can work with other Java object models by using the MTF model extension mechanism to create EMF wrappers. MTF also supports generation of text via an EMF model of document templates. EMF can generate an EMF model from an XML schema.
  • Do you want to write Java code to select, match, or construct parts of the model(s)? MTF supports this via extensions and custom constraints, which allow you to extend the MTF mapping definition language.
  • Do you want access to a record of what was mapped to what? MTF is based on recording mappings between elements. Mappings may be persisted, re-loaded, and used for reconciling changes, and they can accessed from your own code.
Back to top Back to top

3. What is the relationship between MTF and QVT?

In 2002, the Object Management Group (OMG™) requested proposals for a standard that would define a language for specifying queries on and transformations between MOF 2.0 models. Several proposals were submitted, and at this time the standardization process is ongoing.

MTF was developed partly in order to prototype concepts that may appear in the proposed OMG MOF 2.0 Queries, Views, and Transformations (QVT) standard, with the intention of implementing more of the specification over time. However, this release of MTF is not an attempt to faithfully implement any current proposed QVT specification.

Back to top Back to top
Download now Download now

Related technologies

For platform(s):
Java

For topics:
Eclipse, modeling, utilities


Related resources

Press Articles

 

    About IBM Privacy Contact