![]() |
LINE Solver (C++)
Templated C++ port of the LINE queueing solver
|
| Public API | What a program written against the port includes |
| Algorithm layer | line/api – the numerical algorithms, one directory and one namespace per domain, mirroring matlab/src/api, jline.api and line_solver.api |
| Age of information (aoi) | Mean, variance and peak age of information for FCFS and LCFS queues, and the MAP-to-PH conversion the age solvers consume |
| Caches (cache) | Miss rates, hit probabilities and normalizing constants of list-based caches: exact recursion, fixed-point iteration, importance sampling, ray integration, the saddle-point method, mean value analysis and mean field |
| Decomposition-aggregation (da) | Drivers that split an integrated cache-queueing model into an isolated cache and a queueing network, then iterate the two to a fixed point |
| Discrete-time product-form networks (dpfqn) | Normalizing constants of a discrete-time closed cycle of Bernoulli servers |
| Discrete-time queueing systems (dqsys) | Single queues on a slot lattice: the Bernoulli server, Geo/Geo/1 and the batch-arrival Geo^X/Geo/1 |
| Flow-equivalent servers (fes) | Replace a subnetwork by one load-dependent station whose rate table is the throughput of the subnetwork over the population lattice (Chandy, Herzog and Woo 1975) |
| Fork-join (fj) | Response time of the K-way fork-join queue, order statistics and expected maxima for the common branch laws, tail latency, split-merge and serialization |
| Inference (infer) | Demand and parameter estimation from measurements: maximum likelihood, fluid likelihood, variational methods and the queue-length reconstruction they consume |
| Loss networks (lossn) | Blocking probabilities of a Kelly loss network: the Erlang fixed point, the Manjunath-Sikdar residue, decision-diagram recursion and Monte Carlo |
| Layered queueing networks (lqn) | Algorithms over the layered structure itself, as opposed to the per-layer networks the LN solver builds from it |
| Transform inversion (lti) | Numerical inversion of a Laplace transform by the Euler, Talbot and Gaver-Stehfest methods |
| Matrix-analytic methods (mam) | MAPs, marked MAPs, MMPPs and phase-type distributions: moments, transformations, superposition, fitting (KPC-Toolbox, M3A, BuTools), and the QBD machinery for the rate matrices R and G |
| MAP queueing networks (mapqn) | Networks whose arrival or service processes are MAPs, solved by approximate MVA and by the quasi-reduced form |
| Markov chains (mc) | CTMC and DTMC algorithms: state-space generation, stationary and transient distributions, uniformization, Krylov kernels, passage times, stochastic complementation and the memory pre-gate |
| Decision diagrams (mdd) | Quasi-reduced ordered multi-valued decision diagrams, and the closed-network and loss-network solves that store their state space in one |
| Maximum entropy (me) | Maximum-entropy solutions of open and closed multiclass queueing networks |
| Markov-modulated deterministic processes (mmdp) | The MMDP used as the input process of a fluid queue |
| Moment conversions (moment) | Conversions between the moment families of a random variable – raw, central, factorial, binomial, cumulant and survival – together with the triangular transform tables and the multivariate cases |
| Non-product-form networks (npfqn) | Networks outside BCMP: blocking, traffic-variability decomposition, queue decomposition and Lyapunov bounds |
| Permanents (perm) | Exact and approximate matrix permanents – Ryser, Sinkhorn, Bethe, saddle-point and sampling – for the normalizing constants that are sums of permanents |
| Product-form networks (pfqn) | The largest domain: exact and approximate mean value analysis, normalizing constants (convolution, RECAL, CoMoM, method of moments, Monte Carlo, asymptotic expansions), load-dependent and order-independent stations, bounds, and exact sensitivities and higher moments |
| Polling systems (polling) | Mean delay of exhaustive, gated and limited polling with switchover times |
| Single queueing systems (qsys) | One station in isolation, from M/M/1 to MAP/G/1/K: exact results, two-moment approximations, bounds, robust queueing, diffusion and fluid limits, and the scheduling variants |
| Delayed-hit retrieval (retrieval) | Caches whose misses are served by a retrieval system, so a request that arrives during a fetch is a delayed hit rather than a miss |
| Output analysis (sim) | What a simulation run's samples support: steady-state quantile confidence intervals, randomness and normality tests, and the quantiles they use |
| NetworkStruct utilities (sn) | Operations on the sn structure itself – property detection, chains and visits, state handling, validation and the result tables |
| Stochastic network calculus (snc) | MGF arrival and service envelopes, min-plus convolution, and the backlog and delay violation probabilities they bound |
| Stochastic Petri nets (spn) | Product-form and linear-programming bounds for stochastic Petri nets |
| Summation method (sum) | The summation method (SUM) and its extension (ESUM) for closed networks, including non-product-form stations with general service times |
| Symbolic arithmetic (sym) | The symbolic engine behind the exact-arithmetic solvers, including the SymEngine and line-sage-rest backends |
| Trace analysis (trace) | Statistics of a measured trace – moments, autocorrelation, indices of dispersion, binning and counting processes – for single and marked traces |
| Workflow analysis (wf) | Detection and collapse of workflow patterns, and the complexity measures reported for them |
| Model classes | line/lang – networks, nodes, job classes, distributions, the layered structures, and the NetworkStruct every solver reads |
| Solvers | line/solvers – MVA, NC, CTMC, fluid, MAM, SSA, LDES, LN, ENV, BA, UQ and AUTO, plus the wrappers that drive JMT, LQNS and qnsolver |
| Interchange formats | line/io – readers and writers for the JSON model interchange, the LQN XML interchange, the JMT formats and PNML |
| Arithmetic backends | line/num – num_traits and the number types |
| Optimization | line/opt – decision variables, objectives, constraints and the solvers that search over a model's parameters |
| Utilities | line/util – the matrix type, error types, linear programming, ODE steppers, root finders, random number generators and the console |
| Method registry | line/reg – the name-to-algorithm table the CLI and the bindings dispatch through |
| Parameter estimation | line/inference – the estimator that fits model parameters to measured metrics, on top of the Inference (infer) algorithms |