# Use a Virtual Machine (VM)

Table of contents

To reduce the virtualization overhead, it should be considered to use a Docker container instead of a VM.

On this page we provide virtual machine images containing pre-installed versions of Storm.

When you have downloaded an OVA image, you can import it into, for example, VirtualBox. Before the first run, you should review the hardware resources allocated to the VM. E.g., for VirtualBox open Settings → System and adjust the memory size and CPU count under Motherboard and Processor, respectively.

For all VMs on this page, the username and password are both storm

## How to create your own VM

Since the VMs on this page might be outdated, we also provide the steps to create your own VM:

• Download an .iso file for the operating system. In the following, we assume Ubuntu. Other linux-based systems are supported as well, but might need different preparations.
• Set up a virtual machine using the .iso file and a virtualization software such as VirtualBox.

Make sure to assign enough resources to the VM. Since the build process is quite memory-intensive, we recommend to set the memory limit to more than 4 GB.

• Once the operating system inside the VM is ready, open a terminal and (assuming Ubuntu) execute the following command to install the dependencies of Storm:
sudo apt-get install build-essential git cmake libboost-all-dev libcln-dev libgmp-dev libginac-dev automake libglpk-dev libhwloc-dev libz3-dev libxerces-c-dev libeigen3-dev

• We are now ready to download and compile the source code by executing:
git clone https://github.com/moves-rwth/storm.git
cd storm
git checkout stable
mkdir build
cd build
cmake .. -DSTORM_LOAD_QVBS=ON
make binaries
echo "export PATH=\$PATH:$(realpath bin)" >> ~/.bashrc
source ~/.bashrc


To build Storm in a specific version, just replace the line git checkout stable above with git checkout 1.4.1 or any other version. For more information on these steps, see our guide for building Storm from source

The build process takes roughly one hour. After that, you should be able to run

storm --qvbs crowds


which checks an instance of the Crowds protocol.

To check your installation, you may also run:

cd ~/storm/build
make check


If any problems occurr during this process (in particular when using a standard Ubuntu version) please let us know.

## Storm 1.6.3 (2020/12)

A VM running Ubuntu 20.04 and Storm 1.6.3 can be found at . The root password is storm.

Storm is located at /home/storm/storm and the binaries can be found in /home/storm/storm/build/bin. For your convenience, the path containing the binaries is added to the PATH, meaning that you can run the Storm binaries from any location in the terminal. Moreover, the benchmarks from the Quantitative Verification Benchmark Set are included such that you can run, for example,

storm --qvbs crowds


to check an instance of the Crowds protocol.

## Storm 1.4.1 (2019/12)

A VM running Ubuntu 19.10 and Storm 1.4.1 can be found at . The root password is storm.

Storm is located at /home/storm/storm and the binaries can be found in /home/storm/storm/build/bin. For your convenience, the path containing the binaries is added to the PATH, meaning that you can run the Storm binaries from any location in the terminal. Moreover, the benchmarks from the Quantitative Verification Benchmark Set are included such that you can run, for example,

storm --qvbs crowds


to check an instance of the Crowds protocol.

## Storm 0.10 (2017/2)

We provide an outdated VM with pre-installed Storm 0.10 for historical reasons. The VM includes dependencies and other useful reference tools (like PRISM and IMCA and the PRISM benchmark suite) on a Linux host system. You can download the virtual machine here. The root password is storm.

The virtual machine is hosted at sciebo, an academic cloud hoster.

A README file is provided on the desktop. In the virtual machine, Storm is located at /home/storm/storm and the binaries can be found in /home/storm/storm/build/bin. For your convenience, an environment variable with the name STORM_DIR is set to the path containing the binaries and this directory is added to the PATH, meaning that you can run the Storm binaries from any location in the terminal and that

$cd$STORM_DIR


will take you to the folders containing Storm’s binaries. For more information on how to run Storm, please read our guide.

### Changelog

The VM has been updated to include bug fixes, new versions, and so on. When the image was most recently updated and what changes were made to the VM can be taken from the following changelog.