Class StretchedUsageEvolver
java.lang.Object
de.uka.ipd.sdq.simulation.abstractsimengine.SimpleEventBasedSimEntity
org.palladiosimulator.simulizar.simulationevents.PeriodicallyTriggeredSimulationEntity
org.palladiosimulator.simulizar.usagemodel.PeriodicallyTriggeredUsageEvolver
org.palladiosimulator.simulizar.usagemodel.StretchedUsageEvolver
- All Implemented Interfaces:
de.uka.ipd.sdq.simulation.abstractsimengine.IEntity
Encapsulates a Usage evolver that stretches the DLIM curve to the simulation time.
-
Field Summary
Fields inherited from class org.palladiosimulator.simulizar.usagemodel.PeriodicallyTriggeredUsageEvolver
evolvedScenarioFields inherited from interface de.uka.ipd.sdq.simulation.abstractsimengine.IEntity
NULL -
Constructor Summary
ConstructorsConstructorDescriptionStretchedUsageEvolver(double firstOccurrence, double delay, EntityReference<org.palladiosimulator.pcm.usagemodel.UsageScenario> evolvedScenario, Optional<Double> maxSimTime, org.palladiosimulator.analyzer.workflow.core.blackboard.PCMResourceSetPartition pcmPartition, de.uka.ipd.sdq.simulation.abstractsimengine.ISimEventFactory simEventFactory, de.uka.ipd.sdq.simulation.abstractsimengine.ISimulationTimeProvider timeProvider) Creates the stretching usage evolver. -
Method Summary
Modifier and TypeMethodDescriptionprotected doublegetNewRate(tools.descartes.dlim.generator.ModelEvaluator loadEvaluator) Get the new rate of the Usage or workload parameter characterization.Methods inherited from class org.palladiosimulator.simulizar.usagemodel.PeriodicallyTriggeredUsageEvolver
evolveLoad, evolveWork, getCorrespondingUsage, getCurrentTime, getDLIMFinalDuration, getLoadEvaluator, getWorkEvaluators, stop, triggerInternalMethods inherited from class org.palladiosimulator.simulizar.simulationevents.PeriodicallyTriggeredSimulationEntity
entityRoutine, getSimulationTimeOfNextEventTrigger, setDelay, stopSchedulingMethods inherited from class de.uka.ipd.sdq.simulation.abstractsimengine.SimpleEventBasedSimEntity
activate, getNextOccurence, isScheduled, reschedule, unschedule
-
Constructor Details
-
StretchedUsageEvolver
@AssistedInject public StretchedUsageEvolver(@Assisted double firstOccurrence, @Assisted double delay, @Assisted EntityReference<org.palladiosimulator.pcm.usagemodel.UsageScenario> evolvedScenario, @Named("maxSimTime") Optional<Double> maxSimTime, org.palladiosimulator.analyzer.workflow.core.blackboard.PCMResourceSetPartition pcmPartition, de.uka.ipd.sdq.simulation.abstractsimengine.ISimEventFactory simEventFactory, de.uka.ipd.sdq.simulation.abstractsimengine.ISimulationTimeProvider timeProvider) Creates the stretching usage evolver.- Parameters:
rtState- The SimuLizar runtime state.firstOccurrence- The first point in time at which the usage evolution should be executed.delay- The repeating interval in which usage evolution should be executed.evolvedScenario- The scenario evolved bythis.
-
-
Method Details
-
getNewRate
protected double getNewRate(tools.descartes.dlim.generator.ModelEvaluator loadEvaluator) Description copied from class:PeriodicallyTriggeredUsageEvolverGet the new rate of the Usage or workload parameter characterization.- Specified by:
getNewRatein classPeriodicallyTriggeredUsageEvolver- Parameters:
loadEvaluator- The DLIM evaluator used for the evaluation.- Returns:
- The new Usage or workload parameter characterization.
-