This repository provides Pyramis, a Java library for quantitative modeling and analysis of non-Markovian systems specified as an extension of UML statecharts. Specifically:
- Models can be defined as Hierarchical Semi-Markov Processes with parallel regions (HSMPs), a class of statecharts capturing concurrency, hierarchy, stochastic timing, and probabilistic choices. In HSMPs, steps model activities with non-Markovian duration possibly with bounded support. Steps can be simple steps, modeling atomic activities, or composite steps, obtained by composition of concurrent regions. In turn, regions consist of steps, in a recursive composition yielding a hierarchy of HSMPs.
- Models can be evaluated by a compositional technique that performs separate analysis of the Semi-Markov Process (SMP) underlying each region, supporting both evaluation of steady-state behaviour of stationary models and evaluation of transient behaviour of non-stationary models until absorption.
The approach is presented in the paper titled "Compositional Analysis of Hierarchical UML Statecharts" authored by Laura Carnevali, Reinhard German, Francesco Santoni, and Enrico Vicario, currently submitted to the IEEE Transactions on Software Engineering after a minor revision.
A replication artifact is available at https://doi.org/10.5281/zenodo.5574241.
Pyramis is released under the GNU Affero General Public License v3.0.
This repository provides a ready-to-use Maven project that you can easily import into an Eclipse workspace to start working with the Pyramis library (the version 2.0.0-SNAPSHOT
of the Sirio library is included as a Maven dependency). Just follow these steps:
-
Install Java >= 11. For Windows, you can download a package from Oracle; for linux, you can run
apt-get install openjdk-11-jdk
; for macOS, you can runbrew install --cask java
. -
Download Eclipse. The Eclipse IDE for Java Developers package is sufficient.
-
Clone this project. Inside Eclipse:
- Select
File > Import > Maven > Check out Maven Projects from SCM
and clickNext
. - If the
SCM URL
dropbox is grayed out, click onm2e Marketplace
and installm2e-egit
. You will have to restart Eclipse. - As
SCM URL
, type:https://github.com/oris-tool/pyramis.git
and clickNext
and thenFinish
.
- Select