Installing and running tempest

This page contains instructions for installing, running and playing around with tempest, a tool that implements the shield synthesis technique described in this paper.

These instructions have been prepared and provided by Stefan Pranger to help you with your projects -- a huge thanks to Stefan. Many thanks also to Bettina Könighofer and Roderick Bloem for helping with providing access to the code, examples and instructions.

The source code for tempest is available here. To see tempest in action, you can use the framework here, that is built on a docker image.

The dockerfile in the framework linked above compiles all the necessary dependencies and builds tempest, its python bindings and combines them with Minigrid, a lightweight python package for RL training. The docker image starts a server to use jupyter notebooks with, which should provide an easy frontend to play around with the tool. The notebooks SlipperyCliff and FaultyActions serve as an introduction into how shields can affect RL.

Here are some slides prepared by Stefan Pranger for the Tempest_in_Action framework.

There is a webpage on tempest, although the following instructions should suffice to get you going for your course projects.

Please find here a zip file containing three install scripts and corresponding dockerfiles. Note that these are intended to be used on Unix machines. On Windows, it is recommended that you use WSL and the provided script run_using_docker.sh. Please find below short explanations of of usage of these scripts:

If you need any help with installation and running, please contact the instructor. Thankfully, Stefan has also agreed to help us out, if needed.