REST API for GreatSPN (Univ. di Torino). Upstream: github.com/greatspn/SOURCES
134
REST packaging of GreatSPN, the GRaphical Editor and Analyzer for Timed and Stochastic Petri Nets, for use as an external solver of the LINE solver.
All credit for GreatSPN belongs to its authors. This image contributes no method, no algorithm and no result: it only runs the upstream binaries as subprocesses and returns their parsed output as JSON. Upstream project: http://www.di.unito.it/~greatspn/ and https://github.com/greatspn/SOURCES.
docker run -d -p 8080:8080 imperialqore/line-grspn-rest
curl -s http://127.0.0.1:8080/api/v1/health
Interactive API documentation is served at /docs and /redoc.
Any argument other than serve is executed directly, so the image is a strict superset
of a plain CLI container:
docker run --rm -v "$PWD:/data" -w /data imperialqore/line-grspn-rest \
/usr/local/GreatSPN/bin/DSPN-Tool -load mymodel -trg -s
Every route runs DSPN-Tool, GSPNRG or GSPNSIM. The revision that was built is
recorded in /usr/local/GreatSPN/VERSION and served as the version field of every
response.
Base path /api/v1. GET /health, /ready, /info and /citation, plus the solve
routes; see /docs on a running container for the full schema.
The build is self-contained: it starts from fedora:34 and compiles GreatSPN and its
dependencies (Meddly, SPOT, OGDF, lp_solve) from source. Every external input is
pinned, because the upstream recipe clones each dependency at HEAD and therefore
produced a different image every day:
| Input | Pin |
|---|---|
| base image | fedora:34 by digest |
| GreatSPN | 6ac3c56 |
| Meddly | 96c2775 |
| OGDF | 3789445 |
| SPOT | release tarball 2.9.6 |
| lp_solve | release tarball 5.5.2.11 |
The three commits are the ones the retired imperialqore/greatspn image was built
from, recovered from that image's own builder layer, so the pins reproduce it rather
than freeze an arbitrary point.
This image only packages GreatSPN. GreatSPN is not developed here, and no part of the analysis it performs is the work of this packaging. Publications reporting results obtained through this service must cite the references below, and must not cite this image or the packaging repository.
GreatSPN, the GRaphical Editor and Analyzer for Timed and Stochastic Petri Nets, is developed by Elvio Gilberto Amparore, Gianfranco Balbo, Marco Beccuti, Susanna Donatelli and Giuliana Franceschinis, at Universita di Torino (the source-code owner per the upstream README) and Universita del Piemonte Orientale (Franceschinis). Source: https://github.com/greatspn/SOURCES. GreatSPN is licensed under GPL-2.0.
Reference to cite:
E. G. Amparore, G. Balbo, M. Beccuti, S. Donatelli, G. Franceschinis, "30 Years of GreatSPN", in Principles of Performance and Reliability Modeling and Evaluation, pp. 227-254, Springer, 2016. DOI: 10.1007/978-3-319-30599-8_9
Additional references, when these components are used. Neither is reachable through
this service, since every route runs DSPN-Tool, GSPNRG or GSPNSIM and neither component
is present in the base image. They are recorded here, and served under the same heading
by GET /api/v1/citation, for anyone who reaches them another way.
When the RGMEDD decision-diagram model checker is used, cite in addition:
E. G. Amparore, S. Donatelli, G. Ciardo, "Variable order metrics for decision diagrams in system verification", International Journal on Software Tools for Technology Transfer, vol. 22, no. 5, pp. 541-562, Springer, 2019. DOI: 10.1007/s10009-019-00522-6
When starMC is used, cite in addition:
E. G. Amparore, S. Donatelli, F. Galla, "starMC: an automata based CTL* model checker", PeerJ Computer Science, vol. 8, e823, 2022. DOI: 10.7717/peerj-cs.823
Upstream project: http://www.di.unito.it/~greatspn/, https://github.com/greatspn/SOURCES
Packaged for: https://line-solver.sourceforge.net/
Content type
Image
Digest
sha256:9392d3973…
Size
674.1 MB
Last updated
about 2 months ago
docker pull imperialqore/line-grspn-rest