[modelbased.net]

MDA tools



modelbased.net home


This page gives an overview of some MDA-oriented tools, some of which are pure code generation tools, others more full fletched model-driven tools. They may all be part of someones MDA (™)process. Of course, UML tools may also be considered MDA tools, and will often be central in model-driven development. If that is what you look for, see the UML tools link.

Below are some open source tools of different character:

  • Kermeta - Developed by the INRIA Triskell team, the Kermeta workbench is an Eclipse-based OO metaprogramming environment dedicated to metamodel engineering activities, including specification of abstract syntax, static semantics (OCL) and dynamic semantics with connection to the concrete syntax, model and meta-model prototyping and simulation, model transformation and aspect weaving. Kermeta is built as an extension to Eclipse EMF.
  • MOFScript , a model to text transformation tool, based on one of the OMG MOF Model to Text Transformation submissions - Eclipse plugin, based on metamodels/models in EMF.
  • The IBM Model Transformation Framework (MTF) is an EMF based model transformation framework , for now available at alphaWorks. It provides a declarative means of specifying metamodel relationships, similar to that of QVT relations.
  • The ATL Engine is a QVT-like transformation language, developed by the INRIA Atlas team. ATL is one of the core technologies in the  Eclipse M2M project. It is developed as a set of Eclipse plugins and works as a development IDE for transformations, with execution and debugging. Currently integrates with EMF and MDR. 
  • ModFact A MOF Repository and QVT-like engine from LIP6, Paris. Based on the TRL language. LIP6 are also working on an open source ModelBus implementation, which will enable MDD tools interoperability.
  • Kent Modelling Framework (KMF), a tool for generation of languages with support for dynamic constraint checking.
  • OpenArchitectureWare , a flexible, template-based generator framework integrated with XMI.
  • Generative Model Transformer (GMT), an eclipse incubator project that provides research-oriented model transformation technology for the eclipse platform. - Several tools are part of GMT: AMW (Model Weaving), Epsilon (Model Merging), MoDisco (Model Discovery), MOFScript (Model 2 Text), openArchitectureWare, UMLX (Graphical Transformation), VIATRA2 (Visual Automated Transformations).
  • OpenMDX, an open source MDA environment, which integrates with several tools through XMI and supports code generation towards several target platforms (J2EE, .Net).
  • AndroMDA, an open source template-based tool for J2EE code generation from UML/XMI. Uses VTL (Velocity Template Engine) as scripting language and Netbeans MDR as a model API.
  • XDoclet, an open source, attribute based code generation tool for J2EE. Not really model-based, but can be combined with generation tools such as UMT to achieve good model-based value.
  • Middlegen, an open source, database driven code generator based on JSBC, Velocity, Xdoclet and Ant.
  • OOMEGA, an open source, integrated modelling and metamodelling tool for defining languages and code generators. Supports db4objects, Hibernate, Versant, OOMEGA's MemoryDB, XML and SDF (a standard binary codec) for storing both, the metamodels and models. Code generation templates are written in JSP where you can inspect model information via a powerful and unified Persistence API.

Here are some commercial tools:

  • ArcStyler, is a commercial MDA tool from Interactive Objects. It is bundled with MagicDraw UML-tool, but can also support other UML-tools through tool adaptors.
  • MCC (Model Component Compiler), a commercial product from InferData, supporting generation towards J2EE 
  • OptimalJ, a commercial product from Compuware, uses a notation of patterns to achieve PSM transformations. Has an integrated UML tool for analysis, but uses a slightly different notation (structural) for the MDA-part of the tool.
  • Xactium XMF Mosiac, a commercial model-based mapping, generation and execution tool suite
  • SosyInc Modeler and Transformation Engine - The transformation engine provides generation of GUI and server-side, based on models OASIS/UML and rules for application structure and business rules.
  • Model-in-Action, and MDA tool suite from Mia software supporting code generation and model to model transformation in a flexible framework.
  • MetaEdit+, an integrated modeling and metamodeling tool for defining languages and code generators. Supports XML and SOAP/Webservice interfaces for both the metamodels and models.
  • MDWorkbench is a text and model transformation toolset, which supports any kind of metamodel as input. The tool is based on Eclipse and EMF and it is available in a free edition (requires registration), an academic edition, and a profession edition.
  • iQgen 3.0 is a template-based generator that can import models in 
    different formats, including XMI, XML and ECore, and uses templates 
    written as JSP templates

e