Previous | UML Classes | Table of Contents | UML Packages | Next |
(IntermediateActions ) StructuralFeatureAction is an abstract class for all structural feature actions.
•
Action (from BasicActions ) on page 247
This abstract action class statically specifies the structural feature being accessed.
The object to access is specified dynamically, by referring to an input pin on which the object will be placed at runtime.
The type of the value of this pin is the classifier that owns the specified structural feature, and the value’s multiplicity
is 1..1.
No additional attributes
• structuralFeature : StructuralFeature [1..1] Structural feature to be read.
• object : InputPin [1..1] Gives the input pin from which the object whose structural feature is to be read or written is
obtained. (Subsets Action::input)
[1] The structural feature must not be static.
self.structuralFeature.isStatic = #false
[2] The type of the object input pin is the same as the classifier of the object passed on this pin.
[3] The multiplicity of the input pin must be 1..1.
self.object.multiplicity.is(1,1)
[4] Visibility of structural feature must allow access to the object performing the action.
let host : Classifier = self.context inself.structuralFeature.visibility = #publicor host = self.structuralFeature.featuringClassifier.typeor (self.structuralFeature.visibility = #protected and host.allSupertypes
->includes(self.structuralFeature.featuringClassifier.type)))
[5] A structural feature has exactly one featuringClassifier.
self.structuralFeature.featuringClassifier->size() = 1
A structural feature action operates on a statically specified structural feature of some classifier. The action requires
an object on which to act, provided at runtime through an input pin. If the structural feature is an association end, then
actions on the feature have the same semantics as actions on the links that have the feature as an end. See specializations
of StructuralFeatureAction. The semantics is undefined for accessing a structural feature that violates its visibility. The
semantics for static features are undefined.
The structural features of an object may change over time due to dynamic classification. However, the structural feature specified
in a structural feature action is inherited from a single classifier, and it is assumed that the object passed to a structural
feature action is classified by that classifier directly or indirectly. The structural feature is referred to as a user model
element, so it is uniquely identified, even if there are other structural features of the same name on other classifiers.
No specific notation
StructuralFeatureAction is introduced for the abstract aspects of structural feature actions.
StructuralFeatureAction is new in UML 2.0. It generalizes AttributeAction in UML 1.5.