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
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
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].