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
Modifier and TypeFieldDescriptionprotected final EntityReference<org.palladiosimulator.pcm.usagemodel.UsageScenario>
Fields inherited from interface de.uka.ipd.sdq.simulation.abstractsimengine.IEntity
NULL
-
Constructor Summary
ConstructorDescriptionPeriodicallyTriggeredUsageEvolver
(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 TypeMethodDescriptionprotected 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 bythis
.protected double
Gets the current simulation time.protected double
The length ofthis
' DLIM sequence.protected tools.descartes.dlim.generator.ModelEvaluator
Get the load evaluator forthis
.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 ofthis
.void
stop()
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
-
Field Details
-
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 forthis
.- Returns:
- The load evaluator.
-
getCorrespondingUsage
protected org.scaledl.usageevolution.Usage getCorrespondingUsage()Get the Usage updated bythis
.- 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 ofthis
.- Returns:
- The Work Evaluators for the Work Parameter evolutions of
this
.
-
triggerInternal
protected void triggerInternal()- Specified by:
triggerInternal
in classPeriodicallyTriggeredSimulationEntity
-
getDLIMFinalDuration
protected double getDLIMFinalDuration()The length ofthis
' 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.
-