KlasseAbstractAction

AbstractActions model either a service’s internal computations or calls to external (i.e., required) services, or describe some form of control flow alteration (i.e., branching, loop, or fork). The following first clarifies the notions of internal and external actions, whose meta-classes both inherit from AbstractAction.
The RDSEFF defines the control flow between internal and external actions with the predecessor/successor relationship between AbstractActions to model sequential executions. Additionally, special actions for branching, loops, and forks allow other kinds of control flow. Other than flowcharts or UML activity diagrams, the RDSEFF language (as well as the usage model language) requires developers to make the branching, loop, fork bodies explicit using nested ResourceDemandingBehaviours. It disallows backward references in the chain of AbstractActions, which are basically
goto statements and can lead to ambiguities and difficult maintainability. For example, this might lead to intertwined control flows as in the example in Fig. 4.9(a), where both the sequences ’abcabcdbcd’ and ’abcdbcabcd’ could be occur if each backward reference is executed once, which might lead to different execution times. Backward references also allow the specification of loops with multiple entry points as in Fig. 4.9(b). This is not desirable, as the number of loop iterations cannot be specified directly in these cases, which is however necessary for accurate performance prediction. If a developer would specify that each backward link in Fig. 4.9(b) is executed only once, both sequences ’ababc’ and ’abcababc’ would be possible although they would have different execution times, as ’a’ is executed three times in the latter case. To avoid such ambiguities, control flow in the PCM RDSEFF and usage model must be specified without backward references in the chain of AbstractActions. Branches, loops, forks, and their respective bodies have to be made explicit in the specification using nested ResourceDemandingBehaviours.

Attribute
<Class> AbstractAction predecessor_AbstractAction predecessor_AbstractAction
<Class> AbstractAction successor_AbstractAction successor_AbstractAction

!!TableHeading.InheritedAttributes!!samm::core::Entity samm::core::Entity
documentation documentation

!!TableHeading.InheritedAttributes!!samm::core::NamedEntity samm::core::NamedEntity
name name

!!TableHeading.InheritedAttributes!!identifier::Identifier identifier::Identifier
id id

!!TableHeading.InheritedOperations!!samm::core::Entity samm::core::Entity

!!TableHeading.InheritedOperations!!samm::core::NamedEntity samm::core::NamedEntity

!!TableHeading.InheritedOperations!!identifier::Identifier identifier::Identifier

Eigenschaften:

Alias
Classifier Behavior
Is Abstracttrue
Is Activefalse
Is Leaffalse
Keywords
NameAbstractAction
Name Expression
Namespace<<ePackage>> <Model> seff
Owned Template Signature
Owner<<ePackage>> <Model> seff
Owning Template Parameter
Package<<ePackage>> <Model> seff
Qualified Nameseff::AbstractAction
Representation
Stereotype
Template Parameter
VisibilityPublic

Details für Attribute

 predecessor_AbstractAction
Public <Class> AbstractAction predecessor_AbstractAction
Eigenschaften:

AggregationNone
Alias
Association<Association> transition
Association End
Class<Class> AbstractAction
Datatype
Default
Default Value
Is Compositefalse
Is Derivedfalse
Is Derived Unionfalse
Is Leaffalse
Is Orderedfalse
Is Read Onlyfalse
Is Staticfalse
Is Uniquetrue
Keywords
Lower0
Lower Value<Literal Integer> 0
Multiplicity0..1
Namepredecessor_AbstractAction
Name Expression
Namespace<Class> AbstractAction
Opposite<Property> successor_AbstractAction : AbstractAction [0..1]
Owned Template Signature
Owner<Class> AbstractAction
Owning Association
Owning Template Parameter
Qualified Nameseff::AbstractAction::predecessor_AbstractAction
Stereotype
Template Parameter
Type<Class> AbstractAction
Upper1
Upper Value<Literal Unlimited Natural> 1
VisibilityPublic


 successor_AbstractAction
Public <Class> AbstractAction successor_AbstractAction
Eigenschaften:

AggregationNone
Alias
Association<Association> transition
Association End
Class<Class> AbstractAction
Datatype
Default
Default Value
Is Compositefalse
Is Derivedfalse
Is Derived Unionfalse
Is Leaffalse
Is Orderedfalse
Is Read Onlyfalse
Is Staticfalse
Is Uniquetrue
Keywords
Lower0
Lower Value<Literal Integer> 0
Multiplicity0..1
Namesuccessor_AbstractAction
Name Expression
Namespace<Class> AbstractAction
Opposite<Property> predecessor_AbstractAction : AbstractAction [0..1]
Owned Template Signature
Owner<Class> AbstractAction
Owning Association
Owning Template Parameter
Qualified Nameseff::AbstractAction::successor_AbstractAction
Stereotype
Template Parameter
Type<Class> AbstractAction
Upper1
Upper Value<Literal Unlimited Natural> 1
VisibilityPublic