At a Glance

1.55M
Lines of Code
17
Solvers
39
Distributions
37
Scheduling Strategies
13
Node Types
35
Analyses
1214
Example Models
4
Languages

Codebase Size

Codebase Language Source Files Lines of Code Status
MATLAB (matlab/src/) MATLAB 1,977 297,702 Stable (reference)
Java (jar/src/main/) Java 8+ 2,202 544,211 Stable
Python Native (python/line_solver/) Python 721 372,696 Stable
C++ (cpp/include/, cpp/src/) C++17 995 332,770 Stable
Total 5,895 1,547,379

Solvers

Solver Full Name Type Method
AG Agent-Based Solver Analytical RCAT fixed point over per-station agents
AUTO Automatic Solver Selection Meta Selects best solver for a given model
BA Bound Analysis Analytical ABA, BJB, PB, GB, bound hierarchies, LP and network-calculus bounds
CTMC Continuous-Time Markov Chain Analytical State-space enumeration, MDD storage, perfect sampling (cftp)
ENV Environment Solver Meta Random environment stage integration
FLD Fluid Analysis Analytical ODE mean-field, DAE closures, Ko-Pender diffusion limit
JMT Java Modelling Tools External Integration with JMT simulator
LDES LINE discrete-event simulator Simulation Native C++ engine, with the SSJ-based Java engine as fallback
LN Layered Network Solver Meta Decomposition into sub-models
LQNS LQN Solver External Integration with LQNS analytical solver
MAM Matrix Analytic Methods Analytical QBD and ETAQA for PH/MAP/MMAP/BMAP queues, decomposition
MVA Mean Value Analysis Analytical Exact & approximate MVA, linearizer, AMVA, QNA, robust queueing
NC Normalizing Constant Analytical Convolution, CoMoM, logistic expansions, RGF, MCMC (38 methods)
QNS Queueing Network Solver External Integration with external QN solvers
SSA Stochastic State-space Analysis Simulation Hashing-based state-space exploration
UQ Uncertainty Quantification Meta Prior expansion, prior-weighted means and intervals

Model Features

Node Types 13

  • Source & Sink
  • Queue
  • Delay
  • Fork & Join
  • Router
  • Cache
  • ClassSwitch
  • Logger
  • Place & Transition (SPN)
  • Finite Capacity Region

Routing Strategies 8

  • Probabilistic (PROB)
  • Random (RAND)
  • Round-Robin (RROBIN)
  • Weighted Round-Robin (WRROBIN)
  • Join Shortest Queue (JSQ)
  • Shortest of d queues, SQ(d)
  • State-dependent routing (SDR)
  • SPN Transition Firing

Cache Replacement Policies 7

  • Random Replacement (RR)
  • First In, First Out (FIFO)
  • Strict FIFO (SFIFO)
  • Least Recently Used (LRU)
  • Hierarchical LRU (h-LRU)
  • CLIMB
  • q-LRU

Blocking & Impatience 6

  • Waiting Queue
  • Drop on Full
  • Blocking After Service (BAS)
  • Blocking Before Service (BBS)
  • Retrial orbits
  • Balking & reneging

Station Features

  • Multiserver
  • Heterogeneous server pools
  • Setup and delayoff times
  • Server breakdowns
  • Load-, class- and joint-dependent rates
  • Global dependence
  • Class priorities
  • Cyclic polling with switchover
  • Finite capacity regions

Arrivals & Workload

  • Open, closed and mixed classes
  • Self-looping classes
  • Batch arrivals
  • Marked arrivals (MMAP, MPH)
  • Time-inhomogeneous arrivals (NHPP, MAPt)
  • Trace-driven replay
  • Discrete-time models
  • Random environments

Layered Constructs

  • Layered queueing networks (LQN)
  • Tasks, entries and activities
  • Processor and task replication
  • Layered cache-queueing models (LCQ)
  • Heterogeneous pools with class compatibility
  • Admission constraints on layers
  • Per-entry response-time distributions
  • Activity think time

Scheduling Strategies (37)

Order-Based

  • FCFS (First-Come-First-Served)
  • LCFS (Last-Come-First-Served)
  • SIRO (Service in Random Order)
  • INF (Infinite Server / Delay)
  • POLLING (cyclic, with switchover)

