🤖 AI Summary
This work proposes a Python-driven workflow built upon the Storm model checker to address the challenges of efficient probabilistic model checking and strategy synthesis for systems with uncertainty, such as Markov decision processes (MDPs). The approach seamlessly integrates high-performance verification engines with the rich Python ecosystem, supporting state-of-the-art uncertain models including standard MDPs, interval MDPs, and partially observable MDPs (POMDPs). It enables an end-to-end pipeline encompassing modeling, property verification, and policy extraction. By bridging formal verification tools with flexible scripting capabilities, the framework significantly enhances the usability, scalability, and deployment adaptability of probabilistic model checking, facilitating rapid customization and integration of novel algorithms in complex real-world applications.
📝 Abstract
This tutorial paper presents a hands-on perspective on probabilistic model checking with the Storm model checker. Storm is a decade-old model checker that excels in performance and a rich Python-based ecosystem, which makes it easy to integrate in various workflows. This tutorial focuses on Markov decision processes (MDP), which are popular in a variety of fields. It demonstrates the basic workflow, from Python-based modeling, model checking with a variety of properties, to the extraction of policies. Further, it showcases the support for recent topics that focus on different types of uncertainty, such as interval MDP and POMDP, and the ability to quickly implement simple algorithms on top of existing data structures.