java.lang.Object
de.uka.ipd.sdq.simulation.abstractsimengine.SimulationElement
de.uka.ipd.sdq.simulation.abstractsimengine.AbstractSimEntityDelegator
de.uka.ipd.sdq.scheduler.entities.SchedulerEntity
All Implemented Interfaces:
de.uka.ipd.sdq.scheduler.IRunningProcess, de.uka.ipd.sdq.simulation.abstractsimengine.IEntity, IActiveProcess

public class ProcessWithPriority extends PreemptiveProcess
  • Constructor Details

    • ProcessWithPriority

      public ProcessWithPriority(de.uka.ipd.sdq.scheduler.SchedulerModel model, de.uka.ipd.sdq.scheduler.ISchedulableProcess process, IPriority staticPriority)
  • Method Details

    • 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 interface IActiveProcess
      Overrides:
      update in class ActiveProcess
    • toString

      public String toString()
      Overrides:
      toString in class PreemptiveProcess
    • createNewInstance

      public IActiveProcess createNewInstance(de.uka.ipd.sdq.scheduler.ISchedulableProcess process)
      Specified by:
      createNewInstance in interface IActiveProcess
      Overrides:
      createNewInstance in class PreemptiveProcess