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
evolvedScenario
Fields inherited from interface de.uka.ipd.sdq.simulation.abstractsimengine.IEntity
NULL
-
Constructor Summary
ConstructorDescriptionStretchedUsageEvolver
(double firstOccurrence, double delay, EntityReference<org.palladiosimulator.pcm.usagemodel.UsageScenario> evolvedScenario, Optional<Double> maxSimTime, org.palladiosimulator.analyzer.workflow.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 double
getNewRate
(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, triggerInternal
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
-
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.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:PeriodicallyTriggeredUsageEvolver
Get the new rate of the Usage or workload parameter characterization.- Specified by:
getNewRate
in classPeriodicallyTriggeredUsageEvolver
- Parameters:
loadEvaluator
- The DLIM evaluator used for the evaluation.- Returns:
- The new Usage or workload parameter characterization.
-