public class SimulatedLinkingResource extends AbstractScheduledResource
#consumeResource(SimuComSimProcess, double)
, and they is loaded by latency + demand /
throughput.Constructor and Description |
---|
SimulatedLinkingResource(org.palladiosimulator.pcm.resourceenvironment.LinkingResource linkingResource,
SimuComModel simuComModel,
java.lang.String resourceContainerID) |
Modifier and Type | Method and Description |
---|---|
void |
activateResource()
Called by the framework to inform that the resource should start its lifecycle
|
protected double |
calculateDemand(double demand)
Template method.
|
void |
consumeResource(SimuComSimProcess process,
int resourceServiceID,
java.util.Map<java.lang.String,java.io.Serializable> parameterMap,
double abstractDemand)
Called by client of this resource to make the resource simulate resource processing.
|
protected de.uka.ipd.sdq.scheduler.IActiveResource |
createActiveResource(SimuComModel simuComModel)
Subclasses are responsible for creating the
IActiveResource to use internally. |
void |
deactivateResource()
Called by the framework to inform the resource that the simulation has been stopped.
|
java.lang.String |
getId() |
org.palladiosimulator.pcm.resourceenvironment.LinkingResource |
getLinkingResource() |
static java.lang.String |
getNextResourceId() |
double |
getRemainingDemandForProcess(SimuComSimProcess thread) |
de.uka.ipd.sdq.scheduler.IActiveResource |
getScheduledResource() |
void |
updateDemand(SimuComSimProcess thread,
double demand) |
addDemandListener, addOverallUtilizationListener, addStateListener, assertAvailability, demandCompleted, fireDemand, fireOverallUtilization, fireStateEvent, getDescription, getNumberOfInstances, getQueueLength, getResourceTypeId, getSchedulingStrategyID, getUnderlyingResource, isAvailable, isRequiredByContainer, setAvailable, update
getModel
public SimulatedLinkingResource(org.palladiosimulator.pcm.resourceenvironment.LinkingResource linkingResource, SimuComModel simuComModel, java.lang.String resourceContainerID)
public java.lang.String getId()
protected de.uka.ipd.sdq.scheduler.IActiveResource createActiveResource(SimuComModel simuComModel)
AbstractScheduledResource
IActiveResource
to use internally. Is
called in the constructor.createActiveResource
in class AbstractScheduledResource
IActiveResource
resource to use as determined by the subclasses.protected double calculateDemand(double demand)
AbstractScheduledResource
calculateDemand
in class AbstractScheduledResource
demand
- The demand issued to this resource in units understood by the resourcepublic void consumeResource(SimuComSimProcess process, int resourceServiceID, java.util.Map<java.lang.String,java.io.Serializable> parameterMap, double abstractDemand)
AbstractScheduledResource
consumeResource
in class AbstractScheduledResource
abstractDemand
- : may be zero, in that case only the latency is considered.process
- The thread or job requesting the processing of its demandresourceServiceID
- The id of the resource service to be called for resource consumptionparameterMap
- Additional parameters which can be used by the resource. Map can be empty.public double getRemainingDemandForProcess(SimuComSimProcess thread)
getRemainingDemandForProcess
in class AbstractScheduledResource
public void updateDemand(SimuComSimProcess thread, double demand)
updateDemand
in class AbstractScheduledResource
public de.uka.ipd.sdq.scheduler.IActiveResource getScheduledResource()
getScheduledResource
in class AbstractScheduledResource
public void activateResource()
AbstractScheduledResource
activateResource
in class AbstractScheduledResource
public void deactivateResource()
AbstractScheduledResource
IStateListener#stateChanged()
event.deactivateResource
in class AbstractScheduledResource
public static java.lang.String getNextResourceId()
public org.palladiosimulator.pcm.resourceenvironment.LinkingResource getLinkingResource()