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=173336%3A3977751BC4E61957062E853E3BE48F42)
object :
InputPin (1 1); -- source
StructuralFeatureAction![](/se-interop/image/down-arrow.png?hunchentoot-session=173336%3A3977751BC4E61957062E853E3BE48F42)
structuralFeature :
StructuralFeature (1 1); -- source
StructuralFeatureAction![](/se-interop/image/down-arrow.png?hunchentoot-session=173336%3A3977751BC4E61957062E853E3BE48F42)
context :
Classifier (0 1); -- source
Action![](/se-interop/image/down-arrow.png?hunchentoot-session=173336%3A3977751BC4E61957062E853E3BE48F42)
input :
InputPin (0 *); -- source
Action![](/se-interop/image/down-arrow.png?hunchentoot-session=173336%3A3977751BC4E61957062E853E3BE48F42)
isLocallyReentrant : Boolean (1 1); -- source
Action![](/se-interop/image/down-arrow.png?hunchentoot-session=173336%3A3977751BC4E61957062E853E3BE48F42)
localPostcondition :
Constraint (0 *); -- source
Action![](/se-interop/image/down-arrow.png?hunchentoot-session=173336%3A3977751BC4E61957062E853E3BE48F42)
localPrecondition :
Constraint (0 *); -- source
Action![](/se-interop/image/down-arrow.png?hunchentoot-session=173336%3A3977751BC4E61957062E853E3BE48F42)
output :
OutputPin (0 *); -- source
Action![](/se-interop/image/down-arrow.png?hunchentoot-session=173336%3A3977751BC4E61957062E853E3BE48F42)
handler :
ExceptionHandler (0 *); -- source
ExecutableNode![](/se-interop/image/down-arrow.png?hunchentoot-session=173336%3A3977751BC4E61957062E853E3BE48F42)
activity :
Activity (0 1); -- source
ActivityNode![](/se-interop/image/down-arrow.png?hunchentoot-session=173336%3A3977751BC4E61957062E853E3BE48F42)
inGroup :
ActivityGroup (0 *); -- source
ActivityNode![](/se-interop/image/down-arrow.png?hunchentoot-session=173336%3A3977751BC4E61957062E853E3BE48F42)
inInterruptibleRegion :
InterruptibleActivityRegion (0 *); -- source
ActivityNode![](/se-interop/image/down-arrow.png?hunchentoot-session=173336%3A3977751BC4E61957062E853E3BE48F42)
inPartition :
ActivityPartition (0 *); -- source
ActivityNode![](/se-interop/image/down-arrow.png?hunchentoot-session=173336%3A3977751BC4E61957062E853E3BE48F42)
inStructuredNode :
StructuredActivityNode (0 1); -- source
ActivityNode![](/se-interop/image/down-arrow.png?hunchentoot-session=173336%3A3977751BC4E61957062E853E3BE48F42)
incoming :
ActivityEdge (0 *); -- source
ActivityNode![](/se-interop/image/down-arrow.png?hunchentoot-session=173336%3A3977751BC4E61957062E853E3BE48F42)
outgoing :
ActivityEdge (0 *); -- source
ActivityNode![](/se-interop/image/down-arrow.png?hunchentoot-session=173336%3A3977751BC4E61957062E853E3BE48F42)
redefinedNode :
ActivityNode (0 *); -- source
ActivityNode![](/se-interop/image/down-arrow.png?hunchentoot-session=173336%3A3977751BC4E61957062E853E3BE48F42)
isLeaf : Boolean (1 1); -- source
RedefinableElement![](/se-interop/image/down-arrow.png?hunchentoot-session=173336%3A3977751BC4E61957062E853E3BE48F42)
redefinedElement :
RedefinableElement (0 *); -- source
RedefinableElement![](/se-interop/image/down-arrow.png?hunchentoot-session=173336%3A3977751BC4E61957062E853E3BE48F42)
redefinitionContext :
Classifier (0 *); -- source
RedefinableElement![](/se-interop/image/down-arrow.png?hunchentoot-session=173336%3A3977751BC4E61957062E853E3BE48F42)
clientDependency :
Dependency (0 *); -- source
NamedElement![](/se-interop/image/down-arrow.png?hunchentoot-session=173336%3A3977751BC4E61957062E853E3BE48F42)
name : String (0 1); -- source
NamedElement![](/se-interop/image/down-arrow.png?hunchentoot-session=173336%3A3977751BC4E61957062E853E3BE48F42)
nameExpression :
StringExpression (0 1); -- source
NamedElement![](/se-interop/image/down-arrow.png?hunchentoot-session=173336%3A3977751BC4E61957062E853E3BE48F42)
namespace :
Namespace (0 1); -- source
NamedElement![](/se-interop/image/down-arrow.png?hunchentoot-session=173336%3A3977751BC4E61957062E853E3BE48F42)
qualifiedName : String (0 1); -- source
NamedElement![](/se-interop/image/down-arrow.png?hunchentoot-session=173336%3A3977751BC4E61957062E853E3BE48F42)
visibility :
VisibilityKind (0 1); -- source
NamedElement![](/se-interop/image/down-arrow.png?hunchentoot-session=173336%3A3977751BC4E61957062E853E3BE48F42)
ownedComment :
Comment (0 *); -- source
Element![](/se-interop/image/down-arrow.png?hunchentoot-session=173336%3A3977751BC4E61957062E853E3BE48F42)
ownedElement :
Element (0 *); -- source
Element![](/se-interop/image/down-arrow.png?hunchentoot-session=173336%3A3977751BC4E61957062E853E3BE48F42)
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].