Constraints:

Signature: type_of_object() : Boolean;Description: The type of the object input pin is the association class that owns the
association end that has the given qualifier attribute.Expression: self.object.type = self.qualifier.associationEnd.association

Signature: same_type() : Boolean;Description: The type of the result output pin is the same as the type of the qualifier
attribute.Expression: self.result.type = self.qualifier.type

Signature: qualifier_attribute() : Boolean;Description: The qualifier attribute must be a qualifier attribute of an association
end.Expression: self.qualifier.associationEnd->size() = 1

Signature: multiplicity_of_result() : Boolean;Description: The multiplicity of the result output pin is 1..1.The OCL used here is not normative.Editor's notes: No multiplicityExpression: self.result.is(1,1)Original: self.result.multiplicity.is(1,1)

Signature: multiplicity_of_qualifier() : Boolean;Description: The multiplicity of the qualifier attribute is 1..1.The OCL used here is not normative.Editor's notes: No multiplicityExpression: self.qualifier.is(1,1)Original: self.qualifier.multiplicity.is(1,1)

Signature: multiplicity_of_object() : Boolean;Description: The multiplicity of the object input pin is 1..1.The OCL used here is not normative.Editor's notes: No multiplicityExpression: self.object.is(1,1)Original: self.object.multiplicity.is(1,1)

Signature: ends_of_association() : Boolean;Description: The ends of the association must not be static.The OCL used here is not normative.Editor's notes: forAll not forall.Expression: self.qualifier.associationEnd.association.memberEnd->forAll(e | not e.isStatic)Original: self.qualifier.associationEnd.association.memberEnd->forall(e | not e.isStatic)

Signature: association_of_association() : Boolean;Description: The association of the association end of the qualifier attribute must
be an association class.Expression: self.qualifier.associationEnd.association.oclIsKindOf(AssociationClass)