Signature: type_and_ordering() : Boolean;Description: The type and ordering of the result output pin are same as the type and
ordering of the open association end.Expression: let openend : Property = self.endData->select(ed | ed.value->size() = 0)->asSequence()->first().end in
self.result.type = openend.type
and self.result.ordering = openend.ordering

Signature: compatible_multiplicity() : Boolean;Description: The multiplicity of the open association end must be compatible with the
multiplicity of the result output pin.The OCL used here is not normative.Editor's notes: No multiplicity. No more AssociationEnd. Needs further investigation. Use of Element is a hack.Expression: let openend : Element = self.endData->select(ed | ed.value->size() = 0)->asSequence()->first().end in
openend.compatibleWith(self.result)Original: let openend : AssociationEnd = self.endData->select(ed | ed.value->size() = 0)->asSequence()->first().end in
openend.multiplicity.compatibleWith(self.result.multiplicity)