LINE is an open-source software package to analyze queueing models via analytical methods or simulation. The package is developed by the QORE lab at Imperial College London and distributed under the BSD-3 license.
The package offers solution algorithms for queueing systems (e.g., M/M/1, M/M/k, M/G/1, ...), queueing networks, layered queueing networks, and queueing models in random environments. Models are solved in LINE either natively or via external solvers, such as JMT, LQNS, MAMSolver, Q-MAM, SMCSolver, and BuTools. Visit the LINE website for more information.
| Version | Folder | Requirements | Maturity | Manual | API Reference |
|---|---|---|---|---|---|
| MATLAB | matlab/ | MATLAB | Stable | Doxygen | |
| Java/Kotlin | jar/ | Java SE 8+ | Beta | Javadoc | |
| Python Wrapper | python-wrapper/ | Python 3.11+, Java SE 8+ | Beta | Sphinx | |
| Python Native | python/ | Python 3.11+ | Beta | Sphinx |
The Python Wrapper interfaces with the Java/Kotlin JAR via JPype, allowing Python users to leverage the faster, more mature, JAR-based solvers while using familiar Python syntax. The JAR implementation offers better performance than the native Python version for large-scale and layered models.
The line-cli.py script provides a standalone command-line interface for solving queueing network models without writing code. It wraps the Java/Kotlin JAR and supports multiple solvers, input formats (Java Modelling Tools's JSIMG format; LQNS's LQNX format), and output formats (table, JSON, CSV). Run
python line-cli.py solve example.jsimg --solver mva
to solve a model,
python line-cli.py list solvers
to see available solvers, or
python line-cli.py info
for command line options and features. The script can also start WebSocket or REST API servers for integration with other tools.
LINE is released under the BSD-3 license.
LINE has been partially funded by the European Commission grants FP7-318484 (MODAClouds), H2020-644869 (DICE), H2020-825040 (RADON), and by the EPSRC grant EP/M009211/1 (OptiMAM).