Software Disclaimer

Class UML 2.3::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: Element

Direct Subclasses: LinkEndDestructionData, LinkEndCreationData

Class Precedence List: LinkEndData, Element

Properties:

end : Property (1 1); -- source LinkEndData
qualifier : QualifierValue (0 *); -- source LinkEndData
value : InputPin (0 1); -- source LinkEndData

Input 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 Element

Constraints:

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 xmi-interop@omg.org.