de.uka.ipd.sdq.pcm.seff
Interface SetVariableAction

All Superinterfaces:
AbstractAction, AbstractInternalControlFlowAction, Entity, Identifier, NamedElement
All Known Implementing Classes:
SetVariableActionImpl

public interface SetVariableAction
extends AbstractInternalControlFlowAction

A representation of the model object 'Set Variable Action'. Set Variable Action Assigns a variable characterisation to an OUT parameter, INOUT parameter, or return value of the service. It ensures that performance-relevant output parameter characterisations of a component service are specified to use them to parameterise the calling RDSEFF. A SetVariableAction must only use output parameters on the left hand side of the assignment and must not use input parameter or local variable names, because input parameters cannot be returned and local names should not be exposed to adhere the black box principle. The action is only intended to allow proper data flow modelling (i.e., output parameter passing) between different component services, but not to reveal additional internals of the service the current RDSEFF models. Thus, the assigned characterisation is not accessible in subsequent actions of the current RDSEFF. Notice, that the stochastic expression used in this assignment must characterise the result of the whole computation of the current service. For non-trivial components, this requires a substantial stochastic approximation based on manual abstraction. However, recall that not the actual result of a component service needs to be specified, but only its performance-relevant attributes. For example, to model the return value of a component service compressing a file, using its file size divided by the compression factor as the stochastic expression is usually sufficient, while the value of the compressed file is not of interest in a performance model. Multiple SetVariableActions assigning to the same output parameter might occur at different locations of the control flow in an RDSEFF. In the case of sequences, loops, and fork, the last assignment overwrites the former assignments and gets transferred back to the calling RDSEFF. Therefore, analysis tools may ignore the former assignments. In the case of using a SetVariableAction in two different branches of a BranchAction, only the assignment in the chosen branch is valid and gets transferred back to the caller.

The following features are supported:

See Also:
SeffPackage.getSetVariableAction()

Field Summary
static String copyright
           
 
Method Summary
  getLocalVariableUsages_SetVariableAction()
          Returns the value of the 'Local Variable Usages Set Variable Action' containment reference list.
 
Methods inherited from interface de.uka.ipd.sdq.pcm.seff.AbstractInternalControlFlowAction
getResourceDemand_Action
 
Methods inherited from interface de.uka.ipd.sdq.pcm.seff.AbstractAction
getPredecessor_AbstractAction, getSuccessor_AbstractAction, setPredecessor_AbstractAction, setSuccessor_AbstractAction
 
Methods inherited from interface de.uka.ipd.sdq.identifier.Identifier
getId, idHasToBeUnique, setId
 
Methods inherited from interface de.uka.ipd.sdq.pcm.core.entity.NamedElement
getEntityName, setEntityName
 

Field Detail

copyright

static final String copyright

See Also:
Constant Field Values
Method Detail

getLocalVariableUsages_SetVariableAction

 getLocalVariableUsages_SetVariableAction()
Returns the value of the 'Local Variable Usages Set Variable Action' containment reference list. The list contents are of type VariableUsage.

If the meaning of the 'Local Variable Usages Set Variable Action' containment reference list isn't clear, there really should be more of a description here...

Returns:
the value of the 'Local Variable Usages Set Variable Action' containment reference list.
See Also:
SeffPackage.getSetVariableAction_LocalVariableUsages_SetVariableAction()