Class QueueNodeParam

All Implemented Interfaces:
Serializable

public class QueueNodeParam extends ServiceNodeParam
Parameter container for queue nodes in queueing networks.

This class extends ServiceNodeParam to add queue-specific parameters, particularly for polling scheduling strategies. Queue nodes may use polling disciplines (gated, exhaustive, or k-limited) with associated switchover times between job classes.

Since:
1.0
See Also:
  • Field Details

    • pollingType

      public PollingType pollingType
      Polling type for queues with polling scheduling strategy.

      Specifies the polling discipline: GATED, EXHAUSTIVE, or KLIMITED.

    • pollingPar

      public Integer pollingPar
      K parameter for K-LIMITED polling.

      Specifies the maximum number of jobs to serve per polling cycle.

    • switchoverTime

      public Map<JobClass,Distribution> switchoverTime
      Switchover time distributions by job class for polling servers.

      Defines the time distribution for switching between job classes.

    • pollingTable

      public List<JobClass> pollingTable
      Polling table (Queue.setPollingTable): the visit sequence, walked cyclically. Null when the server polls in the plain cyclic order.
    • pollingTableSw

      public List<Distribution> pollingTableSw
      Switchover of the leg from each table position to the next, same length as pollingTable; a null entry falls back to the switchoverTime of the class at that position.
    • pollingOrder

      public PollingOrder pollingOrder
      Load-dependent visit order (Queue.setPollingOrder); null or CYCLIC = none.
    • pollingOrderClass

      public JobClass pollingOrderClass
      Priority class of the THRESHOLD polling order.
    • pollingOrderThreshold

      public Integer pollingOrderThreshold
      Queue-length threshold L of the THRESHOLD polling order.
    • pollingTimerScope

      public PollingTimer pollingTimerScope
      Visit-timer scope (Queue.setPollingTimer); null or NONE = none.
    • pollingTimerPreempt

      public boolean pollingTimerPreempt
      Whether a visit-timer expiry preempts the job in service.
    • pollingTimer

      public Map<JobClass,Distribution> pollingTimer
      Visit-timer law per class (holding time, or target rotation time under GLOBAL).
    • setupTime

      public Map<JobClass,Distribution> setupTime
      Setup (cold-start) time distributions by job class.

      Populated from Queue.setDelayOff, as in MATLAB refreshLocalVars.m. Always paired with delayoffTime.

    • delayoffTime

      public Map<JobClass,Distribution> delayoffTime
      Delay-off (teardown) time distributions by job class.

      Populated from Queue.setDelayOff, as in MATLAB refreshLocalVars.m. Always paired with setupTime.

    • pollinfo

      public Polling.Info pollinfo
      Memoized derived description of the polling controller (server position, switchover phase-type, visit budget) for a POLLING queue.

      Built on demand by State.Polling.info, which is read once per state per synchronization while the CTMC generator is built; rebuilding it per call is orders of magnitude slower than the analysis itself.

    • swapGraph

      public Matrix swapGraph
      Pass-and-swap (PAS) class compatibility/swap graph (nclasses x nclasses).
    • rrQuantum

      public Map<JobClass,Distribution> rrQuantum
      Round-robin (RR) time-slice (quantum) distribution by job class, from Queue.setQuantum (Haverkort 1998, Sect. 6.4).
    • rrinfo

      public RoundRobin.Info rrinfo
      Memoized derived description of the RR node block, built on demand by State.RoundRobin.info.
    • svcRateFun

      public SerializableFunction<Matrix,Double> svcRateFun
      Pass-and-swap (PAS) total service rate function mu(c) of the ordered state.
  • Constructor Details

    • QueueNodeParam

      public QueueNodeParam()
      Constructs an empty QueueNodeParam with initialized parameter maps.
  • Method Details

    • isEmpty

      public boolean isEmpty()
      Checks if this queue parameter container is empty.
      Overrides:
      isEmpty in class ServiceNodeParam
      Returns:
      true if no parameters are specified, false otherwise