Jump to: navigation, search


Revision as of 13:21, 31 May 2013 by Ed.willink.me.uk (Talk | contribs) (MDT/OCL/Reviews/Juno moved to OCL/Reviews/Juno: Infrastructure change)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

This page provides the required docuware for the Eclipse (MDT) OCL 4.0.0 Release Review, as part of the upcoming Juno Simultaneous Release.


Eclipse OCL is an implementation of the Object Constraint Language (OCL) 2.3.1 OMG standard for EMF-based models.

The Eclipse OCL component provides the following capabilities to support OCL integration:

  • Defines APIs for parsing and evaluating OCL constraints and queries on EMF models.
  • Defines an Ecore implementation of the OCL abstract syntax model, including support for serialization of parsed OCL expressions.
  • Provides a Visitor API for analyzing/transforming the AST model of OCL expressions.
  • Provides an extensibility API for clients to customize the parsing and evaluation environments used by the parser.

The accompanying examples provide

  • A Console for interactive evaluation of OCL expression on models.

The accompanying examples also provide a preview of Kepler functionality

  • An Impact Analyzer to support analysis and optimised re-evaluation
  • An Xtext editor for OCL expressions (used by Papyrus and the Console)
  • An Xtext editor for OCL embedded within Ecore (OCLinEcore)
  • An Xtext editor for OCL documents complemementing meta-models (Complete OCL)
  • An Xtext editor for the OCL 'Standard' Library model
  • A UML-aligned OCL meta-model supporting templates and reflection
  • An OCL evaluator exploiting the extensible OCL library model
  • An Xtext Console for interactive evaluation of OCL expression on models.
  • (New) An OCL 2 Java code generator integrated with genmodel
  • (New) Ability to load Complete OCL for use in other modeling applications


New in this release

  • Elimination of many deviations from the OMG standard.
  • An Impact Analyzer to support analysis and optimised re-evaluation
  • OCL support for the EMF Query Delegate API
  • Semantic validation, hover text and navigation in the OCL editors
  • UML-aligned models and extensible evaluation integrated with the editors
  • Extensibility of the editors to support reuse by QVTc and QVTr

See http://wiki.eclipse.org/MDT/OCL/New_and_Noteworthy/Juno.

Accordance with project plan themes and priorities

  • Compliance - 2 committed, 0 deferred
  • Release Currency - 6 committed, 0 deferred
  • Usability - 7 committed, 3 deferred
  • Specification - 4 committed, 0 deferred

See http://www.eclipse.org/projects/project-plan.php?planurl=http://www.eclipse.org/modeling/mdt/ocl/project-info/plan_juno.xml.

Non-Code Aspects


This release has not made breaking changes to the API.

  • The project lead certifies that the requirements for Eclipse Quality APIs have been met for this release.
  • Metamodel definitions and corresponding implementations are considered APIs.
  • Non-API classes are separated from the exposed API through an internal package in the namespace.
  • API Tooling is activated on all plugins to mark exceptions within the exposed API.

Although 4.0 is nominally a major change, the major change is a consequence of the major change in MDT/UML2 which MDT/OCL exports. The UML-related plugins have therefore all had a major change to 4.0. The non-UML plugins have only a minor change to 3.2.


  • OCL model-based library approach is in progress.
  • Extensibility features in Juno are inherited from Helios.

Tool Usability

  • OCL is used for model validation as a constraint definition language as well as in downstream projects like QVTo where it is used for model navigation and extended for model updates.
  • OCL-based annotations in Ecore models increase applications of OCL.
  • OCL editors increase the usability of OCL.

Testing & Packaging

Eclipse OCL uses a Buckminster-based system to build and promote versions.
Each new build is tested at least with Eclipse 4.2 (Juno).
Core plugins are provided with dedicated test plugins checking their valid behavior.
Eclipse OCL is part of the Juno Release Train.


A few API have been deprecated. See migration guide: http://wiki.eclipse.org/MDT/OCL/MDT-OCL_4.0.0_Migration_Guide.


Bugzilla snapshot for Juno as of 28 May 2012:

Bugzilla snapshot Juno.png


Eclipse (MDT) OCL 4.0 is mostly compliant with [OCL OMG 2.3.1 standard | http://www.omg.org/technology/documents/modeling_spec_catalog.htm#OCL].

UI Usability

Eclipse (MDT) OCL is conforming to the user interface guidelines.


Eclipse (MDT) OCL is a “+1” component in the simultaneous release.

3.2.0M1  Monday    15 August 2011	
4.0.0M2  Monday 26 September 2011	
4.0.0M3  Monday   7 November 2011	
4.0.0M4  Monday  12 December 2011	
4.0.0M5  Monday   30 January 2012	
4.0.0M6  Monday     19 March 2012 API freeze
4.0.0M7  Monday        7 May 2012 Feature Freeze
4.0.0RC1 Monday       21 May 2012	
4.0.0RC2 Monday       28 May 2012	
4.0.0RC3 Monday       4 June 2012	
4.0.0RC4 Monday      11 June 2012	
Juno     Wednesday   27 June 2012


  • Interaction in Bugzilla
  • Activity on the OCL newsgroup: roughly 770 messages from June 2011 to May 2012
  • Collaboration with other projects at Eclipse

Committer Changes

  • No changes

IP Issues

The Eclipse (MDT) OCL component leadership verifies that:

  • the about files and use licenses are in place as per the Guidelines to Legal Documentation.
  • all contributions (code, documentation, images, etc) have been committed by individuals who are either Members of the Foundation, or have signed the appropriate Committer Agreement. In either case, these are individuals who have signed, and are abiding by, the Eclipse IP Policy.
  • all significant contributions have been reviewed by the Foundation's legal staff.
  • all non-Committer code contributions, including third-party libraries, have been documented in the release and reviewed by the Foundation's legal staff.
  • all Contribution Questionnaires have been completed.
  • the "provider" field of each plug-in is set to "Eclipse Modeling Project“.
  • the "copyright" field of each feature is set to the copyright owner (the Eclipse Foundation is rarely the copyright owner).
  • any third-party logos or trademarks included in the distribution (icons, help file logos, etc) have been licensed under the EPL.
  • any fonts or similar third-party images included in the distribution (e.g. in PDF or EPS files) have been licensed under the EPL.

The Eclipse (MDT) OCL Project IP log in located at http://www.eclipse.org/projects/ip_log.php?projectid=modeling.mdt.ocl

Project Plan

The current project plan is available from http://www.eclipse.org/projects/project-plan.php?planurl=http://www.eclipse.org/modeling/mdt/ocl/project-info/plan_juno.xml.

Draft development plan for Eclipse (MDT) OCL 4.1.0 is not yet available.