Project Plan For MDT OCL (Object Constraint Language), version Helios

Introduction

This document lays out the feature and API set for the fifth release of the Eclipse Object Constraint Language (MDT OCL) Project, versions 3.0.0.

Note that, since the OMG OCL 2.1 standard suffers from significant ambiguities and conflicts making a compliant implementation impossible, MDT OCL 3.0.0 release is best endeavours to establish a coherent interpretation of the OMG OCL 2.1 and to prototype resolutions for the OMG OCL 2.3 standards.

A guide aimed to help users to migrate from MDT OCL 1.3.0 releases to MDT OCL 3.0.0 release will be provided.

Release Deliverables

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

Table of Contents

Release Milestones

Release milestones occurring at roughly 6 week intervals and follow the Platform milestone releases by approximately 1 week; that is, until the final 3.6 release of the Platform, upon which MDT OCL and other projects will release simultaneously. As MDT OCL is a dependency of numerous other projects, MDT OCL will deliver its milestones within one week of the Eclipse Platform. It is anticipated that MDT OCL will synchronize its milestones with the Galileo milestone schedule. MDT OCL 3.0.0 will be following the same schedule below.
M108/17/2009
M209/28/2009
M311/09/2009
M412/14/2009
M502/01/2010
M603/15/2010
API freeze
M705/03/2010
Feature Freeze
RC105/17/2010
RC205/24/2010
RC305/31/2010
RC406/07/2010
RC506/14/2010
Helios06/23/2010
MDT OCL may produce interim maintenance releases in addition to these in order to satisfy clients requests.

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 (MDT OCL) project depends upon on the Platform and other projects, which are mostly "pure" Java. The 3.6 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. MDT OCL will target the same Java version as EMF and UML2, which currently require Java 5. Eclipse Platform SDK 3.6 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.

Internationalization

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 MDT OCL project will provide English strings in its default bundles and be localized to a subset of those locales offered by the Platform. This plan will be updated to indicate which locales will be provided and the time frame for availability.

Table of Contents

Compatibility with Previous Releases

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

As described above, the MDT OCL 3.0.0 release is not fully backwards compatible with the MDT OCL 1.2 and 1.3 releases.

A guide aimed to help users to migrate from MDT OCL 1.3 releases to MDT OCL 3.0.0 release will be provided.

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.

Compliance

This theme addresses issues related to the OMG OCL 2.1 standard adoption. The bugs related to the inherited deviations of the MDT OCL implementation from the OCL 2.0 standard (and consequently, OCL 2.1) also appear here.
  • Committed
    • OclInvalid and Invalid confusion [281849] (target milestone: 3.0.0)
    • [parser] Parsing with backslashes failure [285120] (target milestone: 3.0.0)
    • Introduce support for 'static' features [285633] (target milestone: 3.0.0)
    • [parser] OCLLPGParser.g grammer incorrectly defines 'if' expression [184048] (target milestone: 3.0.0)
    • [parser] OCL 2.1 grammar precedence rule changes [288040] (target milestone: 3.0.0)
  • Proposed
    • [library,evaluator] Collections must conform to OclAny [290680] (target milestone: 3.0.0)
    • [library] Provide support for oclType() operation per OMG OCL 2.1 RTF [259031] (target milestone: 3.0.0)
    • [validator] iterators are not validated [288573] (target milestone: 3.0.0)
    • [library] Set operations like including(obj) and excluding(obj) should be specialized for OrederedSet [246962] (target milestone: 3.0.0)
  • Deferred
    • No items.

Release Currency

The MDT OCL project will maintain currency with its dependencies, in particular with the EMF and MDT UML2 projects. OCL grammar will be migrated to LPG v2.
  • Committed
    • [parser] Modification to support IMP and exploit LPG 2 [242153] (target milestone: 3.0.0)
    • [project] OCL 1.4: Maintain Currency with EMF, UML2 [289998] (target milestone: 1.4.0)
  • Proposed
    • [project] OCL 3.0: Maintain Currency with EMF, UML2 [290103] (target milestone: 3.0.0)
    • [validator] OCL Feature Setting Delegate [291361] (target milestone: 3.0.0)
    • [validator] OCL Operation Invocation Delegate [291365] (target milestone: 3.0.0)
    • [validator] OCL Validation Delegate [191689] (target milestone: 3.0.0)
  • Deferred
    • No items.

Usability

This theme addresses the need for extensibility and usability improvements of the MDT OCL language implementation and APIs.
  • Committed
    • [ui] Adding the edit and editor plugin to have OCL models editable in the EMF's Sample Ecore Editor [196973] (target milestone: 3.0.0)
  • Proposed
    • [registry] Migrate the M2M/QVT Declarative Model Registry to MDT/OCL [289759] (target milestone: 3.0.0)
    • [editor] Migrate the M2M/QVT Declarative OCL Editor to MDT/OCL [289761] (target milestone: 3.0.0)
    • [releng] Proposed plugin and feature re-organisation [289763] (target milestone: 3.0.0)
  • Deferred
    • No items.

Table of Contents

Appendix Legal Notices

  • Java is a trademark or a registered trademark of Sun Microsystems, Inc.
  • OCL and OMG are trademarks or registered trademark 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"