Jump to: navigation, search

Difference between revisions of "OCL/New and Noteworthy/Indigo"

m (Library)
m (Evaluator)
Line 86: Line 86:
 
* [https://bugs.eclipse.org/283518 283518] null in a collection is valid.
 
* [https://bugs.eclipse.org/283518 283518] null in a collection is valid.
 
* [https://bugs.eclipse.org/286929 286929] invalid in a collection is invalid.
 
* [https://bugs.eclipse.org/286929 286929] invalid in a collection is invalid.
 +
* [https://bugs.eclipse.org/288566 288566] OCL-invalid-with-reason/exception used in preference to Java-null/Java-exception.
 
* [https://bugs.eclipse.org/290315 293015] Java-null and OCL-null distinct.
 
* [https://bugs.eclipse.org/290315 293015] Java-null and OCL-null distinct.
 
* [https://bugs.eclipse.org/299967 299967] Dynamic dispatch of operation overloads supported.
 
* [https://bugs.eclipse.org/299967 299967] Dynamic dispatch of operation overloads supported.

Revision as of 02:57, 1 February 2011

Eclipse OCL New and Noteworthy items for the Indigo 3.1.0 release.

Milestone 2

OCL

Ecore

  • 322159 Diagnose and workaround genmodel without Operation Reflection.

Examples

OCLinEcore editor

  • 318119 Save no longer flashes XMI.
  • 320689 Enum and DataType now conform to OclAny so that e.g. oclIsInvalid is no longer undefined.
  • 321171 Reference opposite is now resolvable when the type is qualified.
  • 321493 Unicode characters supported in annotations.
  • 321518 Multi-line annotations supported.
  • 321903 Supertype is now resolvable when qualified.
  • 322675 OCLinEcore menu items now localized to OCLinEcore.
  • 322886 CompleteOCL genmodel registration now findable.

Milestone 3

Examples

OCLinEcore editor

  • 325058 Fix resolution of parameter names.
  • 328480 Fix self in constraints.

Milestone 4

OCL

  • 330489 Fix content of singleton CollectionRange.

Ecore

EMF 2.7.0 is a prerequisite as from M4.

  • 331143 Support Query delegates.

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 model-defined library defined by OCL-2.4.oclstdlib
  • 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 is used automatically when using the editors.

The new functionality may be used embedded within Ecore by changing all occurrences of the "http://www.eclipse.org/emf/2002/Ecore/OCL" URI to "http://www.eclipse.org/emf/2002/Ecore/Pivot".

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.

The migration will continue in 3.1.0 Examples M6, M7 with

  • CompleteOCL editor
  • Use of EssentialOCL editor in the Interactive Console
  • Support for UML

The migration will complete in 4.0 with

  • promotion of org.eclipse.ocl.examples.pivot to org.eclipse.ocl.pivot
  • redirection of "http://www.eclipse.org/emf/2002/Ecore/OCL" to the new functionality
  • introduction of OCL to Java code generation
  • org.eclipse.ocl, org.eclipse.ocl.ecore, org.eclipse.ocl.uml will remain substantially unchanged

OCL

Ecore

  • 251621 Support EAnnotations of missing Ecore eOpposites.
  • 333032 Tuning up the API and Impl introduced by Bug 251621.
  • 333241 Minimize impact of DefaultOppositeEndFinder
  • 332400 Avoid redundant helper creation.
  • 329980 Use @nooverride to clarify API.

Examples

Evaluator

  • 283518 null in a collection is valid.
  • 286929 invalid in a collection is invalid.
  • 288566 OCL-invalid-with-reason/exception used in preference to Java-null/Java-exception.
  • 293015 Java-null and OCL-null distinct.
  • 299967 Dynamic dispatch of operation overloads supported.
  • 318047 UML-aligned pivot model introduced.

Interpreter

  • 290605 BigInteger, BigDecimal used to ensure larger number compliance.
  • 332962 Query Delegate Text Viewer for OCL.

Impact Analyzer

  • 329336 EventManager added as pre-requisite for impact analyzer

Library

  • 152207 Support toString.
  • 190461 OCL 2.3 spellings for UnlimitedNaturalLiteralExp.unlimitedNaturalSymbol.
  • 196873 Introduce OCL standard library as a first class model.
  • 246962 OrderedSet and Sequence operations shared via OrderedCollection.
  • 259031 Support OclAny.oclType with reflection.
  • 261008 UnlimitedNatural conforms to Integer.
  • 281710 Support String +.
  • 283052 Pivot model is UML-aligned.
  • 290680 Collection conforms to OclAny.
  • 291721 OclInvalid conforms to OclVoid and not-vice-versa.
  • 299959 oclAsType conformance checked.
  • 326534 Library model loaded from auto-generated code.

Parser

  • 190150 Type expressions now parsed, declared and evaluated.
  • 286737 Tuple parsing errors diagnosed better
  • 296990 forAll/exists arguments now semantically checked against library model
  • 299966 oclIsInState is now an ordinary operation