Class PeriodicallyTriggeredUsageEvolver

java.lang.Object
de.uka.ipd.sdq.simulation.abstractsimengine.SimpleEventBasedSimEntity
org.palladiosimulator.simulizar.simulationevents.PeriodicallyTriggeredSimulationEntity
org.palladiosimulator.simulizar.usagemodel.PeriodicallyTriggeredUsageEvolver
All Implemented Interfaces:
de.uka.ipd.sdq.simulation.abstractsimengine.IEntity
Direct Known Subclasses:
LoopingUsageEvolver, StretchedUsageEvolver

public abstract class PeriodicallyTriggeredUsageEvolver extends PeriodicallyTriggeredSimulationEntity
Usage evolver which updates the workload according to a Usage Evolution model.
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    protected final EntityReference<org.palladiosimulator.pcm.usagemodel.UsageScenario>
     

    Fields inherited from interface de.uka.ipd.sdq.simulation.abstractsimengine.IEntity

    NULL
  • Constructor Summary

    Constructors
    Constructor
    Description
    PeriodicallyTriggeredUsageEvolver(double firstOccurrence, double delay, EntityReference<org.palladiosimulator.pcm.usagemodel.UsageScenario> evolvedScenario, org.palladiosimulator.analyzer.workflow.blackboard.PCMResourceSetPartition pcmPartition, de.uka.ipd.sdq.simulation.abstractsimengine.ISimEventFactory simEventFactory, de.uka.ipd.sdq.simulation.abstractsimengine.ISimulationTimeProvider timeProvider)
    Constructs the looping usage evolver.
  • Method Summary

    Modifier and Type
    Method
    Description
    protected void
    evolveLoad(tools.descartes.dlim.generator.ModelEvaluator loadEvaluator)
    Evolve the load.
    protected void
    evolveWork(org.palladiosimulator.pcm.parameter.VariableCharacterisation workParameter, tools.descartes.dlim.generator.ModelEvaluator evaluator)
    Evolves a workload parameter.
    protected org.scaledl.usageevolution.Usage
    Get the Usage updated by this.
    protected double
    Gets the current simulation time.
    protected double
    The length of this' DLIM sequence.
    protected tools.descartes.dlim.generator.ModelEvaluator
    Get the load evaluator for this.
    protected abstract double
    getNewRate(tools.descartes.dlim.generator.ModelEvaluator loadEvaluator)
    Get the new rate of the Usage or workload parameter characterization.
    protected Map<org.palladiosimulator.pcm.parameter.VariableCharacterisation,tools.descartes.dlim.generator.ModelEvaluator>
    Gets all the Work Evaluators for the Work Parameter evolutions of this.
    void
    Stops the usage evolver from being scheduled in the simulation.
    protected void
     

    Methods inherited from class org.palladiosimulator.simulizar.simulationevents.PeriodicallyTriggeredSimulationEntity

    entityRoutine, getSimulationTimeOfNextEventTrigger, setDelay, stopScheduling

    Methods inherited from class de.uka.ipd.sdq.simulation.abstractsimengine.SimpleEventBasedSimEntity

    activate, getNextOccurence, isScheduled, reschedule, unschedule

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • evolvedScenario

      protected final EntityReference<org.palladiosimulator.pcm.usagemodel.UsageScenario> evolvedScenario
  • Constructor Details

    • PeriodicallyTriggeredUsageEvolver

      public PeriodicallyTriggeredUsageEvolver(double firstOccurrence, double delay, EntityReference<org.palladiosimulator.pcm.usagemodel.UsageScenario> evolvedScenario, org.palladiosimulator.analyzer.workflow.blackboard.PCMResourceSetPartition pcmPartition, de.uka.ipd.sdq.simulation.abstractsimengine.ISimEventFactory simEventFactory, de.uka.ipd.sdq.simulation.abstractsimengine.ISimulationTimeProvider timeProvider)
      Constructs the looping usage evolver.
      Parameters:
      rtState - SimuLizar runtime state.
      firstOccurrence - First point in time at which the evolver should evolve the load.
      delay - The interval in which the evolver should evolve the load.
      evolvedScenario - The evolved scenario.
  • Method Details

    • stop

      public void stop()
      Stops the usage evolver from being scheduled in the simulation.
    • getLoadEvaluator

      protected tools.descartes.dlim.generator.ModelEvaluator getLoadEvaluator()
      Get the load evaluator for this.
      Returns:
      The load evaluator.
    • getCorrespondingUsage

      protected org.scaledl.usageevolution.Usage getCorrespondingUsage()
      Get the Usage updated by this.
      Returns:
      the Usage updated by this.
    • getWorkEvaluators

      protected Map<org.palladiosimulator.pcm.parameter.VariableCharacterisation,tools.descartes.dlim.generator.ModelEvaluator> getWorkEvaluators()
      Gets all the Work Evaluators for the Work Parameter evolutions of this.
      Returns:
      The Work Evaluators for the Work Parameter evolutions of this.
    • triggerInternal

      protected void triggerInternal()
      Specified by:
      triggerInternal in class PeriodicallyTriggeredSimulationEntity
    • getDLIMFinalDuration

      protected double getDLIMFinalDuration()
      The length of this' DLIM sequence.
      Returns:
      The length of this' DLIM sequence.
    • getCurrentTime

      protected double getCurrentTime()
      Gets the current simulation time.
      Returns:
      The current time.
    • evolveLoad

      protected void evolveLoad(tools.descartes.dlim.generator.ModelEvaluator loadEvaluator)
      Evolve the load.
      Parameters:
      loadEvaluator - DLIM evaluator used to fetch the load at the current point in time.
    • getNewRate

      protected abstract double getNewRate(tools.descartes.dlim.generator.ModelEvaluator loadEvaluator)
      Get the new rate of the Usage or workload parameter characterization.
      Parameters:
      loadEvaluator - The DLIM evaluator used for the evaluation.
      Returns:
      The new Usage or workload parameter characterization.
    • evolveWork

      protected void evolveWork(org.palladiosimulator.pcm.parameter.VariableCharacterisation workParameter, tools.descartes.dlim.generator.ModelEvaluator evaluator)
      Evolves a workload parameter.
      Parameters:
      workParameter - The evolved parameter.
      evaluator - The evaluator used for evaluating DLIM sequence.