Milestone 4

OCL

Ecore

Milestone 5

The migration to the new architecture starts with M5, with a slightly early release mandated by alignment with Xtext 2.0 that becomes available at M5. Without migration, all the editors would be broken, with migration the OCLstdlib and OCLinEcore editors should be improved, although the CompleteOCL editor is temporarily broken. The new architecture features:

a standard library defined by the OCL-2.4.oclstdlib model and its editor

a org.eclipse.ocl.examples.pivot.standard_library extension point for custom libraries

a Java class per operation/iteration/property in org.eclipse.ocl.examples.library...

a pre-compiled version org.eclipse.ocl.examples.library.oclstdlib.OCLstdlib autogenerated by Acceleo

an intermediate UML-aligned pivot model

semantic as well as semantic validation in OCLstdlib and OCLinEcore (and EssentialOCL) editors

a stream-lined evaluator aligned to the pivot model and library definition

The new functionality may be used programmatically by changing org.eclipse.ocl.ecore to org.eclipse.ocl.examples.pivot. This is only recommended to enthusiasts at present since the migration guide on detailed API evolution is not yet written.

Milestone 6

Editors

The Complete OCL editor is now useable.

All editors now support hover text feedback for type information.

Complete OCL and OCLinEcore editors support an additional parenthesized argument on an environment name in which a string experession may be specified to explain the invariant violation. The corresponding CompleteOCLEObjectValidator or OCLinEcoreEObjectValidator enables either Complete OCL documents of embedded OCL to participate in validating environments such as an Xtext editor.

Console

An alternative Interactive Xtext Console may be used in which input uses Xtext Essential OCL editor and evaluation uses the new extensible pivot evaluator.

Impact Analyzer

An Impact Analyzer has been added to the examples feature. For a set of OCL expressions, based on an EMF Notification and in conjunction with the event manager already added in M5 it can efficiently determine which of the expressions may have changed its value and for which context objects. See org.eclipse.ocl.examples.impactanalyzer.ImpactAnalyzerFactory for an entry point. The Impact Analyzer is well prepared to deal with the hidden opposite properties introduced in M5.