IMPaCT¶
Interval MDP Parallel Construction for Controller Synthesis of Large-Scale Stochastic Systems
IMPaCT is an open-source C++ tool for parallelized verification and controller synthesis of large-scale stochastic systems using interval Markov decision processes (IMDPs). Built on AdaptiveCpp (SYCL) for adaptive parallelism across CPUs and GPUs from all hardware vendors.
SYCL-based parallelism via AdaptiveCpp. Runs on CPUs and GPUs from Intel, NVIDIA, and others.
Interval iteration algorithms with convergence guarantees for infinite-horizon specifications.
Safety, reachability, and reach-while-avoid properties over finite and infinite time horizons.
Tested from 2D to 14D systems. Parallel construction tackles the state-explosion problem.
Getting Started¶
Install IMPaCT from source on Linux or macOS, or use Docker.
Walk through a complete example: define a system, abstract, and synthesize a controller.
The easiest way to get started — run IMPaCT in a container.
Configure GPU acceleration for NVIDIA, Intel, and other hardware.
Example Case Studies¶
Case Study |
Dimensions |
Specification |
Description |
|---|---|---|---|
2D Robot |
2 |
Reachability |
Mobile robot reaching a target region |
2D Robot (Disturbed) |
2 |
Reachability |
Robot with additive disturbance |
2D Robot Reach-Avoid |
2 |
Reach-Avoid |
Reach target while avoiding obstacles |
3D Autonomous Vehicle |
3 |
Reach-Avoid |
Vehicle navigation with obstacle avoidance |
3D Room Temperature |
3 |
Safety |
Temperature regulation over finite horizon |
4D Building Automation |
4 |
Safety |
Multi-room temperature control |
7D Building Automation |
7 |
Safety (Verification) |
Large-scale IMC verification |
14D Stochastic System |
14 |
Safety |
High-dimensional scalability demonstration |
API Modules¶
Base class for state/input/disturbance spaces, dynamics, and noise distributions.
Interval MDP class for abstraction, synthesis, and controller save/load.
Sorted synthesis algorithms optimized for GPU execution via SYCL.
HDF5 save/load functions for matrices, vectors, and controllers.