Class ClosedModel

java.lang.Object
jline.examples.java.basic.ClosedModel

public class ClosedModel extends Object
Examples of closed queueing networks
  • Constructor Details

    • ClosedModel

      public ClosedModel()
  • Method Details

    • cqn_repairmen

      public static Network cqn_repairmen()
      Simple closed network with a delay node and FCFS queue.

      Features: - Single closed class with 10 jobs - Delay node with exponential service (mean 1.0) - FCFS queue with exponential service (mean 1.5) - Probabilistic routing: 70% self-loop at delay, 30% to queue

      Returns:
      configured closed network model
    • cqn_twoclass_hyperl

      public static Network cqn_twoclass_hyperl()
      Two-class closed network with class switching.

      Features: - Two closed classes with 2 jobs each - Delay node with Erlang and HyperExp distributions - PS (Processor Sharing) queue - Class switching between Class1 and Class2

      Returns:
      configured closed network model
    • cqn_threeclass_hyperl

      public static Network cqn_threeclass_hyperl()
      Three-class closed network with multi-server PS queue.

      Features: - Three closed classes with populations [2, 0, 1] - Two-server PS queue - Mixed service distributions (Erlang, HyperExp, Exp) - Complex class switching patterns - Uses circular routing matrix for Class3

      Returns:
      configured closed network model
    • cqn_multiserver

      public static Network cqn_multiserver()
      Four-class closed network with multiple FCFS queues.

      Features: - Four closed classes with populations [2, 2, 2, 1] - Three nodes: Delay, Queue1 (3 servers), Queue2 (3 servers) - Queue2 disabled for Class1 and Class2 - Complex class switching topology - Mix of exponential and Erlang service distributions

      Returns:
      configured closed network model
    • cqn_oneline

      public static Network cqn_oneline()
      Two-class closed network with four-node cyclic topology.

      Features: - Two closed classes with populations [1, 2] - Four nodes: two delays and two PS queues - Cyclic routing: Delay1 → Delay2 → Queue1 → Queue2 → Delay1 - Different service rates for each class-node combination - Uses Network.cyclicPsInf(N,D,Z) with: - D = [10,5; 5,9] (Queue service times) - Z = [91,92; 93,94] (Delay times) - N = [1,2] (Population)

      Returns:
      configured closed network model
    • cqn_twoclass_erl

      public static Network cqn_twoclass_erl()
      Closed network with class switching using probabilistic routing.

      Features: - Two closed classes with populations [15, 5] - ClassSwitch node with class switching matrix [0,1;1,0] - Mixed scheduling: PS queues and infinite server delay - Probabilistic routing strategies (RAND, RROBIN, WRROBIN) - Demonstrates advanced routing configuration

      Returns:
      configured closed network model
    • cqn_bcmp_theorem_fcfs

      public static Network cqn_bcmp_theorem_fcfs()
      Two-class FCFS network demonstrating First-Come-First-Served scheduling.

      Features: - Two closed classes with 2 jobs each - Delay node with Erlang and HyperExp distributions - FCFS queue with exponential service - Simple serial routing between delay and queue

      Returns:
      configured closed network model
    • cqn_bcmp_theorem_lcfspr

      public static Network cqn_bcmp_theorem_lcfspr()
      Two-class LCFSPR network demonstrating Last-Come-First-Served Preemptive Resume.

      Features: - Two closed classes with 2 jobs each - Delay node with APH (Acyclic Phase-type) distributions - LCFSPR queue with preemptive resume scheduling - Different SCV values for delay services

      Returns:
      configured closed network model
    • cqn_bcmp_theorem_ps

      public static Network cqn_bcmp_theorem_ps()
      Simple two-class PS network for processor sharing demonstration.

      Features: - Two closed classes with 2 jobs each - Delay node with Erlang and HyperExp distributions - PS queue with exponential service for both classes - Simple serial routing between delay and queue

      Returns:
      configured closed network model
    • cqn_repairmen_multi

      public static Network cqn_repairmen_multi()
      Two-class closed network with multi-server queue.

      Features: - Two closed classes with populations [4, 2] - Delay node with exponential service for both classes - FCFS queue with 3 servers - Different service rates (Class2 has 10x faster service)

      Returns:
      configured closed network model
    • cqn_twoqueues_multi

      public static Network cqn_twoqueues_multi()
      Two-class three-node closed network with serial topology.

      Features: - Two closed classes with 10 jobs each - Three nodes: Delay, Queue1, Queue2 in series - All exponential service times with different rates - Cyclic routing: Delay → Queue1 → Queue2 → Delay

      Returns:
      configured closed network model
    • cqn_twoqueues

      public static Network cqn_twoqueues()
      Single-class closed network with reducible routing matrix.

      Features: - Single closed class with 1 job - Three nodes: Delay, Queue1 (FCFS), Queue2 (FCFS) - Reducible routing matrix where Queue1 and Queue2 have self-loops - Initial routing from Delay splits between Queue1 (30%) and Queue2 (50%) - Demonstrates handling of absorbing states in routing

      Returns:
      configured closed network model
    • cqn_scheduling_dps

      public static Network cqn_scheduling_dps()
      Mixed scheduling strategies with probabilistic routing.

      Features: - Two closed classes: Class1 (2 jobs), Class2 (1 job) - Three stations: Delay, PS Queue, DPS Queue - Probabilistic routing with opposite preferences per class - Class1: 30% to Queue1, 70% to Queue2 - Class2: 70% to Queue1, 30% to Queue2 - Demonstrates DPS (Discriminatory Processor Sharing) scheduling

      Returns:
      configured mixed scheduling network model
    • cqn_mmpp2_service

      public static Network cqn_mmpp2_service()
      APH service distributions with complex routing patterns.

      Features: - Two closed classes (1 job each) with APH service distributions - All service times fitted using APH with specific mean and SCV values - Class1: probabilistic routing (0% self-loop, 30% Queue1, 70% Queue2) - Class2: random routing strategy - High variability service times (SCV up to 5.038) - Demonstrates APH fitting for realistic service modeling

      Returns:
      configured APH-based network model
    • cqn_lcfs_lcfspr

      public static Network cqn_lcfs_lcfspr()
      Two-class closed network with LCFS and LCFSPR scheduling.

      Features: - Two closed classes with 1 job each - Queue1 with LCFS (Last Come First Served) scheduling - Queue2 with LCFSPR (LCFS with Preemptive Resume) scheduling - Exponential service times at all stations - Cyclic routing between the two queues

      Returns:
      configured LCFS/LCFSPR network model
    • cqn_lcfs_lcfspr_3class

      public static Network cqn_lcfs_lcfspr_3class()
      Creates a closed queueing network with LCFS and LCFSPR scheduling - 3 class variant. Model structure: - Queue1: LCFS (Last Come First Served) scheduling - Queue2: LCFSPR (Last Come First Served Preemptive Resume) scheduling - Three closed classes with 1 job each - Cyclic routing between the two queues Expected CTMC ground truth: Queue1, Class1: QLen=0.34369, Util=0.16883, RespT=4.0714, Tput=0.084416 Queue1, Class2: QLen=0.28527, Util=0.14752, RespT=5.8013, Tput=0.049173 Queue1, Class3: QLen=0.17611, Util=0.14794, RespT=15.476, Tput=0.01138 Queue2, Class1: QLen=0.65631, Util=0.42208, RespT=7.7747, Tput=0.084416 Queue2, Class2: QLen=0.71473, Util=0.34421, RespT=14.535, Tput=0.049173 Queue2, Class3: QLen=0.82389, Util=0.12518, RespT=72.401, Tput=0.01138
      Returns:
      configured 3-class LCFS/LCFSPR network model
    • cqn_lcfs_lcfspr_4class

      public static Network cqn_lcfs_lcfspr_4class()
      Creates a closed queueing network with LCFS and LCFSPR scheduling - 4 class variant. Model structure: - Queue1: LCFS (Last Come First Served) scheduling - Queue2: LCFSPR (Last Come First Served Preemptive Resume) scheduling - Four closed classes with 1 job each - Cyclic routing between the two queues Expected CTMC ground truth: Queue1, Class1: QLen=0.3969, Util=0.1551, RespT=5.1181, Tput=0.077549 Queue1, Class2: QLen=0.33858, Util=0.13422, RespT=7.5679, Tput=0.044739 Queue1, Class3: QLen=0.19303, Util=0.12099, RespT=20.741, Tput=0.0093067 Queue1, Class4: QLen=0.14419, Util=0.095919, RespT=25.555, Tput=0.0056423 Queue2, Class1: QLen=0.6031, Util=0.38774, RespT=7.777, Tput=0.077549 Queue2, Class2: QLen=0.66142, Util=0.31317, RespT=14.784, Tput=0.044739 Queue2, Class3: QLen=0.80697, Util=0.10237, RespT=86.709, Tput=0.0093067 Queue2, Class4: QLen=0.85581, Util=0.1072, RespT=151.68, Tput=0.0056423
      Returns:
      configured 4-class LCFS/LCFSPR network model
    • main

      public static void main(String[] args) throws Exception
      Main method for testing and demonstrating closed model examples.

      Currently configured to run cqn_threeclass_hyperl() and solve it using the JMT solver to display system-level metrics.

      Parameters:
      args - command line arguments (not used)
      Throws:
      Exception - if solver encounters an error