FAUST  2 : Formal Abstractions of Uncountable-STate STochastic Processes

FAUST is a software tool that generates formal abstractions of (possibly non-deterministic) discrete-time Markov processes (dtMP) defined over uncountable (continuous) state spaces. A dtMP model (Sec. 1) is specified in MATLAB and abstracted as a finite-state Markov chain or Markov decision processes. The abstraction procedure (Sec. 2) runs in MATLAB and employs parallel computations and fast manipulations based on vector calculus. The abstract model is formally put in relationship with the concrete dtMP via a user-defined maximum threshold on the approximation error introduced by the abstraction procedure. FAUST allows exporting the abstract model to well-known probabilistic model checkers, such as PRISM or MRMC (Sec. 4). Alternatively, it can handle internally the computation of PCTL properties (e.g. safety or reach-avoid) over the abstract model, and refine the outcomes over the concrete dtMP via a quantified error that depends on the abstraction procedure and the given formula (Sec. 3). The toolbox is available at http://sourceforge.net/projects/faust2/ 1 Models: discrete-time Markov processes We consider a discrete-time Markov process (dtMP) s(k), k ∈ N ∪ {0} defined over a general state space, such as a finite-dimensional Euclidean domain [1] or a hybrid state space [2]. The model is denoted by the pair S = (S, Ts). S is a continuous (uncountable) but bounded state space, e.g. S ⊂ R, n < ∞. We denote by B(S) the associated sigma algebra and refer the reader to [2,3] for details on measurability and topological considerations. The conditional stochastic kernel Ts : B(S)×S → [0, 1] assigns to each point s ∈ S a probability measure Ts(·|s), so that for any set A ∈ B(S), k ∈ N∪{0}, P(s(k+1) ∈ A|s(k) = s) = ∫ A Ts(dx|s). (Please refer to code or case study for a modelling example.) Implementation: The user interaction with FAUST is enhanced by a Graphical User Interface. A dtMP model is fed into FAUST as follows. Select the Formula free option in the box Problem selection 1 in Figure 1, and enter the bounds on the state space S as a n × 2 matrix in the prompt Domain in box 8 . Alternatively if the user presses the button Select 8 , a pop-up window prompts the user to enter the lower and upper values of the box-shaped ar X iv :1 40 3. 32 86 v1 [ cs .S Y ] 1 3 M ar 2 01 4 bounds of the state space. The transition kernel Ts can be specified by the user (select User-defined 2 ) in an m-file, entered in the text-box Name of kernel function, or loaded by pressing the button Search for file 7 . Please open the files ./Templates/SymbolicKernel.m for a template and ExampleKernel.m for an instance of kernel Ts. As a special case, the class of affine dynamical systems with additive Gaussian noise is described by the difference equation s(k + 1) = As(k) + B + η(k), where η(·) ∼ N (0, Sigma). (Refer to the Case Study on how to express the difference equation as a stochastic kernel.) For this common instance, the user can select the option Linear Gaussian model in the box Kernel distribution 2 , and input properly-sized matrices A,B,Sigma in the MATLAB workspace. FAUST also handles Gaussian dynamical models s(k + 1) = f(s(k)) + g(s(k))η(k) with nonlinear drift and variance: select the bottom option in box 2 and enter the symbolic function [f g] via box 7 . u t