-
Key: OCL23-24
-
Legacy Issue Number: 14918
-
Status: closed
-
Source: Model Driven Solutions ( Dr. Edward Willink)
-
Summary:
OCLAny::=() is defined as 'True if self is the same object as object2.'
This is not overloaded for numeric types, and it is not specified that a numeric value may not have multiple instances.
The definition therefore implies that:
1 = 1
may often evaluate to false, and that
1.0 = 1
must evaluate to false even though (1.0 <= 1) and (1.0 >= 1) will evaluate true
Suggest overload
{Boolean, Real, String}::
{=,<>}to use values rather than objects.
-
Reported: OCL 2.2 — Sat, 2 Jan 2010 05:00 GMT
-
Disposition: Resolved — OCL 2.3
-
Disposition Summary:
The use of object should be clarified so that
Class instances are compared by object identity.
DataType instances are compared by value.
This resolution overlaps with null/invalid clarification and so the change below includes changes for Issue 18437. -
Updated: Fri, 6 Mar 2015 20:58 GMT
OCL23 — OCL 2.1 11.2.5 Numeric = and <> operations should compare values rather than objects
- Key: OCL23-24
- OMG Task Force: OCL 2.3 RTF