public class SimActiveResource
extends de.uka.ipd.sdq.scheduler.resources.active.AbstractActiveResource
Modifier and Type | Field and Description |
---|---|
static org.apache.log4j.Logger |
logger |
Constructor and Description |
---|
SimActiveResource(ExactSchedulingFactory exactSchedulingFactory,
de.uka.ipd.sdq.scheduler.SchedulerModel model,
ActiveResourceConfiguration resourceConf) |
Modifier and Type | Method and Description |
---|---|
void |
addObserver(de.uka.ipd.sdq.scheduler.sensors.IActiveResourceStateSensor observer) |
void |
doProcessing(de.uka.ipd.sdq.scheduler.ISchedulableProcess sched_process,
int resourceServiceID,
double demand) |
IActiveProcess |
findProcess(String processName) |
List<IResourceInstance> |
getInstanceList() |
int |
getQueueLengthFor(de.uka.ipd.sdq.scheduler.entities.SchedulerEntity schedulerEntity,
int coreId) |
double |
getRemainingDemand(de.uka.ipd.sdq.scheduler.ISchedulableProcess process) |
IScheduler |
getScheduler() |
boolean |
isIdle(IResourceInstance instance) |
IActiveProcess |
lookUp(de.uka.ipd.sdq.scheduler.ISchedulableProcess process) |
void |
notifyTerminated(de.uka.ipd.sdq.scheduler.ISchedulableProcess simProcess) |
void |
registerProcess(de.uka.ipd.sdq.scheduler.ISchedulableProcess schedulableProcess) |
void |
setScheduler(IScheduler scheduler) |
void |
start() |
void |
stop() |
void |
unregisterProcess(IActiveProcess process) |
void |
updateDemand(de.uka.ipd.sdq.scheduler.ISchedulableProcess process,
double demand) |
cleanProcesses, process, removeObserver
equals, getCapacity, getId, getName, hashCode, toString
public SimActiveResource(ExactSchedulingFactory exactSchedulingFactory, de.uka.ipd.sdq.scheduler.SchedulerModel model, ActiveResourceConfiguration resourceConf)
public IScheduler getScheduler()
public List<IResourceInstance> getInstanceList()
public IActiveProcess lookUp(de.uka.ipd.sdq.scheduler.ISchedulableProcess process)
public void doProcessing(de.uka.ipd.sdq.scheduler.ISchedulableProcess sched_process, int resourceServiceID, double demand)
doProcessing
in class de.uka.ipd.sdq.scheduler.resources.active.AbstractActiveResource
public void start()
public boolean isIdle(IResourceInstance instance)
public void setScheduler(IScheduler scheduler)
public void stop()
public double getRemainingDemand(de.uka.ipd.sdq.scheduler.ISchedulableProcess process)
public void updateDemand(de.uka.ipd.sdq.scheduler.ISchedulableProcess process, double demand)
public void registerProcess(de.uka.ipd.sdq.scheduler.ISchedulableProcess schedulableProcess)
public void unregisterProcess(IActiveProcess process)
public void addObserver(de.uka.ipd.sdq.scheduler.sensors.IActiveResourceStateSensor observer)
addObserver
in interface de.uka.ipd.sdq.scheduler.IActiveResource
addObserver
in class de.uka.ipd.sdq.scheduler.resources.active.AbstractActiveResource
public IActiveProcess findProcess(String processName)
public void notifyTerminated(de.uka.ipd.sdq.scheduler.ISchedulableProcess simProcess)
notifyTerminated
in interface de.uka.ipd.sdq.scheduler.IActiveResource
notifyTerminated
in class de.uka.ipd.sdq.scheduler.resources.active.AbstractActiveResource
public int getQueueLengthFor(de.uka.ipd.sdq.scheduler.entities.SchedulerEntity schedulerEntity, int coreId)