public class LoopActionCreator extends GeneralAction
This class constructs a LoopAction. It is used to create the 'LoopAction' object step-by-step, i.e. 'LoopActionCreator' objects are of intermediate state.
See Also:
  • LoopAction
  • Constructor Details

    • LoopActionCreator

      protected LoopActionCreator(SeffCreator seff)
  • Method Details

    • withName

      public LoopActionCreator withName(String name)
      Description copied from class: Entity
      Defines the unique name of this current entity. Once created entities are referenced by this name. Only entities with a unique name can be fetched from the model.
      Overrides:
      withName in class Entity
      Returns:
      this current entity in the making
    • withIterationCount

      public LoopActionCreator withIterationCount(String iterationCountStochasticExpression)
      Specifies the number of repetitions the inner ResourceDemandingBehaviour is executed.

      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.

      Parameters:
      iterationCountStochasticExpression -
      Returns:
      this loop action in the making
      See Also:
      • LoopAction
    • withLoopBody

      public LoopActionCreator withLoopBody(Seff loopBody)
      Specifies the inner ResourceDemandingBehaviour representing the loop body.

      Notice, that loop actions should only be modeled 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.

      Parameters:
      loopBody -
      Returns:
      this loop action in the making
    • withResourceDemand

      public LoopActionCreator withResourceDemand(String specificationStochasticExpression, ProcessingResource processingResource)
      Description copied from class: GeneralAction
      Adds a ParametricResourceDemand to this action.

      Parametric Resource Demand specifies the amount of processing requested from a certain type of resource in a parameterized way. It assigns the demand specified as a Random-Variable (specification_stochasticExpression) to an abstract ProcessingResourceType processingResource(e.g., CPU, hard disk) instead of a concrete ProcessingResourceSpecification (e.g., 5 GHz CPU, 20 MByte/s hard disk).

      Overrides:
      withResourceDemand in class GeneralAction
      Returns:
      this action in the making
    • withInfrastructureCall

      public LoopActionCreator withInfrastructureCall(String numberOfCallsStochasticExpression, org.palladiosimulator.pcm.repository.InfrastructureSignature signature, org.palladiosimulator.pcm.repository.InfrastructureRequiredRole requiredRole, VariableUsageCreator... variableUsages)
      Description copied from class: GeneralAction
      Adds an InfrastructureCall to this action.
      Overrides:
      withInfrastructureCall in class GeneralAction
      Returns:
      this action in the making
    • withResourceCall

      public LoopActionCreator withResourceCall(String numberOfCallsStochasticExpression, ResourceSignature signature, org.palladiosimulator.pcm.core.entity.ResourceRequiredRole requiredRole, VariableUsageCreator... variableUsages)
      Description copied from class: GeneralAction
      Adds a ResourceCall to this action.
      Overrides:
      withResourceCall in class GeneralAction
      Returns:
      this action in the making
    • build

      protected org.palladiosimulator.pcm.seff.LoopAction build()
      Description copied from class: Entity
      Turns the entity in the making into the finished entity.
      Specified by:
      build in class SeffAction
      Returns:
      the finished entity