UML 2.6 RTF Avatar
  1. OMG Issue

UMLR — Bug in OCL for excludeCollisions

  • Key: UMLR-847
  • Status: open  
  • Source: INGI Consulting ApS ( Pétur Ingi Egilsson)
  • Summary:

    There is a problem in the following, because isDistinguishableFrom returns false when comparing an element to itself, so unless filtered, this would exclude all elements due to self-comparison.

    "excludeCollisions(imps : PackageableElement [0..*]) : PackageableElement [0..*] The query excludeCollisions() excludes from a set of PackageableElements any that would not be distinguishable from each other in this Namespace.
    body: imps->reject(imp1 | imps->exists(imp2 | not imp1.isDistinguishableFrom(imp2, self)))"

    Correction:
    excludeCollisions = imps->reject(imp1 |
    imps->exists(imp2 | imp1 <> imp2 and not imp1.isDistinguishableFrom(imp2, self))
    )

  • Reported: UML 2.5.1 — Sun, 25 May 2025 16:41 GMT
  • Updated: Tue, 27 May 2025 16:44 GMT