-
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