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.