Abstract Class UML 2.3::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 Structured activity node containing the node.
Subsets: ActivityNode.inGroup
Opposite: StructuredActivityNode.node
incoming :
ActivityEdge (0 *); -- source
ActivityNode outgoing :
ActivityEdge (0 *); -- source
ActivityNode redefinedNode :
ActivityNode (0 *); -- source
ActivityNode isLeaf : Boolean (1 1); -- source
RedefinableElement Indicates whether it is possible to further redefine a RedefinableElement.
If the value is true, then it is not possible to further redefine the RedefinableElement.
Note that this property is preserved through package merge operations;
that is, the capability to redefine a RedefinableElement (i.e., isLeaf=false)
must be preserved in the resulting RedefinableElement of a package merge
operation where a RedefinableElement with isLeaf=false is merged with a
matching RedefinableElement with isLeaf=true: the resulting RedefinableElement
will have isLeaf=false. Default value is false.
Default value: FALSE
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
NamedElement 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].