Class ClosedExamples

java.lang.Object
jline.examples.java.basic.ClosedExamples

public class ClosedExamples extends Object
Closed queueing network examples mirroring the Kotlin notebooks in closedQN.

This class contains Java implementations that mirror the Kotlin notebook examples found in jar/src/main/kotlin/jline/examples/kotlin/basic/closedQN/. Each method demonstrates a specific closed queueing network concept using models from the basic package.

The examples cover: - BCMP theorem validation with different scheduling strategies - Multi-server systems and repairman models - Various service distributions (Erlang, Hyperexponential, MMPP) - Discriminatory processor sharing (DPS) scheduling - Multi-class systems with complex routing - One-line network specifications

  • Constructor Details

    • ClosedExamples

      public ClosedExamples()
  • Method Details

    • cqn_bcmp_theorem

      public static void cqn_bcmp_theorem() throws Exception
      BCMP theorem validation example (cqn_bcmp_theorem.ipynb).

      Demonstrates the BCMP theorem by comparing different scheduling strategies (PS, FCFS, LCFS-PR) and showing that certain performance measures remain invariant.

      Features: - Multiple job classes (2 classes, 2 jobs each) in closed network - Comparison of PS, FCFS, and LCFS-PR scheduling strategies - Validation of product-form solution properties - Uses CTMC solver for exact analysis

      Throws:
      Exception - if solver fails
    • cqn_mmpp2_service

      public static void cqn_mmpp2_service() throws Exception
      MMPP2 service process example (cqn_mmpp2_service.ipynb).

      Demonstrates the use of Markov Modulated Poisson Process (MMPP) service distributions in closed networks.

      Features: - MMPP2 service process with state-dependent rates - Bursty service patterns with correlation - Closed network with complex service behavior - Performance analysis under correlated service

      Throws:
      Exception - if solver fails
    • cqn_multiserver

      public static void cqn_multiserver() throws Exception
      Multi-server closed network (cqn_multiserver.ipynb).

      Demonstrates closed networks with multi-server stations, showing capacity effects on performance.

      Features: - Multiple servers at queueing stations - Capacity constraints in closed networks - Server utilization and queueing effects - Performance comparison with single-server systems

      Throws:
      Exception - if solver fails
    • cqn_oneline

      public static void cqn_oneline() throws Exception
      One-line closed network specification (cqn_oneline.ipynb).

      Demonstrates compact specification of closed networks using matrix-based constructors.

      Features: - Matrix-based closed network constructor - N vector defines job populations per class - S matrix defines service times at stations - Compact notation for standard topologies

      Throws:
      Exception - if solver fails
    • cqn_repairmen

      public static void cqn_repairmen() throws Exception
      Repairman model (cqn_repairmen.ipynb).

      Demonstrates the classic repairman model where machines break down and compete for repair resources.

      Features: - Machine population circulating between operational and repair - Limited repair capacity creates resource contention - Delay station represents operational (working) time - Queue represents repair facility with limited servers

      Throws:
      Exception - if solver fails
    • cqn_repairmen_multi

      public static void cqn_repairmen_multi() throws Exception
      Multi-class repairman model (cqn_repairmen_multi.ipynb).

      Extends the repairman model to multiple machine types with different failure and repair characteristics.

      Features: - Multiple machine classes with different characteristics - Class-dependent failure rates and repair times - Shared repair facility for all machine types - Resource contention across machine classes

      Throws:
      Exception - if solver fails
    • cqn_scheduling_dps

      public static void cqn_scheduling_dps() throws Exception
      Discriminatory processor sharing (cqn_scheduling_dps.ipynb).

      Demonstrates discriminatory processor sharing (DPS) scheduling where different job classes receive different service shares.

      Features: - DPS scheduling with class-dependent weights - Proportional service allocation based on class priorities - Performance differentiation across job classes - Weighted fair queueing behavior

      Throws:
      Exception - if solver fails
    • cqn_threeclass_hyperl

      public static void cqn_threeclass_hyperl() throws Exception
      Three-class hyperexponential system (cqn_threeclass_hyperl.ipynb).

      Demonstrates a three-class closed network with hyperexponential service distributions, showing high variability effects.

      Features: - Three job classes with different populations - Hyperexponential service distributions (high variability) - Complex routing patterns across multiple stations - Performance analysis under high service variability

      Throws:
      Exception - if solver fails
    • cqn_twoclass_erl

      public static void cqn_twoclass_erl() throws Exception
      Two-class Erlang system (cqn_twoclass_erl.ipynb).

      Demonstrates a two-class closed network with Erlang service distributions, showing low variability effects.

      Features: - Two job classes with different characteristics - Erlang service distributions (low variability) - Comparison with exponential service systems - Impact of service variability on performance

      Throws:
      Exception - if solver fails
    • cqn_twoclass_hyperl

      public static void cqn_twoclass_hyperl() throws Exception
      Two-class hyperexponential system (cqn_twoclass_hyperl.ipynb).

      Demonstrates a two-class closed network with hyperexponential service distributions for both classes.

      Features: - Two job classes with hyperexponential service - High service variability for all classes - Performance comparison between classes - Variability effects on class interactions

      Throws:
      Exception - if solver fails
    • cqn_twoqueues

      public static void cqn_twoqueues() throws Exception
      Two queues with reducible routing (cqn_twoqueues.ipynb).

      Demonstrates a closed network with reducible routing matrix, containing probabilistic routing patterns.

      Features: - Reducible routing matrix with probabilistic transitions - Self-loops and probabilistic routing decisions - Delay station with two queue alternatives - Analysis of routing probability effects

      Throws:
      Exception - if solver fails
    • cqn_twoqueues_multi

      public static void cqn_twoqueues_multi() throws Exception
      Two queues with multi-class system (cqn_twoqueues_multi.ipynb).

      Extends the two-queue model to multiple classes with different routing patterns per class.

      Features: - Multiple job classes with class-specific routing - Different probabilistic patterns per class - Class interactions in shared queueing stations - Performance differentiation across classes

      Throws:
      Exception - if solver fails
    • main

      public static void main(String[] args) throws Exception
      Main method demonstrating all closed queueing network examples.

      Executes all example methods to showcase the different closed network concepts and solution approaches available in LINE.

      Parameters:
      args - command line arguments (not used)
      Throws:
      Exception - if any example fails