Model To Text (M2T)

The Model to Text (M2T) project focuses on the generation of textual artifacts from models. Its purpose is threefold:

  1. Provide implementations of industry standard and defacto Eclipse standard model-to-text engines
  2. Provide exemplary development tools for these languages
  3. Provide common infrastructure for this languages.

The next release of M2T is scheduled for the end of June 2008.

Validation (Incubation) PhaseJET

JET is typically used in the implementation of a "code generator". A code-generator is an important component of Model Driven Development (MDD). The goal of MDD is to describe a software system using abstract models (such as EMF/ECORE models or UML models), and then refine and transform these models into code. Although is possible to create abstract models, and manually transform them into code, the real power of MDD comes from automating this process. Such transformations accelerate the MDD process, and result in better code quality. The transformations can capture the "best practices" of experts, and can ensure that a project consistently employes these practices.

However, transformations are not always perfect. Best practices are often dependent on context - what is optimal in one context may be suboptimal in another. Transformations can address this issue by including some mechanism for end-user modification of the code generator. This is frequently done by using "templates" to create artifacts, and allowing users to substitute their own implementations of these templates if necessary. This is the role of JET.

This component provides:

  1. Expand the JET language to support custom tags (which are distributed in "tag libraries"). (The language specification will be described in a separate document.)
  2. Define Java interfaces and Eclipse Extension points for declaring custom tag libraries.
  3. Provide Standard JET tag libraries that make it possible to create entire transformations without recourse to Java and the Eclipse APIs. (These tag libraries will be described in a separate document.)
  4. Provide Eclipse API and UI for invoking such transformations.
  5. Provide a JET template editor (formerly a separate component, EMFT JET Editor).

Validation (Incubation) PhaseMTL

MTL is an implementation of the Object Management Group (OMG) MOF Model to Text Language (MTL) standard.

This component is an entirely new development of the OMG MOF Model to Text (Mof2Text) language. The implementation will be compliant with the core feature compliance level of the Mof2Text language to start with, then with the advanced feature compliance.

Roadmap

MTL 1.0 planned for June 2009 including standalone engine and parser, first MTL syntax support, (core feature compliance level of the Mof2Text language) Eclipse IDE components MWE integration and documentation. In the meantime, component opening is planned for January 2008, and standalone engine will be available by June 2008.

Documentation

More information is available on the wiki page for MTL.

Validation (Incubation) PhaseXpand

Xpand is a statically-typed template language featuring

  • polymorphic template invocation,
  • aspect oriented programming,
  • functional extensions,
  • a flexible type system abstraction,
  • model transformation,
  • model validation and much more
  • It includes an editor which provides features like

  • syntax coloring,
  • error highlighting,
  • navigation,
  • refactoring and
  • code completion.
  • Xpand was originally developed as part of openArchitectureWare project before it became a component under eclipse.

    The M2T version is implemented in TMF's Xtext.

    Validation (Incubation) PhaseM2T Core

    M2T Core is an invocation framework allowing clients to invoke model-to-text solutions independently of the model-to-text language.

    Validation (Incubation) PhaseM2T Shared

    M2T Shared consists of infrastructure components shareable between different model-to-text languages.

    Incubation

    Some components are currently in their Validation (Incubation) Phase.

    News

    Jun 7th, 2007 - EMFT JET Editor merged into M2T JET. Downloads available.

    Apr 26th, 2007 - EMFT JET component moved to M2T. Downloads available.

    Apr 20th, 2007 - M2T website launched!

    Build Feeds Build News

    New! Sep 2nd - JET R0_9_maintenance build 0.9.1RC1 is available for download.

    New! Aug 28th - JET integration build I200808281230 is available for download.

    New! Aug 28th - JET R0_9_maintenance build M200808281050 is available for download.

    Aug 1st - JET integration build I200808011213 is available for download.

    Modeling Corner

    Want to contribute models, projects, files, ideas, utilities, or code to M2T or any other part of the Modeling Project? Now you can!

    Have a look, post your comments, submit a link, or just read what others have written. Details here.