Skip to main content

Notice: This Wiki is now read only and edits are no longer possible. Please see: for the plan.

Jump to: navigation, search

OCL/New and Noteworthy/Juno

Eclipse OCL New and Noteworthy items for the Juno 4.0.0 release.

Release Overview

Ecore and UML

The core Ecore and UML functionality is substantially unchanged.

  • bug fixes including
    • deep static operation overload resolution
    • optional dynamic operation dispatch for evaluation
  • additional Collection library iterations
    • selectByKind, selectByType
  • missing OCL 2.2 String library operations
    • +, at, characters, indexOf, substring
  • additional String library operations
    • endsWith, lastIndexOf, startsWith, substituteAll, substituteFirst, tokenize
  • additional String library regex operations
    • matches, replaceAll, replaceFirst
  • Window->Preference page for options

Pivot Examples

The examples Pivot functionality is steadily evolving towards UML alignment

  • as above as for Ecore and UML
  • experimental Direct to Java Code Generation
    • see the Code Generation Tutorial in the OCL Documentation
  • Complete OCL documents can be loaded into other modeling tools
    • see the Complete OCL Tutorial in the OCL Documentation

Milestone 1


  • 349114 GIT is now used to manage source code


  • 349125 OclSelf introduced
  • 350894 URI namespace qualification introduced


  • 353519 Markups in comments introduced

OCLinEcore Editor

  • 353793 Inter-resource references no longer lost on load
  • 354210 Initial module declaration no longer necessary
  • 354290 Package reference errors after editing fixed
  • 354336 Source-less EAnnotations supported


  • 352964 EcoreEvaluationEnvironment extensible for QVTo collections
  • 353171 NPE for solitary Query delegate


  • 349758 PrettyPrinter introduced

Milestone 2

The MDT/UML2 project now supports UML 2.4 and so Eclipse OCL is therefore also now based on UML 2.4.

OCLinEcore Editor

  • 351578 Inherited constraints no longer ignored
  • 355471 Distinct SaveAS/SaveIn Ecore introduced


  • 354907 Polymorphic int/long/BigInteger values introduced
  • 355790 Duplicate TypeManager registrations eliminated

Milestone 3

This new direct OCL 2 Java Code Generator Component supports genmodelling of direct Java code for OCL delegate annotations giving a major perfotmance improvement, typically 5 to 50 times improvmenet in evaluation speed and eliminating the run-time costs of OCL parsing. The Code Generator is packaged in the separate OCL Tools feature since it has a dependency on Acceleo which has a dependency on OCL-ecore.

OCLinEcore Editor

  • 328288 reference keyword added for EAnnotation references
  • 358915 /** */ Comments persist as GenModel documentation EAnnotations
  • 362620 Nested packages prefixes no longer corrupted on load


  • 324765 Delegate initialization routine added
  • 360072 'pivot' as well as 'ecore' OCL delegates can be intermixed


TypeManager has been renamed as MetaModelManager, but remains as a deprecated subclass.

  • 324765 Delegate initialization routine added
  • 349962 Moniker-based synchronization replaced by CS URIs
  • 349964 All Values have a type
  • 352950 Numeric down-casts are now errors
  • 360072 'pivot' as well as 'ecore' OCL delegates can be intermixed

Code Generator

  • 279638 Code generator introduced

Milestone 4


  • 351512 collect() now provides a flattened return type
  • 358713 ecore::EByte, EByteObject, EChar, ECharacterObject supported

Milestone 5


  • 363638 Delegate memory leakage addressed


  • 309459 selectByKind, selectByType added

Milestone 6


  • 360354 Workspace preferences introduced for OCL parsing and evaluation options

Ecore, UML

  • 372908 Use of closure() no longer generates a warning by default

Complete OCL

  • 368612 Complete OCL can be loaded into other editors


  • 345282 Completion proposals are now generally available

Console (Xtext)

  • 370397 Multi-line entry possible using Shift or Ctrl Enter

Milestone 7

Ecore, UML

  • 378577 Overloads now resolve to best rather than first match
  • 377374 import statements ignored in Complete OCL for pivot compatibility
  • 367822 Dynamic dispatch evaluation option added
  • 350493 Internal Ecore implementation of Tuple reuses UML approach
  • 344368 Long generally useable in place of Integer


  • 378205 Datatypes can be constructed and serialised toString
  • 373289 String::tokenize() added


  • 362517 Ecore.ecore loadable again




  • 363273 Save of bad *.oclinecore as *.ecore prevented


Eclipse OCL New and Noteworthy items for the Juno 4.0.1 SR1 release.

Ecore, UML

  • 388595 EDataTypes may be sources of OperationCallExps


  • 388282 Ambiguous superclasses are now qualified


Eclipse OCL New and Noteworthy items for the Juno 4.0.2 SR2 release.

  • 387973 Standalone functionality no longer requires a platform plugin on the classpath

Back to the top