Legacy Issue Number: 19020
Source: Model Driven Solutions ( Ed Willink)
In 11.6.2: "It [Set] contains elements without duplicates."
What is a duplicate?
In 10.2.2.13 SetTypeValue
"All elements belonging to a set value have unique values.
self.element->isUnique(e : Element | e.value)"
>From 18.104.22.168 isUnique, the basis of comparison is <>:
forAll (x, y | (x.iter <> y.iter) implies (x.value <> y.value))
But what is the Element::value to which "<>" is applied. It is far from clear that the semantics of the Element in Section 10 which is completely unrelated to MOF::Element leads to the obvious answer.
Suggest adding the obvious WFR.
inv: forAll(x | self->count = 1)
(count is already defined using "=")
[And chnage 22.214.171.124 isUnique to use this much more readable formulation.]
Reported: OCL 2.3.1 — Wed, 23 Oct 2013 04:00 GMT
Updated: Thu, 8 Oct 2015 14:11 GMT