Skip to main content
Jump to: navigation, search



This page provides the required docuware for the Eclipse OCL 4.1.0 Release Review, as part of the upcoming Kepler 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 and Editors provide

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

The accompanying Examples and Editors also provide a preview of Luna 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/rewriten) An extensible OCL 2 Java code generator integrated with genmodel
  • Ability to load Complete OCL for use in other modeling applications


New in this release

  • Direct OCL to Java Code Generator
    • integrated so that it can be used directly from genmodel
    • extensible so that it can be used by for instance QVT
  • Improved support for OCL in conjunction with UML
    • OCL can be maintained in UML Class or Profile or State diagrams
    • OCL Profile constraints can be checked when editing Class diagrams
    • OCL Class constraints can be generated as Java code


Accordance with project plan themes and priorities

  • Compliance - 1 committed, 0 deferred
  • Release Currency - 2 committed, 0 deferred
  • Usability - 10 committed, 0 deferred
  • Specification - 3 committed, 0 deferred

Overall: 142 Bugzillas were resolved and 192 new Bugzillas raised.


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.


  • OCL model-based library approach is in progress.
  • Extensibility features in Kepler 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.3 (Kepler).
Builds are occasionally exercised on Eclipse 3.5 (Galileo).
Core plugins are provided with dedicated test plugins checking their valid behavior.
Eclipse OCL is part of the Kepler Release Train.


No End of Life issues.


Bugzilla snapshot for Kepler as of 1 June 2013:

Bugzilla snapshot Kepler.png


Eclipse OCL 4.1 is mostly compliant with the OMG OCL 2.3.1 standard.

UI Usability

Eclipse OCL is conforming to the user interface guidelines.


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

4.1.0M1  Monday    20 August 2012
4.1.0M2  Monday    1 October 2012
4.1.0M3  Monday  12 November 2012
4.1.0M4  Monday  17 December 2012
4.1.0M5  Monday   3 February 2013
4.1.0M6  Monday     18 March 2013 API freeze
4.1.0M7  Monday        6 May 2013 Feature Freeze
4.1.0RC1 Monday       20 May 2013
4.1.0RC2 Monday       27 May 2013
4.1.0RC3 Monday       3 June 2013
4.1.0RC4 Monday      10 June 2013
Kepler   Wednesday   26 June 2013

The additional Examples and Editors are a "+3" component two days later.


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

Committer Changes

  • No changes

IP Issues

The Eclipse 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 OCL Project IP log is located at

Project Plan

The current project plan is available from

Draft development plan for Eclipse OCL 4.2.0 is not yet available.

Back to the top