Software Development
 

AMYTISS: Parallelized Automated Controller Synthesis for Large-Scale Stochastic Systems

AMYTISS is an advanced software tool developed in C++/OpenCL that provides parallel automated controller synthesis for large-scale discrete-time stochastic control systems which is absolutely crucial in many safety-critical applications. This tool allows to:

  • build finite Markov decision processes (MDPs) as finite abstractions of given original stochastic systems;

  • synthesize automated controllers for the constructed finite MDPs satisfying some high-level specifications (e.g., safety, reachability & reach-avoid).

AMYTISS enjoys high-performance computing (HPC) platforms together with cloud-computing services to mitigate the problem of state-explosion which is always the case in analyzing large-scale stochastic systems. This tool significantly improves performances w.r.t. computation time and memory usage by parallel execution in different heterogeneous computing platforms including CPUs, GPUs and hardware accelerators (HWAs).

Download

AMYTISS is an open-source tool and can be downloaded from its GitHub repository. AMYTISS requires the acceleration ecosystem, pFaces, that can be downloaded from here.

Tool paper

Support

Please report any problems/bugs you face while installing and running AMYTISS to Abolfazl Lavaei or Mahmoud Khaled.

IMPaCT: Interval MDP Parallel Construction for Controller Synthesis of Large-Scale Stochastic Systems

IMPaCT is an advanced open-source software tool for the parallelized verification and synthesis of large-scale stochastic systems using interval Markov chains (IMCs) and interval Markov decision processes (IMDPs), respectively. This tool serves to:

  • construct IMCs and IMDPs as finite abstractions of underlying original complex systems;

  • leverage interval iteration algorithms for formal verification and controller synthesis over infinite-horizon properties with convergence guarantees (in contrast to AMYTISS which exclusively handles finite-horizon specifications using finite MDPs).

IMPaCT is developed in modern ISO C++ and designed using AdaptiveCpp based on SYCL, a higher-level programming model that improves programming productivity on various hardware accelerators, for adaptive parallelism over CPUs and GPUs of all major hardware vendors, including Intel and NVIDIA. IMPaCT stands as the first software tool for the parallel construction of IMCs/IMDPs, empowered with the capability to leverage high-performance computing platforms and cloud computing services. Specifically, parallelism offered by IMPaCT effectively addresses the challenges arising from the state-explosion problem inherent in discretization-based techniques applied to large-scale stochastic systems.

Download

IMPaCT is an open-source tool and can be downloaded from its GitHub repository.

Tool paper

Support

Please report any problems/bugs you face while installing and running IMPaCT to Abolfazl Lavaei or Ben Wooding.

PRoTECT: Parallelized Construction of Safety Barrier Certificates for Nonlinear Polynomial Systems

PRoTECT is an advanced open-source software tool for the parallelized construction of safety barrier certificates (BCs) for nonlinear polynomial systems. This tool employs SOS optimization programs to systematically search for polynomial-type BCs, while aiming to verify safety properties over four classes of dynamical systems: (i) discrete-time stochastic systems, (ii) discrete-time deterministic systems, (iii) continuous-time stochastic systems, and (iv) continuous-time deterministic systems. PRoTECT is implemented in Python as an application programming interface (API), offering users the flexibility to interact either through its user-friendly graphic user interface (GUI) or via function calls from other Python programs.

PRoTECT leverages parallelization across different barrier degrees to efficiently search for BCs, aiming to satisfy the desired safety specifications. It supports normal, uniform, and exponential noise distributions for discrete-time stochastic systems, as well as Brownian motions and Poisson processes for continuous-time stochastic models. In stochastic settings, PRoTECT automatically optimizes the safety confidence level while designing different decision variables, including level sets of BCs. We utilized PRoTECT across various real-world applications, including a room temperature regulation, a jet engine, a DC motor, a Van der Pol oscillator, a two-fluid tank, and an 8-dimensional system to showcase the scalability. This expansion broadens the applicability of formal method techniques to encompass safety-critical applications across different model classes. The results highlight significant improvements in computational efficiency.

Download

PRoTECT is an open-source tool and can be downloaded from its GitHub repository.

Tool paper

Support

Please report any problems/bugs you face while installing and running PRoTECT to Abolfazl Lavaei or Ben Wooding.