At a Glance

1.55M
Lines of Code
16
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 Beta
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
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, and with LQNS's qnsolver on ordinary networks
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, perfect sampling (cftp) (47 methods)
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

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)