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 | 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 | 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 | 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 | 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++) andLineCLI(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)