Class SimulatedLinkingResource
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.SimulatedLinkingResource
- All Implemented Interfaces:
de.uka.ipd.sdq.scheduler.sensors.IActiveResourceStateSensor,IResourceDemandModifiable,de.uka.ipd.sdq.simulation.abstractsimengine.IEntity
Realizes a LinkingResource. Adds the latency time to the passed demand in
#consumeResource(SimuComSimProcess, double), and they is loaded by latency + demand /
throughput.-
Field Summary
Fields inherited from class de.uka.ipd.sdq.simulation.abstractsimengine.AbstractSimEntityDelegator
delegateFields inherited from interface de.uka.ipd.sdq.simulation.abstractsimengine.IEntity
NULL -
Constructor Summary
ConstructorsConstructorDescriptionSimulatedLinkingResource(org.palladiosimulator.pcm.resourceenvironment.LinkingResource linkingResource, SimuComModel simuComModel, String resourceContainerID) -
Method Summary
Modifier and TypeMethodDescriptionvoidCalled by the framework to inform that the resource should start its lifecycleprotected voidAsserts that the resource is currently available; if not, an EnvironmentFailureException is thrown.protected doublecalculateDemand(double demand) Template method.protected de.uka.ipd.sdq.scheduler.IActiveResourcecreateActiveResource(SimuComModel simuComModel) Subclasses are responsible for creating theIActiveResourceto use internally.voidCalled by the framework to inform the resource that the simulation has been stopped.getId()org.palladiosimulator.pcm.resourceenvironment.LinkingResourcestatic Stringdoublede.uka.ipd.sdq.scheduler.IActiveResourcevoidsetLatency(String latency) Change the linking resource latency after its creation.voidsetThroughput(String throughput) Change the linking resource throughput after its creation.voidupdateDemand(SimuComSimProcess thread, double demand) Methods inherited from class de.uka.ipd.sdq.simucomframework.resources.AbstractScheduledResource
addDemandListener, addDemandModifyingBehavior, addOverallUtilizationListener, addStateListener, consumeResource, demandCompleted, fireDemand, fireOverallUtilization, fireStateEvent, getDescription, getNumberOfInstances, getQueueLength, getResourceTypeId, getSchedulingStrategyID, getUnderlyingResource, isAvailable, isRequiredByContainer, removeDemandModifyingBehavior, setAvailable, updateMethods 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
-
Constructor Details
-
SimulatedLinkingResource
public SimulatedLinkingResource(org.palladiosimulator.pcm.resourceenvironment.LinkingResource linkingResource, SimuComModel simuComModel, String resourceContainerID)
-
-
Method Details
-
getId
-
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
-
assertAvailability
protected void assertAvailability()Description copied from class:AbstractScheduledResourceAsserts that the resource is currently available; if not, an EnvironmentFailureException is thrown.- Overrides:
assertAvailabilityin classAbstractScheduledResource
-
getRemainingDemandForProcess
- Specified by:
getRemainingDemandForProcessin classAbstractScheduledResource
-
updateDemand
- Specified by:
updateDemandin classAbstractScheduledResource
-
getScheduledResource
public de.uka.ipd.sdq.scheduler.IActiveResource getScheduledResource()- Specified by:
getScheduledResourcein classAbstractScheduledResource
-
activateResource
public void activateResource()Description copied from class:AbstractScheduledResourceCalled by the framework to inform that the resource should start its lifecycle- Overrides:
activateResourcein 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
-
getLinkingResource
public org.palladiosimulator.pcm.resourceenvironment.LinkingResource getLinkingResource() -
setThroughput
Change the linking resource throughput after its creation.- Parameters:
throughput- the new throughput specification
-
setLatency
Change the linking resource latency after its creation.- Parameters:
latency- the new latency specification
-