Abstract Class UML 2.4.1::LinkAction
Description:
LinkAction is an abstract class for all link actions that identify their
links by the objects at the ends of the links and by the qualifiers at
ends of the links.
Direct Superclasses: ActionDirect Subclasses: WriteLinkAction,
ReadLinkActionClass Precedence List: LinkAction,
Action,
ExecutableNode,
ActivityNode,
RedefinableElement,
NamedElement,
ElementProperties:
endData :
LinkEndData (2 *); -- source
LinkAction inputValue :
InputPin (1 *); -- source
LinkAction context :
Classifier (0 1); -- source
Action input :
InputPin (0 *); -- source
Action isLocallyReentrant : Boolean (1 1); -- source
Action localPostcondition :
Constraint (0 *); -- source
Action localPrecondition :
Constraint (0 *); -- source
Action output :
OutputPin (0 *); -- source
Action handler :
ExceptionHandler (0 *); -- source
ExecutableNode activity :
Activity (0 1); -- source
ActivityNode inGroup :
ActivityGroup (0 *); -- source
ActivityNode inInterruptibleRegion :
InterruptibleActivityRegion (0 *); -- source
ActivityNode inPartition :
ActivityPartition (0 *); -- source
ActivityNode inStructuredNode :
StructuredActivityNode (0 1); -- source
ActivityNode incoming :
ActivityEdge (0 *); -- source
ActivityNode outgoing :
ActivityEdge (0 *); -- source
ActivityNode redefinedNode :
ActivityNode (0 *); -- source
ActivityNode isLeaf : Boolean (1 1); -- source
RedefinableElement redefinedElement :
RedefinableElement (0 *); -- source
RedefinableElement redefinitionContext :
Classifier (0 *); -- source
RedefinableElement clientDependency :
Dependency (0 *); -- source
NamedElement name : String (0 1); -- source
NamedElement nameExpression :
StringExpression (0 1); -- source
NamedElement namespace :
Namespace (0 1); -- source
NamedElement qualifiedName : String (0 1); -- source
NamedElementA name which allows the NamedElement to be identified within a hierarchy
of nested Namespaces. It is constructed from the names of the containing
namespaces starting at the root of the hierarchy and ending with the name
of the NamedElement itself.
{
readonly,
derived}
visibility :
VisibilityKind (0 1); -- source
NamedElement ownedComment :
Comment (0 *); -- source
Element ownedElement :
Element (0 *); -- source
Element owner :
Element (0 1); -- source
ElementConstraints:
Signature: same_pins() : Boolean;
Description: The input pins of the action are the same as the pins of the link end data
and insertion pins.
The OCL used here is not normative.Editor's notes: Added endif.
Expression: self.input->asSet() =
let ledpins : Set = self.endData->collect(value) in
if self.oclIsKindOf(LinkEndCreationData)
then ledpins->union(self.endData.oclAsType(LinkEndCreationData).insertAt)
else ledpins endif
Original: self.input->asSet() = let ledpins : Set = self.endData->collect(value) in if self.oclIsKindOf(LinkEndCreationData) then ledpins->union(self.endData.oclAsType(LinkEndCreationData).insertAt) else ledpins
Signature: same_association() : Boolean;
Description: The association ends of the link end data must all be from the same association
and include all and only the association ends of that association.
The OCL used here is not normative.Editor's notes: Removed close paren somewhere here.
Expression: self.endData->collect(end) = self.association()->collect(connection)
Original: self.endData->collect(end) = self.association()->collect(connection))
Signature: not_static() : Boolean;
Description: The association ends of the link end data must not be static.
The OCL used here is not normative.Editor's notes: forAll not forall...but other problems too. I'll try this.
Expression: self.endData->forAll(end.isStatic = false)
Original: self.endData->forall(end.oclisKindOf(NavigableEnd) implies end.isStatic = #false
Operations:
Signature: association() : Association;
Description: The association operates on LinkAction. It returns the association of the
action.
Expression: result = self.endData->asSequence().first().end.association
Send questions or comments to
[email protected].