Previous UML Classes Table of Contents UML Packages Next


11.3.47 StructuralFeatureAction

IntermediateActions


   (IntermediateActions ) StructuralFeatureAction is an abstract class for all structural feature actions.

*Generalizations

   

    Action (from BasicActions ) on page 247

*Description

   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.

*Attributes

   No additional attributes

*Associations

   • 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)

*Constraints

   [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

*Semantics

   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.

*Notation

   No specific notation

   StructuralFeatureAction is introduced for the abstract aspects of structural feature actions.

*Changes from previous UML

   StructuralFeatureAction is new in UML 2.0. It generalizes AttributeAction in UML 1.5.