Class ProcessWithPriority
- java.lang.Object
-
- de.uka.ipd.sdq.simulation.abstractsimengine.SimulationElement
-
- de.uka.ipd.sdq.simulation.abstractsimengine.AbstractSimEntityDelegator
-
- de.uka.ipd.sdq.scheduler.entities.SchedulerEntity
-
- edu.kit.ipd.sdq.pcm.simulation.scheduler.exact.processes.impl.ActiveProcess
-
- edu.kit.ipd.sdq.pcm.simulation.scheduler.exact.processes.impl.PreemptiveProcess
-
- edu.kit.ipd.sdq.pcm.simulation.scheduler.exact.processes.impl.ProcessWithPriority
-
- All Implemented Interfaces:
de.uka.ipd.sdq.scheduler.IRunningProcess
,de.uka.ipd.sdq.simulation.abstractsimengine.IEntity
,IActiveProcess
public class ProcessWithPriority extends PreemptiveProcess
-
-
Constructor Summary
Constructors Constructor Description ProcessWithPriority(de.uka.ipd.sdq.scheduler.SchedulerModel model, de.uka.ipd.sdq.scheduler.ISchedulableProcess process, IPriority staticPriority)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description IActiveProcess
createNewInstance(de.uka.ipd.sdq.scheduler.ISchedulableProcess process)
void
decreasePriority()
IPriority
getDynamicPriority()
IPriority
getStaticPriority()
boolean
hasBonus()
void
resetDynamicPriority()
Sets the dynamic priority back to the original, static priority.void
setPriorityUpdateStrategy(IPriorityUpdateStrategy priorityUpdateStrategy)
boolean
setToStaticPriorityWithBonus(int bonus)
String
toString()
void
update()
Updates the process's timeslice and priority, if there is such.void
updatePriority()
-
Methods inherited from class edu.kit.ipd.sdq.pcm.simulation.scheduler.exact.processes.impl.PreemptiveProcess
getTimeslice, passTimeProcessing, setTimeSlice
-
Methods inherited from class edu.kit.ipd.sdq.pcm.simulation.scheduler.exact.processes.impl.ActiveProcess
addStateSensor, cancelProceedEvent, checkAffinity, createNewInstance, equals, getCurrentDemand, getId, getIdealInstance, getLastInstance, getName, getRunQueue, getSchedulableProcess, getState, getTimeUntilNextInterruption, hasAffinityList, hashCode, hasIdealInstance, hasLastInstance, isIdealInstance, isLastInstance, isMovable, isReady, isRunning, isWaiting, removeNonAffineInstances, removeStateSensor, scheduleProceedEvent, setAffineInstances, setCurrentDemand, setDelayedAction, setIdealInstance, setLastInstance, setReady, setRunning, setRunQueue, setState, setWaiting, toNow, wasMovedTo
-
Methods inherited from class de.uka.ipd.sdq.simulation.abstractsimengine.AbstractSimEntityDelegator
getEncapsulatedEntity, isScheduled, reschedule
-
-
-
-
Constructor Detail
-
ProcessWithPriority
public ProcessWithPriority(de.uka.ipd.sdq.scheduler.SchedulerModel model, de.uka.ipd.sdq.scheduler.ISchedulableProcess process, IPriority staticPriority)
-
-
Method Detail
-
getStaticPriority
public IPriority getStaticPriority()
-
getDynamicPriority
public IPriority getDynamicPriority()
-
setPriorityUpdateStrategy
public void setPriorityUpdateStrategy(IPriorityUpdateStrategy priorityUpdateStrategy)
-
updatePriority
public void updatePriority()
-
hasBonus
public boolean hasBonus()
-
resetDynamicPriority
public void resetDynamicPriority()
Sets the dynamic priority back to the original, static priority.
-
decreasePriority
public void decreasePriority()
-
setToStaticPriorityWithBonus
public boolean setToStaticPriorityWithBonus(int bonus)
-
update
public void update()
Description copied from interface:IActiveProcess
Updates the process's timeslice and priority, if there is such.- Specified by:
update
in interfaceIActiveProcess
- Overrides:
update
in classActiveProcess
-
toString
public String toString()
- Overrides:
toString
in classPreemptiveProcess
-
createNewInstance
public IActiveProcess createNewInstance(de.uka.ipd.sdq.scheduler.ISchedulableProcess process)
- Specified by:
createNewInstance
in interfaceIActiveProcess
- Overrides:
createNewInstance
in classPreemptiveProcess
-
-