-
Key: OCL25-23
-
Legacy Issue Number: 19020
-
Status: open
-
Source: Model Driven Solutions ( Dr. Edward Willink)
-
Summary:
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 11.9.1.3 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.
context Set
inv: forAll(x | self->count = 1)(count is already defined using "=")
[And chnage 11.9.1.3 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
OCL25 — How does Set distinguish duplicate values?
- Key: OCL25-23
- OMG Task Force: Object Constraint Language 2.5 RTF