Class ActiveExpiredRunQueue

    • Constructor Detail

      • ActiveExpiredRunQueue

        public ActiveExpiredRunQueue​(de.uka.ipd.sdq.scheduler.SchedulerModel model,
                                     IProcessQueue queue_prototype)
    • Method Detail

      • getNextRunnableProcess

        public IActiveProcess getNextRunnableProcess()
        Description copied from interface: IRunQueue
        Returns the next runnable process.
        Returns:
      • activeQueueEmpty

        protected boolean activeQueueEmpty()
        Determines whether the current active queue is empty including the running and standby processes.
      • createNewInstance

        public IRunQueue createNewInstance()
        Description copied from interface: IRunQueue
        Prototype Object Pattern. Creates a new instance of the given runqueue.
        Returns:
      • identifyMovableProcesses

        public List<IActiveProcess> identifyMovableProcesses​(IResourceInstance targetInstance,
                                                             boolean prio_increasing,
                                                             boolean queue_ascending,
                                                             int processes_needed)
        Description copied from interface: IRunQueue
        Composes a list of processes movable to the specified target. The list is ordered in terms of what suits best for the target resource instance. The first element is better than the second which is better than the third and so on. Note that currently running processes are never added to the movable list.
        Parameters:
        targetInstance - Resource instance the processes shall be moved to.
        prio_increasing - If true, the processes in the resulting list are ordered with an increasing priority, otherwise with a decreasing priority.
        queue_ascending - If true, processes in the resulting list are in the same order as in the queue, otherwise they are in reverse order.
        processes_needed - The maximum number of processes needed for the resource.
        Returns:
        An ordered list of processes movable to the target resource.
      • getBestRunnableQueue

        public IProcessQueue getBestRunnableQueue​(IResourceInstance instance)
        Parameters:
        instance - Resource instance a process is needed for.
        Returns:
        Returns the most urgent queue which contains at least one process which can run on the given instance. NULL if no such queue exists.
      • processStarving

        public boolean processStarving​(double threshold)
      • getStarvingProcesses

        public List<IActiveProcess> getStarvingProcesses​(double starvationLimit)
      • setWaitingTime

        public void setWaitingTime​(IActiveProcess process,
                                   double waiting)
      • getWaitingTime

        public double getWaitingTime​(IActiveProcess process)
      • resetStarvationInfo

        public void resetStarvationInfo()