Project Plan For Model Development Tools (MDT), version Indigo


This document lays out the feature and API set for the sixth annual release of the Eclipse Object Constraint Language (MDT OCL) Project, version 3.1.0. A late requirement to use Xtext rather than IMP to support editing meant that many 3.0.0 facilities were not fully developed in time for release 3.0.0. Resolution of evaluator issues and library usability were held back, and the editors provided only as examples. Interim milestones, or if necessary an interim 3.1.0 release, are intended to resolve quality issues in the editors. The 3.1.0 release (for Indigo) should prepare for full integration of the new editors and make the library model-driven. Switchover of the old APIs to the new functionality and renaming of examples plugins should occur immediately after Indigo so that OCL clients have the entire Indigo+1 development cycle to exploit the enhancements that will appear in 3.2.0. New external APIs are planned to provide interchangeability with alternate OCL products. The existing external APIs should be unaffected, will be deprecated after Indigo, but may be retained indefinitely. New semi-internal parsing APIs are planned to resolve a number of hard problems and to provide compatibility between the LPG and Xtext parsers. The existing semi-internal parsing APIs will be retained in so far as possible, but will be deprecated in Indigo. The project team anticipates working with major consumers in the release after Indigo to assist in migration to the new APIs.

Note that, since the OMG OCL 2.3 standard suffers from significant ambiguities and conflicts making a compliant implementation impossible, Eclipse (MDT) OCL 3.1.0 release is best endeavours to establish a coherent interpretation of the OMG OCL 2.3 and to prototype resolutions and auto-generation of the OMG OCL 2.4 standard. Two of the Eclipse (MDT) OCL committers are also members of the OMG Revision Task Force that resolves the specification issues.

Release Deliverables

The release deliverables for the Eclipse (MDT) OCL 3.1 release have the same form as is found in most Eclipse projects, namely:
  • OCL SDK (includes runtime, sources, examples, and documentation) (downloadable and update site).
  • OCL runtime binary distribution (downloadable and update site).
  • OCL stand-alone binary distribution (downloadable).
  • OCL tests (downloadable)
  • OCL examples (downloadable and update site)
Eclipse (MDT) OCL 3.1.0 source code will be available as versions tagged "R3_1" in the project's CVS repository.

Table of Contents

Release Milestones

Release milestones occur at roughly 6 week intervals and follow the Platform milestone releases by approximately 1 week; that is, until the final 3.7 release of the Platform, upon which MDT OCL and other projects will release simultaneously. As Eclipse OCL is a dependency of numerous other projects, Eclipse OCL will deliver its milestones at the +1 schedule in accordance with the schedule below.
3.1.0M1Monday 18 August 2010
3.1.0M2Monday 27 September 2010
3.1.0M3Monday 8 November 2010
3.1.0M4Monday 13 December 2010
3.1.0M5Monday 31 January 2011
3.1.0M6Monday 14 March 2011
API freeze
3.1.0M7Monday 2 May 2011
Feature Freeze
3.1.0RC1Monday 16 May 2011
3.1.0RC2Monday 23 May 2011
3.1.0RC3Monday 30 May 2011
3.1.0RC4Monday 6 June 2011
IndigoMonday 22 June 2011

Table of Contents

Target Environments

In order to remain current, each Eclipse release targets reasonably current versions of the underlying operating environments. The Eclipse Object Constraint Language (OCL) project depends upon on the Platform and other projects, which are mostly "pure" Java. The 3.7 release of the Eclipse Platform Project is written and compiled against version 5.0 of the Java Platform APIs, and targeted to run on version 5.0 of the Java Runtime Environment, Standard Edition. Eclipse OCL will target the same Java version as EMF and UML2, which currently require Java 5. Eclipse Platform SDK 3.7 will be tested and validated on a number of reference platforms. MDT OCL will be tested and validated against a subset of those listed for the platform.


The Eclipse Platform is designed as the basis for internationalized products. The user interface elements provided by the Eclipse SDK components, including dialogs and error messages, are externalized. The English strings are provided as the default resource bundles. As a result, the Eclipse OCL project will provide English strings in its default bundles and be localized to a subset of those locales offered by the Platform.

Table of Contents

Compatibility with Previous Releases

The Eclipse OCL 3.1 project will be developed in parallel, and released simultaneously, with the following projects.
  • Eclipse Platform SDK version 3.7
  • Eclipse Modeling Framework (EMF) version 2.7
  • Model Development Tools (MDT) UML2 version 3.2

As described above, the Eclipse OCL 3.1.0 release should address usability of the editors. The main OCL plugins should be unaffected, but the associated examples plugins may be revised significantly. Again as described above, the Eclipse OCL 3.2.0 release for Juno will introduce significant new APIs in a new namespace that replaces the old. The old namespace will be deprecated once all Simultaneous Release projects have migrated to the new namespace.

Table of Contents

Themes and Priorities

A list of project requirements and agreed upon implementation time frames is found in this document. For the milestones listed in this document, a set of overall themes is used to indicate what major set of functionalities is to be concentrated on for each. These themes are presented below, while the requirements document and associated Bugzilla entries are left to those wanting more detailed information on each.


This theme addresses issues related to the OMG OCL 2.3 specification adoption. The bugs related to the inherited deviations of the Eclipse OCL implementation from the OCL 2.0 specification (and consequently, OCL 2.3) also appear here. It is anticipated that fixes for the majority of the target 3.2.0 will appear in the revised Eclipse OCL Examples code in 3.1.0, but this will not be promoted to replace the traditional behaviour until 3.2.0.

Release Currency

The Eclipse OCL project will maintain currency with its dependencies, in particular with the EMF and MDT UML2 projects.


This theme addresses the need for extensibility and usability improvements of the Eclipse OCL language implementation and APIs. It is anticipated that fixes for the majority of the target 3.2.0 will appear in the revised Eclipse OCL Examples code in 3.1.0, but this will not be promoted to replace the traditional behaviour until 3.2.0.


This theme addresses issues related to prototyping resolutions of problems in the OMG OCL 2.3 specification and enhancements in future specifications. OMG issues will be raised and RTF proposed resolutions submitted in order to It is anticipated that fixes for the majority of the target 3.2.0 will appear in the revised Eclipse OCL Examples code in 3.1.0, but this will not be promoted to replace the traditional behaviour until 3.2.0.

Table of Contents

Appendix Legal Notices

  • Java is a trademark or a registered trademark of Oracle Corporation.
  • OCL and OMG are trademarks or registered trademarks of the Object Management Group, Inc.
  • All other products or company names are mentioned for identification purposes only, and may be trademarks or service marks of their respective owners.

Table of Contents

view raw xml of project plan
from project meta-data key "projectplanurl"