Sign inSign up

imperialqore/line-sirio-rest

By imperialqore

Updated about 2 months ago

REST API for the ORIS Tool Sirio library. Upstream: github.com/oris-tool/sirio

Image
0

114

imperialqore/line-sirio-rest repository overview

line-sirio-rest (Docker image)

REST packaging of the ORIS Tool / Sirio library, for use as an external solver of the LINE solver.

All credit for Sirio belongs to its authors. This image contributes no method, no algorithm and no result: it only exposes the upstream library over HTTP. Upstream project: https://www.oris-tool.org/ and https://github.com/oris-tool/sirio.

Sirio analyses stochastic time Petri nets (STPNs), where the state is tokens in places, transitions are enabled by predicates over token counts, and an enabled transition samples a random timer. It computes transient and steady-state probabilities, and instantaneous and cumulative rewards, when the underlying process is a CTMC (by uniformization), a Markov-regenerative process (under enabling restriction, or with many general transitions all reset within a bounded number of firings), a semi-Markov process, or a generalized semi-Markov process. Time Petri nets, where a transition carries only a minimum and maximum timer value, are also supported.

Usage

REST server (default)
docker run --rm -p 8080:8080 imperialqore/line-sirio-rest
curl -s http://127.0.0.1:8080/api/v1/health
curl -X POST http://127.0.0.1:8080/api/v1/solve/steady-state \
     -H 'Content-Type: application/json' -d @model.json
Command line

Any argument other than serve is executed directly, so the image is a superset of a plain CLI container:

docker run --rm -v "$PWD:/data" imperialqore/line-sirio-rest <cli arguments>

API

Base path /api/v1.

MethodPathDescription
GET/healthLiveness probe
GET/readyReadiness probe
GET/infoService and solver information
GET/citationUpstream attribution, see Credits below
POST/solve/steady-stateGSPN steady state
POST/solve/gspn-transientGSPN transient, by uniformization
POST/solve/reg-transientMarkov-regenerative transient
POST/solve/tree-transientStochastic state class tree transient
POST/solve/simulationMonte Carlo simulation

Credits

This image packages the ORIS Tool / Sirio library. All the analysis it performs is Sirio's; the packaging contributes no method, no algorithm and no result. Cite the original developers of Sirio, not this image or the packaging repository.

The citation requested on the ORIS Tool site:

M. Paolieri, M. Biagi, L. Carnevali, E. Vicario, "The ORIS Tool: Quantitative Evaluation of Non-Markovian Systems", IEEE Transactions on Software Engineering, vol. 47, no. 6, pp. 1211-1225, 2021. DOI: 10.1109/TSE.2019.2917202

The same attribution is served at runtime by GET /api/v1/citation and is carried by the OCI labels of the image.

Licence

Sirio is distributed under the GNU Affero General Public License, version 3. The AGPL obligations extend to use over a network: anyone who offers this REST service to users over a network must make the corresponding source available to those users. That is stronger than the licences of the sibling line-*-rest services, and it applies to any modified build of this image.

Packaged for: https://line-solver.sourceforge.net/

Tag summary

Content type

Image

Digest

sha256:70878ee4d

Size

116.8 MB

Last updated

about 2 months ago

docker pull imperialqore/line-sirio-rest