Large-scale stochastic systems have recently received significant attentions due to their broad applications in various safety-critical systems such as traffic networks and self-driving cars. In this poster, we describe the software tool AMYTISS, implemented in C++/OpenCL, for designing correct-by-construction controllers for large-scale discrete-time stochastic systems. This tool is employed to (i) build finite Markov decision processes (MDPs) as finite abstractions of given original systems, and (ii) synthesize controllers for the constructed finite MDPs satisfying bounded-time safety, reachability, and reach-avoid specifications. In AMYTISS, scalable parallel algorithms are designed such that they support the parallel execution within CPUs, GPUs and hardware accelerators (HWAs). Unlike all existing tools for stochastic systems, AMYTISS can utilize high-performance computing (HPC) platforms and cloud-computing services to mitigate the effects of the state-explosion problem, which is always present in analyzing large-scale stochastic systems. We benchmark AMYTISS against the most recent tools in the literature using several physical case studies including robot examples, room temperature and road traffic networks. We also apply our algorithms to a 3-dimensional autonomous vehicle and a 7-dimensional nonlinear model of a BMW 320i car by synthesizing autonomous parking controllers. Related works. There exist a limited number of software tools on the verification and synthesis of stochastic systems with different classes of models. SReachTools [1] performs the stochastic reachability analysis for linear, potentially time-varying, discrete-time stochastic systems. FAUST2 [2] generates formal abstractions for continuous-space discrete-time stochastic processes, and performs the verification and synthesis for safety and reachability specifications. However, FAUST2 is originally implemented in MATLAB and handles finite-horizon specifications. StocHy [3] deals with a class of discrete-time stochastic hybrid systems, constructs finite abstractions, and performs the verification and synthesis for both finite- and infinite-horizon safety and reachability specifications. AMYTISS differs from FAUST2 and StocHy in two main directions. First, AMYTISS implements novel parallel algorithms and data structures targeting HPC platforms to reduce the undesirable effects of the state-explosion problem. Accordingly, it is able to perform the parallel execution in different heterogeneous computing platforms including CPUs, GPUs and hardware accelerators (HWAs). Whereas, FAUST2 and StocHy can only run serially in one CPU, and consequently, they are limited to small systems. Additionally, AMYTISS can handle the abstraction construction and controller synthesis for two and a halfplayer games (e.g., stochastic systems with bounded disturbances), whereas FAUST2 and StocHy only handle one and a halfplayer games (disturbance-free systems). Unlike all existing tools, AMYTISS offers highly scalable, distributed execution of parallel algorithms utilizing all available processing elements (PEs) in any heterogeneous computing platform. To the best of our knowledge, AMYTISS is the only tool of its kind for continuous-space stochastic systems that is able to utilize simultaneously all types of compute units (CUs). A comparison between AMYTISS, FAUST2 and StocHy based on their native features is provide in Table 1. Main Contribution. AMYTISS is an open-source and self-contained tool and requires only a modern C++ compiler. It supports three major operating systems: Windows, Linux and Mac OS. The source of AMYTISS and detailed instructions on its building and running can be found in: https://github.com/mkhaled87/pFaces-AMYTISS The main merits of this work are: (1) We propose a novel data-parallel algorithm for constructing finite MDPs from discrete-time stochastic systems and storing them in efficient distributed data containers. (2) We propose parallel algorithms for synthesizing discrete controllers using the constructed MDPs to satisfy safety, reachability, or reach-avoid specifications. More specifically, we introduce novel parallel algorithms for the iterative computation of Bellman equation in the standard dynamic programming [4]. (3) Unlike the existing tools in the literature, AMYTISS accepts bounded disturbances and natively supports both additive and multiplicative noises with different distributions including normal, uniform, exponential, and beta.
[1]
Alessandro Abate,et al.
StocHy: automated verification and synthesis of stochastic processes
,
2019,
ArXiv.
[2]
Majid Zamani,et al.
From Dissipativity Theory to Compositional Construction of Finite Markov Decision Processes
,
2017,
HSCC.
[3]
E. Todorov,et al.
Estimation and control of systems with multiplicative noise via linear matrix inequalities
,
2005,
Proceedings of the 2005, American Control Conference, 2005..
[4]
Alessandro Abate,et al.
FAUST 2 : Formal Abstractions of Uncountable-STate STochastic Processes
,
2014,
TACAS.
[5]
Meeko M. K. Oishi,et al.
SReachTools: a MATLAB stochastic reachability toolbox
,
2019,
HSCC.
[6]
S. Esmaeil Zadeh Soudjani,et al.
Formal Abstractions for Automated Verification and Synthesis of Stochastic Systems
,
2014
.