Class ScheduledResource
java.lang.Object
de.uka.ipd.sdq.simulation.abstractsimengine.SimulationElement
de.uka.ipd.sdq.simulation.abstractsimengine.AbstractSimEntityDelegator
de.uka.ipd.sdq.simucomframework.entities.SimuComEntity
de.uka.ipd.sdq.simucomframework.resources.AbstractScheduledResource
de.uka.ipd.sdq.simucomframework.resources.ScheduledResource
- All Implemented Interfaces:
de.uka.ipd.sdq.scheduler.sensors.IActiveResourceStateSensor,IResourceDemandModifiable,de.uka.ipd.sdq.simulation.abstractsimengine.IEntity
- Direct Known Subclasses:
HDDResource
-
Field Summary
FieldsFields inherited from class de.uka.ipd.sdq.simulation.abstractsimengine.AbstractSimEntityDelegator
delegateFields inherited from interface de.uka.ipd.sdq.simulation.abstractsimengine.IEntity
NULL -
Constructor Summary
ConstructorsConstructorDescriptionScheduledResource(org.palladiosimulator.pcm.resourceenvironment.ProcessingResourceSpecification activeResource, SimuComModel myModel, String resourceContainerID, String schedulingStrategyID) -
Method Summary
Modifier and TypeMethodDescriptionvoidCalled by the framework to inform that the resource should start its lifecycleprotected doublecalculateDemand(double demand) Template method.protected de.uka.ipd.sdq.scheduler.IActiveResourcecreateActiveResource(SimuComModel myModel) Subclasses are responsible for creating theIActiveResourceto use internally.voidCalled by the framework to inform the resource that the simulation has been stopped.org.palladiosimulator.pcm.resourceenvironment.ProcessingResourceSpecificationdoubleReturns the failure time for this resource (or -1.0 if the resource cannot fail).static StringdoubledoubleReturns the repair time for this resource (or -1.0 if the resource cannot fail).de.uka.ipd.sdq.scheduler.IActiveResourcevoidsetProcessingRate(String newProcessingRate) Method to alter processing rate at runtime, e.g., to model changing parameters of cloud environments at runtimevoidupdate(long state, int instanceId) voidupdateDemand(SimuComSimProcess thread, double demand) Methods inherited from class de.uka.ipd.sdq.simucomframework.resources.AbstractScheduledResource
addDemandListener, addDemandModifyingBehavior, addOverallUtilizationListener, addStateListener, assertAvailability, consumeResource, demandCompleted, fireDemand, fireOverallUtilization, fireStateEvent, getDescription, getNumberOfInstances, getQueueLength, getResourceTypeId, getSchedulingStrategyID, getUnderlyingResource, isAvailable, isRequiredByContainer, removeDemandModifyingBehavior, setAvailableMethods inherited from class de.uka.ipd.sdq.simucomframework.entities.SimuComEntity
getModelMethods inherited from class de.uka.ipd.sdq.simulation.abstractsimengine.AbstractSimEntityDelegator
getEncapsulatedEntity, isScheduled, rescheduleMethods inherited from class de.uka.ipd.sdq.simulation.abstractsimengine.SimulationElement
getName
-
Field Details
-
Constructor Details
-
ScheduledResource
public ScheduledResource(org.palladiosimulator.pcm.resourceenvironment.ProcessingResourceSpecification activeResource, SimuComModel myModel, String resourceContainerID, String schedulingStrategyID)
-
-
Method Details
-
createActiveResource
Description copied from class:AbstractScheduledResourceSubclasses are responsible for creating theIActiveResourceto use internally. Is called in the constructor.- Specified by:
createActiveResourcein classAbstractScheduledResource- Returns:
- the
IActiveResourceresource to use as determined by the subclasses.
-
calculateDemand
protected double calculateDemand(double demand) Description copied from class:AbstractScheduledResourceTemplate method. Implementers have to use the given demand and return the time span needed to process the demand on this resource.- Specified by:
calculateDemandin classAbstractScheduledResource- Parameters:
demand- The demand issued to this resource in units understood by the resource- Returns:
- The service time, given in seconds
-
activateResource
public void activateResource()Description copied from class:AbstractScheduledResourceCalled by the framework to inform that the resource should start its lifecycle- Overrides:
activateResourcein classAbstractScheduledResource
-
getRemainingDemandForProcess
- Specified by:
getRemainingDemandForProcessin classAbstractScheduledResource
-
updateDemand
- Specified by:
updateDemandin classAbstractScheduledResource
-
deactivateResource
public void deactivateResource()Description copied from class:AbstractScheduledResourceCalled by the framework to inform the resource that the simulation has been stopped. Fires aIStateListener#stateChanged()event.- Overrides:
deactivateResourcein classAbstractScheduledResource
-
getNextResourceId
-
getScheduledResource
public de.uka.ipd.sdq.scheduler.IActiveResource getScheduledResource()- Specified by:
getScheduledResourcein classAbstractScheduledResource
-
setProcessingRate
Method to alter processing rate at runtime, e.g., to model changing parameters of cloud environments at runtime- Parameters:
newProcessingRate- The new processing rate of this resource
-
getActiveResource
public org.palladiosimulator.pcm.resourceenvironment.ProcessingResourceSpecification getActiveResource() -
getFailureTime
public double getFailureTime()Returns the failure time for this resource (or -1.0 if the resource cannot fail).- Returns:
- the failure time for the resource
-
getRepairTime
public double getRepairTime()Returns the repair time for this resource (or -1.0 if the resource cannot fail).- Returns:
- the repair time for the resource
-
update
public void update(long state, int instanceId) - Specified by:
updatein interfacede.uka.ipd.sdq.scheduler.sensors.IActiveResourceStateSensor- Overrides:
updatein classAbstractScheduledResource
-