Processor Sharing

  • PS (Processor Sharing)
  • DPS (Discriminatory PS)
  • GPS (Generalized PS)
  • PSPRIO, DPSPRIO, GPSPRIO
  • LPS (Limited PS)

Size- & Age-Based

  • SJF / LJF (Shortest/Longest Job)
  • SEPT / LEPT (Expected Processing Time)
  • SRPT / LRPT (Remaining Time)
  • SETF (Shortest Elapsed Time)
  • PSJF (Preemptive SJF)
  • FB / LAS (Least Attained Service)
  • FSP (Fair Sojourn Protocol)

Priority & Preemption

  • HOL / FCFSPRIO (Head-of-Line)
  • FCFSPR / FCFSPI (Preemptive)
  • FCFSPRPRIO / FCFSPIPRIO
  • LCFSPR / LCFSPI (Preemptive)
  • LCFSPRIO, LCFSPRPRIO, LCFSPIPRIO
  • SRPTPRIO (SRPT within priorities)

Deadline & Order-Independent

  • EDD (Earliest Due Date)
  • EDF (Earliest Deadline First)
  • PAS (Pass-and-Swap)
  • OI (Order-Independent queue)

Supported Distributions (39)

Continuous

  • Exponential (Exp)
  • Erlang
  • Hyperexponential (HyperExp)
  • Deterministic (Det)
  • Uniform
  • Gamma
  • Weibull
  • Pareto
  • Lognormal

Phase-Type & Markovian

  • PH (Phase-Type)
  • APH (Acyclic Phase-Type)
  • Coxian / Cox2
  • ME (Matrix Exponential)
  • RAP (Rational Arrival)
  • MAP (Markovian Arrival Process)
  • MMPP2
  • DMAP (discrete-time MAP)
  • BMAP (batch MAP)

Marked & Time-Inhomogeneous

  • MMAP (marked MAP)
  • MPH (marked phase-type)
  • NHPP (non-homogeneous Poisson)
  • MAPt (time-inhomogeneous MAP)
  • PHt (time-inhomogeneous PH)
  • MMAPt / MPHt
  • BMMAPt (batch marked MAPt)

Discrete & Special

  • Binomial / Bernoulli
  • Geometric
  • Poisson
  • Discrete Uniform
  • Zipf (power-law)
  • Prior / DiscreteSampler
  • Empirical CDF
  • Immediate / Disabled
  • Trace / Replayer

Examples & Tests

Category MATLAB Python C++
Basic models 130 130 130
Advanced models 86 85 83
Gallery models 71 71 71
Gallery regression 61 61 57
Inference 17 17 17
Getting started 16 15 15
Optimization 10 11 11
Discrete time 6 6 6
JSON interchange 6 6 6
Solver usage 3 5 5
Total 406 407 401

Analyses & Metrics

Mean Measures

  • Throughput (Tput)
  • Response Time (RespT)
  • Residence Time (ResidT)
  • Waiting Time (WaitT)
  • Queue Length (QLen)
  • Utilization (Util)
  • Arrival Rate (ArvR)
  • Drop and region-loss rates
  • Retrial Rate (RetrR)
  • Cache hit/miss and item metrics
  • System-wide and per-chain aggregates

Distributions & Transient

  • Response-time CDF and percentiles
  • Passage-time CDF
  • Transient means and transient CDFs
  • State probabilities (joint, marginal, aggregate)
  • Simulated state samples
  • Markov reward measures
  • Busy periods of stations and subnetworks
  • Normalizing constants
  • Sensitivities and gradients
  • Bounds and prior-weighted intervals
  • Deadline and tardiness measures

Formats & Interfaces

  • Input: LINE JSON, JMT .jsimg, LQN .lqnx, PNML, .mat, .pkl
  • Output: readable tables, JSON, CSV, .mat, pickle
  • line-cli (C++) and LineCLI (Java) command lines
  • MCP server with 20 tools
  • REST API with 21 routes, streaming jobs and Prometheus metrics
  • Symbolic backend via SageMath
  • Cross-backend dispatch (lang = matlab, java, python, cpp)