UML 2.6 RTF Avatar
  1. OMG Issue

UMLR — Are null NamedElement::name values names?

  • Key: UMLR-749
  • Status: open  
  • Source: Model Driven Solutions ( Dr. Edward Willink)
  • Summary:

    I am informed that UML aspires to have null-free collections, even though UML uses OCL which explicitly supports null within collections.

    There is a UML/OCL conflict for Namespace::getNamesOfMember for which a null-named element returns a non-empty set. Consequently multiple unnamed elements such as Constraints violate the NamedElement::isDistinguishableFrom query and so are not valid in UML.

    If an ->excluding(null) is added to the getNamesOfMember result, a more interesting semantics that a null name is not a name results and permits multiple null-named Constraints.

    If this change is pursued, 7.4.3.2 needs to be explicit rather than suggestive that an unnamed element has a null name which is an absence of a name and so when aggregated in a collection of names does not contribute a null value. Perhaps a 6.3.4 section is needed to generically specify that every Collection value in every specified OCL body has an implicit aCollectionValue->excluding(null) to enforce the no-nulls-in-collections semantics of UML.

  • Reported: UML 2.5 — Thu, 15 Feb 2018 16:41 GMT
  • Updated: Fri, 6 Apr 2018 19:23 GMT