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/2018-12

Eclipse OCL New and Noteworthy items for the 2018-12 (6.6.0) release.

Release Overview

This minor release fixes a few bugs and provides enhanced extensibility for OCL-based applications such as QVT.

The significant changes for the Pivot-based OCL are:

  • Addition of iteration support for creation and use of the Map type
Map{1 <- 'one', 2 <- 'two'}

defines a two element Map literal with the keys {1,2} and corresponding values {'one', 'two'} bound to them.

Sequence{1..3}->collectBy(i | i*i)

creates a Map using the three element sequence to define the keys and the i*i body of the new collectBy iteration to define the values.

Map{1 <- 1, 2 <- 4,3 <- 9}->reject(k <- v | k = 2 or v = 9}

defines a reject iteration over a three entry map literal, with a primary iterator k over the set of keys and a new secondary co-iterator v over the values bound to each key. The body causes the second entry with key 2, and the third entry with value 9 to be rejected leaving just a one entry map.

Eclipse versions

The 2018-12 release is installable on Mars, Neon, Oxygen and Photon platforms provided Xtext 2.9 or greater is also installed.

The 2018-12 sources are buildable on Photon or 2018-09 or 2018-12.

Java versions

Java 8 on Windows was used to develop and test the milestones of this release.

Java 11 on Windows was briefly used to maintain and test the 2018-12 release candidates. It appears to work although Java code generation/compilation seems nearly three times slower - see Bug 565563.

Java 8 on Jenkins, Linux was used to build and test the release candidates.

The Classic Ecore/UML plugins have been tested on Mars, Neon, Oxygen and Photon and on a Java 5 Virtual Machine. Standalone execution requires only the org.eclipse.osgi plugin from Eclipse Kepler or a spoof of org.eclipse.osgi.util.NLS and org.eclipse.osgi.framework.

The Pivot plugins require at least a Java 8 Virtual Machine and at least Xtext 2.9.1. Testing on Oxygen has a couple of test failures. Testing on Mars and Neon has a few editor/console startup failures.

Milestone 1

Milestone 2


  • 540751 Menu entries such as Create Dynamic Instance restored

Milestone 3


  • 540353 Collection/Map collectBy iteration added for Map construction
  • 540884 Map iterations added with co-iterators for values



  • 494536 closure() return can now be statically null-free
  • 507628 Safe navigation now diagnosed for opposite property navigation
  • 541627 Safe navigation now diagnosed for Map navigation


Back to the top