Issue 14626: UML2 - definition of Property.opposite is wrong (uml2-rtf) Source: Microsoft (Mr. Steve Cook, stcook(at)microsoft.com) Nature: Uncategorized Issue Severity: Summary: Currently the spec says: If this property is owned by a class associated with a binary association, and the other end of the association is also owned by a class, then opposite gives the other end. opposite = if owningAssociation->isEmpty() and association.memberEnd->size() = 2 then let otherEnd = (association.memberEnd - self)->any() in if otherEnd.owningAssociation->isEmpty() then otherEnd else Set{} endif else Set {} endif This is wrong. The opposite should be calculated properly whatever the property is owned by. It should say “if the property is an association end of a binary association, opposite gives the other end”. Resolution: Revised Text: Actions taken: November 13, 2009: received issue Discussion: End of Annotations:===== m: Steve Cook To: "issues@omg.org" Subject: UML2 - definition of Property.opposite is wrong Thread-Topic: UML2 - definition of Property.opposite is wrong Thread-Index: AcpkVqtzIbJ8gweMTgS1IKuyYOnnOQ== Date: Fri, 13 Nov 2009 11:44:33 +0000 Accept-Language: en-GB, en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: Currently the spec says: If this property is owned by a class associated with a binary association, and the other end of the association is also owned by a class, then opposite gives the other end. opposite = if owningAssociation->isEmpty() and association.memberEnd->size() = 2 then let otherEnd = (association.memberEnd - self)->any() in if otherEnd.owningAssociation->isEmpty() then otherEnd else Set{} endif else Set {} endif This is wrong. The opposite should be calculated properly whatever the property is owned by. It should say .if the property is an association end of a binary association, opposite gives the other end.. Thanks -- Steve