Class UML 2.4.1::LinkEndData
Description:
A link end data is not an action. It is an element that identifies links.
It identifies one end of a link to be read or written by the children of
a link action. A link cannot be passed as a runtime value to or from an
action. Instead, a link is identified by its end objects and qualifier
values, if any. This requires more than one piece of data, namely, the
statically-specified end in the user model, the object on the end, and
the qualifier values for that end, if any. These pieces are brought together
around a link end data. Each association end is identified separately with
an instance of the LinkEndData class.
Direct Superclasses: ElementDirect Subclasses: LinkEndDestructionData,
LinkEndCreationDataClass Precedence List: LinkEndData,
ElementProperties:
end :
Property (1 1); -- source
LinkEndData qualifier :
QualifierValue (0 *); -- source
LinkEndData value :
InputPin (0 1); -- source
LinkEndDataInput pin that provides the specified object for the given end. This pin
is omitted if the link-end data specifies an 'open' end for reading.
ownedComment :
Comment (0 *); -- source
Element ownedElement :
Element (0 *); -- source
Element owner :
Element (0 1); -- source
ElementConstraints:
Signature: same_type() : Boolean;
Description: The type of the end object input pin is the same as the type of the association
end.
Expression: self.value.type = self.end.type
Signature: qualifiers() : Boolean;
Description: The qualifiers include all and only the qualifiers of the association end.
The OCL used here is not normative.Editor's notes: Not investigated. Either = not to be used this way, or OCL implementation needs it.
Expression: true
Original: self.qualifier->collect(qualifier) = self.end.qualifier
Signature: property_is_association_end() : Boolean;
Description: The property must be an association end.
Expression: self.end.association->size() = 1
Signature: multiplicity() : Boolean;
Description: The multiplicity of the end object input pin must be 1..1.
The OCL used here is not normative.Editor's notes: No multiplicity
Expression: self.value.is(1,1)
Original: self.value.multiplicity.is(1,1)
Signature: end_object_input_pin() : Boolean;
Description: The end object input pin is not also a qualifier value input pin.
Expression: self.value->excludesAll(self.qualifier.value)
Operations:
No additional operations.
Send questions or comments to
[email protected].