Abstract Class UML 2.4.1::StructuralFeatureAction
Description:
StructuralFeatureAction is an abstract class for all structural feature
actions.
Direct Superclasses: ActionDirect Subclasses: WriteStructuralFeatureAction,
ReadStructuralFeatureAction,
ClearStructuralFeatureActionClass Precedence List: StructuralFeatureAction,
Action,
ExecutableNode,
ActivityNode,
RedefinableElement,
NamedElement,
ElementProperties:
![](/se-interop/image/down-arrow.png?hunchentoot-session=139164%3A17420C95FFA71EC2BBE9D66416F4C06D)
object :
InputPin (1 1); -- source
StructuralFeatureAction![](/se-interop/image/down-arrow.png?hunchentoot-session=139164%3A17420C95FFA71EC2BBE9D66416F4C06D)
structuralFeature :
StructuralFeature (1 1); -- source
StructuralFeatureAction![](/se-interop/image/down-arrow.png?hunchentoot-session=139164%3A17420C95FFA71EC2BBE9D66416F4C06D)
context :
Classifier (0 1); -- source
Action![](/se-interop/image/down-arrow.png?hunchentoot-session=139164%3A17420C95FFA71EC2BBE9D66416F4C06D)
input :
InputPin (0 *); -- source
Action![](/se-interop/image/down-arrow.png?hunchentoot-session=139164%3A17420C95FFA71EC2BBE9D66416F4C06D)
isLocallyReentrant : Boolean (1 1); -- source
Action![](/se-interop/image/down-arrow.png?hunchentoot-session=139164%3A17420C95FFA71EC2BBE9D66416F4C06D)
localPostcondition :
Constraint (0 *); -- source
Action![](/se-interop/image/down-arrow.png?hunchentoot-session=139164%3A17420C95FFA71EC2BBE9D66416F4C06D)
localPrecondition :
Constraint (0 *); -- source
Action![](/se-interop/image/down-arrow.png?hunchentoot-session=139164%3A17420C95FFA71EC2BBE9D66416F4C06D)
output :
OutputPin (0 *); -- source
Action![](/se-interop/image/down-arrow.png?hunchentoot-session=139164%3A17420C95FFA71EC2BBE9D66416F4C06D)
handler :
ExceptionHandler (0 *); -- source
ExecutableNode![](/se-interop/image/right-arrow.png?hunchentoot-session=139164%3A17420C95FFA71EC2BBE9D66416F4C06D)
activity :
Activity (0 1); -- source
ActivityNodeActivity containing the node.
Subsets: Element.owner
Opposite: Activity.node
![](/se-interop/image/down-arrow.png?hunchentoot-session=139164%3A17420C95FFA71EC2BBE9D66416F4C06D)
inGroup :
ActivityGroup (0 *); -- source
ActivityNode![](/se-interop/image/down-arrow.png?hunchentoot-session=139164%3A17420C95FFA71EC2BBE9D66416F4C06D)
inInterruptibleRegion :
InterruptibleActivityRegion (0 *); -- source
ActivityNode![](/se-interop/image/down-arrow.png?hunchentoot-session=139164%3A17420C95FFA71EC2BBE9D66416F4C06D)
inPartition :
ActivityPartition (0 *); -- source
ActivityNode![](/se-interop/image/down-arrow.png?hunchentoot-session=139164%3A17420C95FFA71EC2BBE9D66416F4C06D)
inStructuredNode :
StructuredActivityNode (0 1); -- source
ActivityNode![](/se-interop/image/down-arrow.png?hunchentoot-session=139164%3A17420C95FFA71EC2BBE9D66416F4C06D)
incoming :
ActivityEdge (0 *); -- source
ActivityNode![](/se-interop/image/down-arrow.png?hunchentoot-session=139164%3A17420C95FFA71EC2BBE9D66416F4C06D)
outgoing :
ActivityEdge (0 *); -- source
ActivityNode![](/se-interop/image/down-arrow.png?hunchentoot-session=139164%3A17420C95FFA71EC2BBE9D66416F4C06D)
redefinedNode :
ActivityNode (0 *); -- source
ActivityNode![](/se-interop/image/down-arrow.png?hunchentoot-session=139164%3A17420C95FFA71EC2BBE9D66416F4C06D)
isLeaf : Boolean (1 1); -- source
RedefinableElement![](/se-interop/image/down-arrow.png?hunchentoot-session=139164%3A17420C95FFA71EC2BBE9D66416F4C06D)
redefinedElement :
RedefinableElement (0 *); -- source
RedefinableElement![](/se-interop/image/down-arrow.png?hunchentoot-session=139164%3A17420C95FFA71EC2BBE9D66416F4C06D)
redefinitionContext :
Classifier (0 *); -- source
RedefinableElement![](/se-interop/image/down-arrow.png?hunchentoot-session=139164%3A17420C95FFA71EC2BBE9D66416F4C06D)
clientDependency :
Dependency (0 *); -- source
NamedElement![](/se-interop/image/right-arrow.png?hunchentoot-session=139164%3A17420C95FFA71EC2BBE9D66416F4C06D)
name : String (0 1); -- source
NamedElementThe name of the NamedElement.
![](/se-interop/image/down-arrow.png?hunchentoot-session=139164%3A17420C95FFA71EC2BBE9D66416F4C06D)
nameExpression :
StringExpression (0 1); -- source
NamedElement![](/se-interop/image/down-arrow.png?hunchentoot-session=139164%3A17420C95FFA71EC2BBE9D66416F4C06D)
namespace :
Namespace (0 1); -- source
NamedElement![](/se-interop/image/down-arrow.png?hunchentoot-session=139164%3A17420C95FFA71EC2BBE9D66416F4C06D)
qualifiedName : String (0 1); -- source
NamedElement![](/se-interop/image/down-arrow.png?hunchentoot-session=139164%3A17420C95FFA71EC2BBE9D66416F4C06D)
visibility :
VisibilityKind (0 1); -- source
NamedElement![](/se-interop/image/down-arrow.png?hunchentoot-session=139164%3A17420C95FFA71EC2BBE9D66416F4C06D)
ownedComment :
Comment (0 *); -- source
Element![](/se-interop/image/down-arrow.png?hunchentoot-session=139164%3A17420C95FFA71EC2BBE9D66416F4C06D)
ownedElement :
Element (0 *); -- source
Element![](/se-interop/image/down-arrow.png?hunchentoot-session=139164%3A17420C95FFA71EC2BBE9D66416F4C06D)
owner :
Element (0 1); -- source
ElementConstraints:
Signature: visibility() : Boolean;
Description: Visibility of structural feature must allow access to the object performing
the action.
The OCL used here is not normative.Editor's notes: allSupertypes not defined.
Expression: true
Original: let host : Classifier = self.context in self.structuralFeature.visibility = #public or host = self.structuralFeature.featuringClassifier.type or (self.structuralFeature.visibility = #protected and host.allSupertypes ->includes(self.structuralFeature.featuringClassifier.type)))
Signature: same_type() : Boolean;
Description: The structural feature must either be owned by the type of the object input
pin, or it must be an owned end of a binary association with the type of
the opposite end being the type of the object input pin.
Expression: self.structuralFeature.featuringClassifier.oclAsType(Type)->includes(self.object.type) or self.structuralFeature.oclAsType(Property).opposite.type = self.object.type
Signature: one_featuring_classifier() : Boolean;
Description: A structural feature has exactly one featuringClassifier.
Expression: self.structuralFeature.featuringClassifier->size() = 1
Signature: not_static() : Boolean;
Description: The structural feature must not be static.
Expression: self.structuralFeature.isStatic = #false
Signature: multiplicity() : Boolean;
Description: The multiplicity of the object input pin must be 1..1.
The OCL used here is not normative.Editor's notes: No multiplicity
Expression: self.object.is(1,1)
Original: self.object.lowerBound()=1 and self.object.upperBound()=1
Operations:
No additional operations.
Send questions or comments to
[email protected].