Eclipse Model Development Tools (MDT) Project Proposal

The project has been created. Please visit the project page.

Introduction

The Model Development Tools (MDT) Project is a proposed open source subproject under the Eclipse Modeling Project.

This proposal is in the Project Pre-Proposal Phase (as defined in the Eclipse Development Process document) and is written to declare its intent and scope. This proposal is written to solicit additional participation and input from the Eclipse community. You are invited to comment and/or join the project. Please send all feedback to the http://www.eclipse.org/newsportal/thread.php?group=eclipse.modeling.mdt newsgroup.

Background

As described in the project proposal for the Eclipse Modeling Project, support for industry standards is critical to its success, and to the success of Eclipse in general. The role of the Modeling project in the support of industry standards is to enable their creation and maintenance within the Eclipse community. Furthermore, as standards bodies such as the OMG have a strong modeling focus, the Modeling project needs to facilitate communication and outreach through its PMC and project contributors to foster a good working relationship with external organizations.

MDT is a project inspired by the Eclipse community's need for more end user "tooling" from the Modeling project. We seem to have an abundance of frameworks and low-level technologies for modeling, but not much in the way of what most expect to find. Of course, this is fueled by the fact that "other" free or open source modeling tools exist, making Eclipse a bit of a laggard in this area. Hopefully, now that we have the key components in place (e.g. EMF, GMF, UML2), getting the community focused on providing this won't take much longer.

Project Description

The MDT project will focus on big "M" modeling within the Modeling project, and its purpose will be twofold:

  1. To provide an implementation of industry standard metamodels.
  2. To provide exemplary tools for developing models based on those metamodels.

The specifications implemented in the MDT project will be limited to those that fall within the scope of the Modeling Project charter.

Organization

We propose that this project be undertaken as part of the Eclipse Modeling Project. It will have dependencies on the Eclipse Platform, EMF, and GMF.

The MDT project will initially consist of components which already exist as subprojects (or components thereof) of the Modeling top-level project, namely XSD, UML2, and EODM. The scope of the UML2 component will be expanded to include the remaining specifications under the UML2 umbrella, i.e. Object Constraint Language (OCL) and Diagram Interchange (DI), plus graphical tools to develop UML models. Each of these (sub)components will be downloadable and useable independently of one another.

It is proposed that the following initial structure reside within the /cvsroot/modeling repository location at dev.eclipse.org:

/mdt
          /org.eclipse.eodm
          /org.eclipse.uml2
          /org.eclipse.xsd

Project

Name

Description

Impact

UML2

Unified Modeling Language 2.x

The UML2 project is an EMF-based implementation of the OMG's Unified Modeling Language 2.x specification.

UML2 is currently its own project and will become a component of MDT. Its newsgroup will be eclipse.modeling.mdt.uml2 and its various subcomponents will be listed as components under a Modeling/MDT product in Bugzilla.

XSD

XML Schema Infoset Model

XSD is a library that provides an API for manipulating the components of an XML Schema as described by the W3C XML Schema specifications, as well as an API for manipulating the DOM-accessible representation of XML.

XSD is currently its own project and will become a component of MDT. Its newsgroup will be org.eclipse.modeling.mdt.xsd and its various subcomponents will be listed as components under a Modeling/MDT product in Bugzilla.

EODM

EMF Ontology Definition Metamodel

EODM is an implementation of RDF(S)/OWL metamodels of the Ontology Definition Metamodel (ODM) using EMF with additional parsing, inference, model transformation and editing functions.

EODM is currently a component of the (former) EMFT project and will become a component of MDT. Its newsgroup will be org.eclipse.modeling.mdt.eodm and its various subcomponents will be listed as components under a Modeling/MDT product in Bugzilla.

OCL

Object Constraint Language

OCL is an implementation of the OCL OMG standard for EMF-based models.

OCL is currently a component of the (former) EMFT project and will become a subcomponent of the UML2 component in the MDT project. It will be covered by the UML2 newsgroup (eclipse.modeling.mdt.uml2) and it will be listed as a component (e.g. UML2 OCL) under a Modeling/MDT product in Bugzilla.

Addition of new (sub)components (e.g. metamodels, tools) is expected over the life of the Model Development Tools Project to take into account the scope proposed above, and its inevitable alterations. It will be the responsibility of the PMC to actively recruit contributors and alter the project organization to maintain alignment and coverage of its defined scope.

Initial committers

The following companies will contribute committers to get the project started:

IBM (www.ibm.com)
  • Kenn Hussey (proposed project lead; UML2 component - UML)
  • Christian Damus (UML2 component - OCL)
  • Ed Merks (XSD component)
  • Guo Tong Xie (EODM component)

Borland (www.borland.com)
  • Michael Golubev (UML2 component - Tools)

Interested parties

The following organizations have expressed initial interest in the project:

Participation

Critical to the success of this project is participation of developers in the modeling tools development community. We intend to reach out to this community and enlist the support of those interested in making a success of the Model Development Tools project. We ask interested parties to contact the MDT newsgroup to express interest in contributing to the project.