Package org.palladiosimulator.pcm.seff
Interface SetVariableAction
- All Superinterfaces:
AbstractAction
,AbstractInternalControlFlowAction
,org.eclipse.emf.cdo.CDOObject
,org.eclipse.emf.cdo.common.id.CDOWithID
,Entity
,EObject
,de.uka.ipd.sdq.identifier.Identifier
,NamedElement
,Notifier
,PCMBaseClass
,PCMClass
- All Known Implementing Classes:
SetVariableActionImpl
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:
- Generated class or method.
- EMF model class or method.
-
Field Summary
-
Method Summary
Modifier and TypeMethodDescriptionReturns the value of the 'Local Variable Usages Set Variable Action' containment reference list.Methods inherited from interface org.palladiosimulator.pcm.seff.AbstractAction
getPredecessor_AbstractAction, getResourceDemandingBehaviour_AbstractAction, getSuccessor_AbstractAction, setPredecessor_AbstractAction, setResourceDemandingBehaviour_AbstractAction, setSuccessor_AbstractAction
Methods inherited from interface org.palladiosimulator.pcm.seff.AbstractInternalControlFlowAction
getInfrastructureCall__Action, getResourceCall__Action, getResourceDemand_Action
Methods inherited from interface org.eclipse.emf.cdo.CDOObject
cdoConflict, cdoDirectResource, cdoHistory, cdoID, cdoInvalid, cdoLockState, cdoPermission, cdoPrefetch, cdoReadLock, cdoReload, cdoResource, cdoRevision, cdoRevision, cdoState, cdoView, cdoWriteLock, cdoWriteOption
Methods inherited from interface org.eclipse.emf.ecore.EObject
eAllContents, eClass, eContainer, eContainingFeature, eContainmentFeature, eContents, eCrossReferences, eGet, eGet, eInvoke, eIsProxy, eIsSet, eResource, eSet, eUnset
Methods inherited from interface de.uka.ipd.sdq.identifier.Identifier
getId, setId
Methods inherited from interface org.palladiosimulator.pcm.core.entity.NamedElement
getEntityName, setEntityName
Methods inherited from interface org.eclipse.emf.common.notify.Notifier
eAdapters, eDeliver, eNotify, eSetDeliver
-
Field Details
-
copyright
- See Also:
- Generated class or method.
-
-
Method Details
-
getLocalVariableUsages_SetVariableAction
EList<VariableUsage> getLocalVariableUsages_SetVariableAction()Returns the value of the 'Local Variable Usages Set Variable Action' containment reference list. The list contents are of typeVariableUsage
. It is bidirectional and its opposite is 'Set Variable Action Variable Usage
'.- Returns:
- the value of the 'Local Variable Usages Set Variable Action' containment reference list.
- See Also:
- Generated class or method.
- EMF model class or method.
- opposite="setVariableAction_VariableUsage" containment="true" ordered="false"
-