Class PeriodicallyTriggeredUsageEvolver

    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected double deltaTime  
      protected String evolvedScenarioId  
      protected SimuLizarRuntimeState rtState  
      • Fields inherited from class de.uka.ipd.sdq.simulation.abstractsimengine.AbstractSimEntityDelegator

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

        NULL
    • Constructor Summary

      Constructors 
      Constructor Description
      PeriodicallyTriggeredUsageEvolver​(SimuLizarRuntimeState rtState, double firstOccurrence, double delay, org.palladiosimulator.pcm.usagemodel.UsageScenario evolvedScenario)
      Constructs the looping usage evolver.
    • Field Detail

      • evolvedScenarioId

        protected final String evolvedScenarioId
      • deltaTime

        protected final double deltaTime
    • Constructor Detail

      • PeriodicallyTriggeredUsageEvolver

        public PeriodicallyTriggeredUsageEvolver​(SimuLizarRuntimeState rtState,
                                                 double firstOccurrence,
                                                 double delay,
                                                 org.palladiosimulator.pcm.usagemodel.UsageScenario evolvedScenario)
        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 Detail

      • 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.
      • 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.