Package org.palladiosimulator.pcm.seff
Interface LoopAction
- All Superinterfaces:
AbstractAction
,AbstractInternalControlFlowAction
,AbstractLoopAction
,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:
LoopActionImpl
A representation of the model object 'Loop Action'.
Models the repeated execution of its inner ResourceDemandingBehaviour for the loop body. The number of repetitions is specified by a random variable evaluating to integer or an IntPMF. The number of iterations specified by the random variable always needs to be bounded, i.e., the probabilities in an IntPMF for iteration numbers above a certain threshold must be zero. Otherwise, it would be possible that certain requests do not terminate, which would complicate performance analyses. The stochastic expression defining the iteration random variable may include references to input or component parameters to model dependencies between the usage profile and the number of loop iterations. Notice, that loop actions should only be modelled if the loop body contains either external service calls or resource demands directed at special resources. Otherwise, control flow loops in component behaviour should be abstracted by subsuming them in InternalAction, which combine a number of instructions. The influence of different iterations length of such internal loops need to be reflected stochastically by the random variable specifying the ParametricResource-Demand of that InternalAction.
Other than Markov chains, RDSEFFs do not specify control flow loops with an reentrance and exit probability on each iteration. Such a specification binds the number of loop iterations to a geometrical distribution, which reflects reality only in very seldom cases. But in many practical cases, the number of iterations is a constant, or the probability for higher iteration numbers is higher than for lower ones. This cannot be expressed directly via a Markov chain (also see [DG00]).
Inside the ResourceDemandingBehaviour of LoopActions, it is assumed that random variables are stochastically independent. This is not true in reality, and for example leads to wrong predictions if the same random variable is used twice in succession inside a loop body. In this case, the second occurrence is stochastically dependent to the first occurrence, as the value does not change between two occurrences. Therefore, component developers should be aware of such inaccuracies when using random variables twice inside the body behaviour of a LoopAction.
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 'Iteration Count Loop Action' containment reference.void
Sets the value of the 'Iteration Count Loop Action
' containment reference.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.palladiosimulator.pcm.seff.AbstractLoopAction
getBodyBehaviour_Loop, setBodyBehaviour_Loop
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
-
getIterationCount_LoopAction
PCMRandomVariable getIterationCount_LoopAction()Returns the value of the 'Iteration Count Loop Action' containment reference. It is bidirectional and its opposite is 'Loop Action PCM Random Variable
'.- Returns:
- the value of the 'Iteration Count Loop Action' containment reference.
- See Also:
- Generated class or method.
- EMF model class or method.
- opposite="loopAction_PCMRandomVariable" containment="true" required="true" ordered="false"
-
setIterationCount_LoopAction
Sets the value of the 'Iteration Count Loop Action
' containment reference.- Parameters:
value
- the new value of the 'Iteration Count Loop Action' containment reference.- See Also:
- Generated class or method.
-