Package jline


package jline
LINE - Queueing theory algorithms.

LINE is an open-source package for analyzing queueing models via analytical methods and simulation. It provides a complete modeling environment supporting open queueing systems, closed and open queueing networks, and layered queueing networks.

Core Packages

Supported Model Types

  • Open Networks: Jobs arrive from external sources (e.g., Poisson arrivals)
  • Closed Networks: Fixed population circulating within the system
  • Mixed Networks: Combination of open and closed job classes
  • Layered Networks: Hierarchical models with tasks and activities
  • Petri Nets: Token-based models with places and transitions

Solution Methods

  • Exact Methods: MVA, Convolution, Matrix Analytic Methods
  • Simulation: Discrete-event simulation via JMT integration
  • Numerical: CTMC, Fluid analysis, SSA
  • Approximation: Heavy-traffic, diffusion approximations

Key Features

  • Support for complex routing patterns and class switching
  • Multiple scheduling disciplines (FCFS, PS, LCFS, HOL, DPS, etc.)
  • Various service time distributions (Exponential, Erlang, HyperExp, APH, MAP)
  • Load-dependent services and finite capacity queues
  • Fork-join synchronization and cache modeling
  • Random environments

Getting Started:


 // Create a simple M/M/1 queue
 Network model = new Network("MM1");
 Source source = new Source(model, "Source");
 Queue queue = new Queue(model, "Queue", SchedStrategy.FCFS);
 Sink sink = new Sink(model, "Sink");
 
 // Set parameters
 OpenClass openClass = new OpenClass(model, "Class1", 0);
 source.setArrival(openClass, Exp.fitMean(1.0));
 queue.setService(openClass, Exp.fitMean(2.0));
 
 // Connect nodes using routing matrix
 RoutingMatrix routingMatrix = model.initRoutingMatrix();
 routingMatrix.set(openClass, openClass, source, queue, 1.0);
 routingMatrix.set(openClass, openClass, queue, sink, 1.0);
 model.link(routingMatrix);
 
 // Solve
 NetworkAvgTable avgTable = new SolverJMT(model).getAvgTable();
 avgTable.print();
 
Since:
LINE 2.0
Version:
3.0
See Also:
  • Class
    Description
    Global constants for tolerances and solver configuration.
    Enumeration for specifying solver verbosity levels.