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.