Class SimDelayResource
- java.lang.Object
-
- de.uka.ipd.sdq.simulation.abstractsimengine.SimulationElement
-
- de.uka.ipd.sdq.simulation.abstractsimengine.AbstractSimEntityDelegator
-
- de.uka.ipd.sdq.scheduler.entities.SchedulerEntity
-
- de.uka.ipd.sdq.scheduler.resources.AbstractSimResource
-
- de.uka.ipd.sdq.scheduler.resources.active.AbstractActiveResource
-
- de.uka.ipd.sdq.scheduler.resources.active.SimDelayResource
-
- All Implemented Interfaces:
IActiveResource
,de.uka.ipd.sdq.simulation.abstractsimengine.IEntity
public class SimDelayResource extends AbstractActiveResource
-
-
Field Summary
-
Fields inherited from class de.uka.ipd.sdq.scheduler.resources.AbstractSimResource
capacity
-
-
Constructor Summary
Constructors Constructor Description SimDelayResource(SchedulerModel model, String name, String id, IResourceTableManager resourceTableManager)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
dequeue(ISchedulableProcess process)
protected void
doProcessing(ISchedulableProcess process, int resourceServiceId, double demand)
protected void
enqueue(ISchedulableProcess process)
int
getQueueLengthFor(SchedulerEntity schedulerEntity, int coreID)
Get the number of processes currently having requests issued to this resource and waiting for the request to complete.double
getRemainingDemand(ISchedulableProcess process)
Returns the remaining demand for a process.void
registerProcess(ISchedulableProcess process)
void
start()
Creates the initial events for the resource.void
stop()
void
updateDemand(ISchedulableProcess process, double demand)
Update (currently consuming) demand for a process.-
Methods inherited from class de.uka.ipd.sdq.scheduler.resources.active.AbstractActiveResource
addObserver, doProcessing, fireDemandCompleted, fireStateChange, notifyTerminated, process, removeObserver
-
Methods inherited from class de.uka.ipd.sdq.scheduler.resources.AbstractSimResource
equals, getCapacity, getId, getName, hashCode, toString
-
Methods inherited from class de.uka.ipd.sdq.scheduler.entities.SchedulerEntity
getModel
-
Methods inherited from class de.uka.ipd.sdq.simulation.abstractsimengine.AbstractSimEntityDelegator
getEncapsulatedEntity, isScheduled, reschedule
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface de.uka.ipd.sdq.scheduler.IActiveResource
getId, getName
-
-
-
-
Constructor Detail
-
SimDelayResource
public SimDelayResource(SchedulerModel model, String name, String id, IResourceTableManager resourceTableManager)
-
-
Method Detail
-
start
public void start()
Description copied from interface:IActiveResource
Creates the initial events for the resource.
-
dequeue
protected void dequeue(ISchedulableProcess process)
- Specified by:
dequeue
in classAbstractActiveResource
-
doProcessing
protected void doProcessing(ISchedulableProcess process, int resourceServiceId, double demand)
- Specified by:
doProcessing
in classAbstractActiveResource
-
getRemainingDemand
public double getRemainingDemand(ISchedulableProcess process)
Description copied from interface:IActiveResource
Returns the remaining demand for a process.
-
updateDemand
public void updateDemand(ISchedulableProcess process, double demand)
Description copied from interface:IActiveResource
Update (currently consuming) demand for a process.
-
enqueue
protected void enqueue(ISchedulableProcess process)
- Specified by:
enqueue
in classAbstractActiveResource
-
stop
public void stop()
-
registerProcess
public void registerProcess(ISchedulableProcess process)
-
getQueueLengthFor
public int getQueueLengthFor(SchedulerEntity schedulerEntity, int coreID)
Description copied from interface:IActiveResource
Get the number of processes currently having requests issued to this resource and waiting for the request to complete.- Returns:
-
-