Welcome to Momba’s documentation!¶
Warning
Momba is still in its early stages of development. Please expect things to break. The API is unstable and might change without further notice and deprecation period. Some parts of this documentation are wishful thinking describing features not yet implemented.
Momba is a Python library for working with quantitative models. Momba’s core modeling formalism are networks of interacting stochastic hybrid automata (SHA) as per the JANI specification. Momba aims to be a platform for prototyping and the development of new techniques and algorithms for the analysis of quantitative models. For the time being, Momba does not aim to be a model checker itself. Instead, Momba relies on external tools for model checking via the JANI interaction protocol. In particular, Momba works well with The Modest Toolset and EPMC.
Getting Started¶
Momba requires Python 3.8 or newer. To install Momba from PyPi simply run:
pip install momba
A good way of getting started with Momba is to read this documentation, in particular, the section Momba Models which describes how quantitative models are represented in Momba. Also, check out the examples.
Development¶
Momba uses Poetry for dependency management. Run poetry install
to create a virtual environment in .venv
containing all the dependencies needed for development.
Momba comes with a configuration for Visual Studio Code which requires the virtual environment to be present in .venv
and enables linting and type checking.
Before pushing ensure that poetry run tox
runs without any problems.
This will run the tests and perform type checking as well as linting.
To build this documentation run poetry run sphinx-build docs build/docs
.