public interface IActiveProcess
extends de.uka.ipd.sdq.scheduler.IRunningProcess
Modifier and Type | Method and Description |
---|---|
void |
cancelProceedEvent()
Cancels an already scheduled ProceedEvent, e.g.
|
boolean |
checkAffinity(IResourceInstance instance)
Checks if the given instance is in the set of affinity instances of the
process.
|
IActiveProcess |
createNewInstance(de.uka.ipd.sdq.scheduler.ISchedulableProcess process) |
double |
getCurrentDemand() |
IResourceInstance |
getIdealInstance() |
IResourceInstance |
getLastInstance() |
IRunQueue |
getRunQueue() |
de.uka.ipd.sdq.scheduler.processes.PROCESS_STATE |
getState() |
double |
getTimeUntilNextInterruption() |
boolean |
hasAffinityList() |
boolean |
hasIdealInstance() |
boolean |
hasLastInstance() |
boolean |
isIdealInstance(IResourceInstance instance)
Checks if the given instance is the ideal instance of the process.
|
boolean |
isLastInstance(IResourceInstance instance) |
boolean |
isMovable(IResourceInstance targetInstance) |
boolean |
isReady() |
boolean |
isRunning() |
boolean |
isWaiting() |
void |
removeNonAffineInstances(List<IResourceInstance> instance_list)
Removes all instances the process is not allowed to run on from the given
list.
|
void |
scheduleProceedEvent(IScheduler scheduler)
Schedules a proceed event for the process at the time the current demand
is expired.
|
void |
setAffineInstances(List<IResourceInstance> instance_list)
Sets the affine instances for the process.
|
void |
setCurrentDemand(double new_demand)
Sets the new demand for a process.
|
void |
setDelayedAction(IDelayedAction action)
Sets a delayed action for the process, that need to be executed as soon
as the process is running.
|
void |
setIdealInstance(IResourceInstance instance)
Sets the ideal instance of the process.
|
void |
setLastInstance(IResourceInstance instance)
Sets the instance the process is or just was running on.
|
void |
setReady()
Change the current state of the process to ready.
|
void |
setRunning()
Change the current state of the process to running.
|
void |
setRunQueue(IRunQueue runqueue)
Sets the current runqueue of the process.
|
void |
setWaiting()
Change the current state of the process to waiting.
|
void |
toNow()
Proceeds all timing variables to the current simulation time.
|
void |
update()
Updates the process's timeslice and priority, if there is such.
|
void |
wasMovedTo(IResourceInstance dest) |
IRunQueue getRunQueue()
void setRunQueue(IRunQueue runqueue)
runqueue
- de.uka.ipd.sdq.scheduler.processes.PROCESS_STATE getState()
void setRunning()
void setReady()
void setWaiting()
boolean isRunning()
boolean isReady()
boolean isWaiting()
double getCurrentDemand()
void setCurrentDemand(double new_demand)
new_demand
- void toNow()
void setAffineInstances(List<IResourceInstance> instance_list)
instance_list
- boolean hasAffinityList()
boolean checkAffinity(IResourceInstance instance)
instance
- void removeNonAffineInstances(List<IResourceInstance> instance_list)
instance_list
- void setIdealInstance(IResourceInstance instance)
instance
- boolean hasIdealInstance()
boolean isIdealInstance(IResourceInstance instance)
instance
- IResourceInstance getIdealInstance()
void setLastInstance(IResourceInstance instance)
instance
- boolean hasLastInstance()
IResourceInstance getLastInstance()
boolean isLastInstance(IResourceInstance instance)
instance
- void scheduleProceedEvent(IScheduler scheduler)
void cancelProceedEvent()
double getTimeUntilNextInterruption()
void setDelayedAction(IDelayedAction action)
action
- void update()
IActiveProcess createNewInstance(de.uka.ipd.sdq.scheduler.ISchedulableProcess process)
boolean isMovable(IResourceInstance targetInstance)
void wasMovedTo(IResourceInstance dest)