OCL 2.5 RTF Avatar
  1. OMG Issue

OCL25 — Set operations for OrderedSet

  • Key: OCL25-130
  • Legacy Issue Number: 14225
  • Status: open  
  • Source: Individual ( Alexander Igdalov)
  • Summary:

    MDT OCL implementation has assumed that OrderedSet is a subtype of Set. It has become clear (11.6.3) that this assumption was erroneous. As a result, operations which are defined on Sets in the standard library (like including, excluding, intersection, union, etc.) must be undefined on OrderedSet. However, many clients (including the ones of Operational QVT) have already written code relying on this behaviour (i.e. considering that OrderedSet is a subtype of Set, they used operations like including()). It would be very helpful to define such operations on OrderedSet. It would be also important to define these counterpart operations so that they would keep the order of the elements of the initial OrderedSet, e.g:

    including(object : T) : OrderedSet(T)

    The OrderedSet containing all elements of self plus object added as the last element.

    post: result = self.append(object)

  • Reported: OCL 2.1 — Thu, 27 Aug 2009 04:00 GMT
  • Updated: Thu, 8 Oct 2015 14:12 GMT