Jump to: navigation, search

OCL/New and Noteworthy/Galileo

< OCL‎ | New and Noteworthy
Revision as of 14:30, 31 May 2013 by Ed.willink.me.uk (Talk | contribs)

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

Eclipse OCL New and Noteworthy items for the Galileo release.

For more details about the development plan, see the MDT Galileo draft plan.

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.