Issue 7531: elements in a tuple value (ocl2-rtf) Source: OpenModeling (Mr. Jos Warmer, jos.warmer(at)openmodeling.nl) Nature: Uncategorized Issue Severity: Summary: 23. -- [1] The elements in a tuple value must have a type that conforms to the type -- of the corresponding tuple parts. context TupleValue inv: elements->forAll( elem | let correspondingPart: Attribute = self.model.allAttributes()->select( part | part.name = elem.name ) in elem.value.model.conformsTo( correspondingPart.type ) ) ==> ’Attribute’ should be ’UML14::Core::Attribute’ ==> ’select’ should be ’any’ Resolution: No: OCL 2.4 does not yet have a UML-aligned type system so the UML14::Core:: is a solution for one particular tool. The prefix certainly shouldn't be UML14. It is likely that the UML aligned solution will not require a prefix at all legitimizing the original exposition. Yes: any rather than select Revised Text: In 10.2.3.1 LocalSnapshot replace self.model.allAttributes()->select( part | part.name = elem.name ) in by self.model.allAttributes()->any( part | part.name = elem.name ) in Actions taken: June 10, 2004: received issue December 23, 2013: closed issue Discussion: End of Annotations:===== s is issue # 7531 elements in a tuple value 23. -- [1] The elements in a tuple value must have a type that conforms to the type -- of the corresponding tuple parts. context TupleValue inv: elements->forAll( elem | let correspondingPart: Attribute = self.model.allAttributes()->select( part | part.name = elem.name ) in elem.value.model.conformsTo( correspondingPart.type ) ) ==> .Attribute. should be .UML14::Core::Attribute. ==> .select. should be .any.