Abstract Class UML 2.3::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=107710%3ADE661CAA5A4D88BC1508E7A830E6F5C0)
object :
InputPin (1 1); -- source
StructuralFeatureAction![](/se-interop/image/down-arrow.png?hunchentoot-session=107710%3ADE661CAA5A4D88BC1508E7A830E6F5C0)
structuralFeature :
StructuralFeature (1 1); -- source
StructuralFeatureAction![](/se-interop/image/down-arrow.png?hunchentoot-session=107710%3ADE661CAA5A4D88BC1508E7A830E6F5C0)
context :
Classifier (0 1); -- source
Action![](/se-interop/image/down-arrow.png?hunchentoot-session=107710%3ADE661CAA5A4D88BC1508E7A830E6F5C0)
input :
InputPin (0 *); -- source
Action![](/se-interop/image/down-arrow.png?hunchentoot-session=107710%3ADE661CAA5A4D88BC1508E7A830E6F5C0)
isLocallyReentrant : Boolean (1 1); -- source
Action![](/se-interop/image/down-arrow.png?hunchentoot-session=107710%3ADE661CAA5A4D88BC1508E7A830E6F5C0)
localPostcondition :
Constraint (0 *); -- source
Action![](/se-interop/image/down-arrow.png?hunchentoot-session=107710%3ADE661CAA5A4D88BC1508E7A830E6F5C0)
localPrecondition :
Constraint (0 *); -- source
Action![](/se-interop/image/down-arrow.png?hunchentoot-session=107710%3ADE661CAA5A4D88BC1508E7A830E6F5C0)
output :
OutputPin (0 *); -- source
Action![](/se-interop/image/down-arrow.png?hunchentoot-session=107710%3ADE661CAA5A4D88BC1508E7A830E6F5C0)
handler :
ExceptionHandler (0 *); -- source
ExecutableNode![](/se-interop/image/down-arrow.png?hunchentoot-session=107710%3ADE661CAA5A4D88BC1508E7A830E6F5C0)
activity :
Activity (0 1); -- source
ActivityNode![](/se-interop/image/down-arrow.png?hunchentoot-session=107710%3ADE661CAA5A4D88BC1508E7A830E6F5C0)
inGroup :
ActivityGroup (0 *); -- source
ActivityNode![](/se-interop/image/down-arrow.png?hunchentoot-session=107710%3ADE661CAA5A4D88BC1508E7A830E6F5C0)
inInterruptibleRegion :
InterruptibleActivityRegion (0 *); -- source
ActivityNode![](/se-interop/image/down-arrow.png?hunchentoot-session=107710%3ADE661CAA5A4D88BC1508E7A830E6F5C0)
inPartition :
ActivityPartition (0 *); -- source
ActivityNode![](/se-interop/image/down-arrow.png?hunchentoot-session=107710%3ADE661CAA5A4D88BC1508E7A830E6F5C0)
inStructuredNode :
StructuredActivityNode (0 1); -- source
ActivityNode![](/se-interop/image/down-arrow.png?hunchentoot-session=107710%3ADE661CAA5A4D88BC1508E7A830E6F5C0)
incoming :
ActivityEdge (0 *); -- source
ActivityNode![](/se-interop/image/down-arrow.png?hunchentoot-session=107710%3ADE661CAA5A4D88BC1508E7A830E6F5C0)
outgoing :
ActivityEdge (0 *); -- source
ActivityNode![](/se-interop/image/down-arrow.png?hunchentoot-session=107710%3ADE661CAA5A4D88BC1508E7A830E6F5C0)
redefinedNode :
ActivityNode (0 *); -- source
ActivityNode![](/se-interop/image/down-arrow.png?hunchentoot-session=107710%3ADE661CAA5A4D88BC1508E7A830E6F5C0)
isLeaf : Boolean (1 1); -- source
RedefinableElement![](/se-interop/image/down-arrow.png?hunchentoot-session=107710%3ADE661CAA5A4D88BC1508E7A830E6F5C0)
redefinedElement :
RedefinableElement (0 *); -- source
RedefinableElement![](/se-interop/image/down-arrow.png?hunchentoot-session=107710%3ADE661CAA5A4D88BC1508E7A830E6F5C0)
redefinitionContext :
Classifier (0 *); -- source
RedefinableElement![](/se-interop/image/down-arrow.png?hunchentoot-session=107710%3ADE661CAA5A4D88BC1508E7A830E6F5C0)
clientDependency :
Dependency (0 *); -- source
NamedElement![](/se-interop/image/down-arrow.png?hunchentoot-session=107710%3ADE661CAA5A4D88BC1508E7A830E6F5C0)
name : String (0 1); -- source
NamedElement![](/se-interop/image/down-arrow.png?hunchentoot-session=107710%3ADE661CAA5A4D88BC1508E7A830E6F5C0)
nameExpression :
StringExpression (0 1); -- source
NamedElement![](/se-interop/image/down-arrow.png?hunchentoot-session=107710%3ADE661CAA5A4D88BC1508E7A830E6F5C0)
namespace :
Namespace (0 1); -- source
NamedElement![](/se-interop/image/down-arrow.png?hunchentoot-session=107710%3ADE661CAA5A4D88BC1508E7A830E6F5C0)
qualifiedName : String (0 1); -- source
NamedElement![](/se-interop/image/down-arrow.png?hunchentoot-session=107710%3ADE661CAA5A4D88BC1508E7A830E6F5C0)
visibility :
VisibilityKind (0 1); -- source
NamedElement![](/se-interop/image/down-arrow.png?hunchentoot-session=107710%3ADE661CAA5A4D88BC1508E7A830E6F5C0)
ownedComment :
Comment (0 *); -- source
Element![](/se-interop/image/down-arrow.png?hunchentoot-session=107710%3ADE661CAA5A4D88BC1508E7A830E6F5C0)
ownedElement :
Element (0 *); -- source
Element![](/se-interop/image/down-arrow.png?hunchentoot-session=107710%3ADE661CAA5A4D88BC1508E7A830E6F5C0)
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 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.multiplicity.is(1,1)
Operations:
No additional operations.
Send questions or comments to
[email protected].