robotics, formal verification, SMT
Computer Engineering | Robotics
In prior work we developed an approach to formally representing behavior-based multi-robot programs, and the uncertain environments in which they operate, as process networks. We automatically extract a set of probabilistic equations governing program execution in that environment using a static analysis module called VIPARS, and solve these using a Dynamic Bayesian Network (DBN) to establish whether stated performance guarantees hold for the program in that environment. In this paper we address the challenge of expanding the range of performance guarantees that are possible by using an SMT-solver instead of a DBN. We translate flow functions, which are recursive probabilistic expressions that capture program execution and that are generated by VIPARS, to formulas in the SMT-LIBv2 language. We use the dReal SMT-solver with a semi-decision procedure to check the satisfiability of the formulas. The experimental results show that our SMT approach succeeds in establishing performance guarantees for behavior-based robot missions at least as well as the DBN approach, but also for an example not possible with the DBN approach. Although the work presented here used VIPARS static analysis to generate flow functions, the approach we have taken could be used to leverage SMT for any similar probabilistic system.
Tang, Feng; Lyons, Damian M.; and Arkin, Ronald, "Establishing Performance Guarantees for Behavior-Based Robot Missions Using an SMT Solver" (2016). Faculty Publications. 49.