Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
OCL/New and Noteworthy/Galileo
Eclipse OCL New and Noteworthy items for the Galileo release.
For more details about the development plan, see the MDT Galileo draft plan.
Contents
Milestone 3
This milestone was completed on Wednesday, 5 November 2008.
Extensible Type Checking
The OCL parser uses a collection of static utilities in the TypeUtil class to determine the relationships between types, find operations matching specific signatures, etc. OCL has specific rules about the conformance of types (esp. special types such as OclAny and OclVoid) and coercion of various data types. However, languages such as QVT that extend OCL may well have their own rules.
To this end, Adolfo Sánchez-Barbudo Herrera contributed a refactoring of the static TypeUtil class that extracts this static API into an optional facet of the OCL Environtment interface: the TypeChecker.
Please note that the TypeChecker API is still under development and is subject to change in the next few iterations.
Stand-alone Tracing
Since the 1.1 release, MDT OCL has supported a stand-alone deployment. However, debug tracing has always been an all-or-nothing deal, activated by the org.eclipse.ocl.debug system property. Now, finer-grained control is available using system properties named according to the OCL plug-in's trace options. For example, to trace only evaluation of expressions (not also parsing and other activity), use -Dorg.eclipse.ocl/debug/evaluation=true. Thanks to Ed Willink of the M2M QVT Declarative project for the contribution!
Other Enhancements
A complete list of the enhancement requests resolved in this milestone can be found here.
Milestone 2
This milestone was completed on Wednesday, 24 September 2008.
Catching up to EMF 2.4
One of the more significant improvements in EMF's 2.4 (Ganymede) release was the association of resource factories with content types. Implementation of Bug 231435 leverages this capability now in OCL. Content types are defined for the OCL models as follows:
Model | Extensions | Content-Type | Resource Factory |
---|---|---|---|
OCL Abstract Syntax | ocl | org.eclipse.ocl | XMI |
OCL Concrete Syntax | ocl | org.eclipse.ocl.cst | XMI |
OCL Ecore Binding | ocl, ecore | org.eclipse.ocl.ecore | Ecore |
OCL UML Binding | ocl, uml | org.eclipse.ocl.uml | UML |
Fancy Numbers
The OCL parser/interpreter, in previous releases, provided mappings of all of Java's primitive numeric types (and their wrapper classes) to the OCL Integer and Real types, as appropriate. This milestone adds support for the BigInteger and BigDecimal types, mapped to Integer and Real, respectively, to round out Java's numeric types. Thanks to Achim Demelt for the contribution!
Other Enhancements
A complete list of the enhancement requests resolved in this milestone can be found here.