Class SimActiveResource
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
edu.kit.ipd.sdq.pcm.simulation.scheduler.exact.SimActiveResource
- All Implemented Interfaces:
de.uka.ipd.sdq.scheduler.IActiveResource,de.uka.ipd.sdq.simulation.abstractsimengine.IEntity
public class SimActiveResource
extends de.uka.ipd.sdq.scheduler.resources.active.AbstractActiveResource
-
Field Summary
FieldsFields inherited from class de.uka.ipd.sdq.scheduler.resources.AbstractSimResource
capacityFields inherited from class de.uka.ipd.sdq.simulation.abstractsimengine.AbstractSimEntityDelegator
delegateFields inherited from interface de.uka.ipd.sdq.simulation.abstractsimengine.IEntity
NULL -
Constructor Summary
ConstructorsConstructorDescriptionSimActiveResource(ExactSchedulingFactory exactSchedulingFactory, de.uka.ipd.sdq.scheduler.SchedulerModel model, ActiveResourceConfiguration resourceConf, de.uka.ipd.sdq.scheduler.resources.active.IResourceTableManager resourceTableManager) -
Method Summary
Modifier and TypeMethodDescriptionvoidaddObserver(de.uka.ipd.sdq.scheduler.sensors.IActiveResourceStateSensor observer) protected voiddequeue(de.uka.ipd.sdq.scheduler.ISchedulableProcess process) voiddoProcessing(de.uka.ipd.sdq.scheduler.ISchedulableProcess sched_process, int resourceServiceID, double demand) protected voidenqueue(de.uka.ipd.sdq.scheduler.ISchedulableProcess process) findProcess(String processName) intgetQueueLengthFor(de.uka.ipd.sdq.scheduler.entities.SchedulerEntity schedulerEntity, int coreId) doublegetRemainingDemand(de.uka.ipd.sdq.scheduler.ISchedulableProcess process) booleanisIdle(IResourceInstance instance) lookUp(de.uka.ipd.sdq.scheduler.ISchedulableProcess process) voidnotifyTerminated(de.uka.ipd.sdq.scheduler.ISchedulableProcess simProcess) voidregisterProcess(de.uka.ipd.sdq.scheduler.ISchedulableProcess schedulableProcess) voidsetScheduler(IScheduler scheduler) voidstart()voidstop()voidunregisterProcess(IActiveProcess process) voidupdateDemand(de.uka.ipd.sdq.scheduler.ISchedulableProcess process, double demand) Methods inherited from class de.uka.ipd.sdq.scheduler.resources.active.AbstractActiveResource
doProcessing, fireDemandCompleted, fireStateChange, process, removeObserverMethods inherited from class de.uka.ipd.sdq.scheduler.resources.AbstractSimResource
equals, getCapacity, getId, getName, hashCode, toStringMethods inherited from class de.uka.ipd.sdq.scheduler.entities.SchedulerEntity
getModelMethods inherited from class de.uka.ipd.sdq.simulation.abstractsimengine.AbstractSimEntityDelegator
getEncapsulatedEntity, isScheduled, rescheduleMethods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface de.uka.ipd.sdq.scheduler.IActiveResource
getId, getName
-
Field Details
-
logger
public static final org.apache.log4j.Logger logger
-
-
Constructor Details
-
SimActiveResource
public SimActiveResource(ExactSchedulingFactory exactSchedulingFactory, de.uka.ipd.sdq.scheduler.SchedulerModel model, ActiveResourceConfiguration resourceConf, de.uka.ipd.sdq.scheduler.resources.active.IResourceTableManager resourceTableManager)
-
-
Method Details
-
getScheduler
-
getInstanceList
-
lookUp
-
doProcessing
public void doProcessing(de.uka.ipd.sdq.scheduler.ISchedulableProcess sched_process, int resourceServiceID, double demand) - Specified by:
doProcessingin classde.uka.ipd.sdq.scheduler.resources.active.AbstractActiveResource
-
start
public void start() -
isIdle
-
setScheduler
-
dequeue
protected void dequeue(de.uka.ipd.sdq.scheduler.ISchedulableProcess process) - Specified by:
dequeuein classde.uka.ipd.sdq.scheduler.resources.active.AbstractActiveResource
-
enqueue
protected void enqueue(de.uka.ipd.sdq.scheduler.ISchedulableProcess process) - Specified by:
enqueuein classde.uka.ipd.sdq.scheduler.resources.active.AbstractActiveResource
-
stop
public void stop() -
getRemainingDemand
public double getRemainingDemand(de.uka.ipd.sdq.scheduler.ISchedulableProcess process) -
updateDemand
public void updateDemand(de.uka.ipd.sdq.scheduler.ISchedulableProcess process, double demand) -
registerProcess
public void registerProcess(de.uka.ipd.sdq.scheduler.ISchedulableProcess schedulableProcess) -
unregisterProcess
-
addObserver
public void addObserver(de.uka.ipd.sdq.scheduler.sensors.IActiveResourceStateSensor observer) - Specified by:
addObserverin interfacede.uka.ipd.sdq.scheduler.IActiveResource- Overrides:
addObserverin classde.uka.ipd.sdq.scheduler.resources.active.AbstractActiveResource
-
findProcess
-
notifyTerminated
public void notifyTerminated(de.uka.ipd.sdq.scheduler.ISchedulableProcess simProcess) - Specified by:
notifyTerminatedin interfacede.uka.ipd.sdq.scheduler.IActiveResource- Overrides:
notifyTerminatedin classde.uka.ipd.sdq.scheduler.resources.active.AbstractActiveResource
-
getQueueLengthFor
public int getQueueLengthFor(de.uka.ipd.sdq.scheduler.entities.SchedulerEntity schedulerEntity, int coreId)
-