Formalizing the Execution Context of Behavior Trees for Runtime Verification of Deliberative Policies
This addresses the challenge of ensuring reliable robot behaviors in robotic software architectures, though it is incremental as it builds on existing formal methods for runtime verification.
The paper tackled the problem of verifying deliberative robot control components by formalizing the execution context of Behavior Trees, enabling runtime verification to prevent unexpected behaviors, and demonstrated feasibility through experiments in simulations and on a real robot.
In this paper, we enable automated property verification of deliberative components in robot control architectures. We focus on formalizing the execution context of Behavior Trees (BTs) to provide a scalable, yet formally grounded, methodology to enable runtime verification and prevent unexpected robot behaviors. To this end, we consider a message-passing model that accommodates both synchronous and asynchronous composition of parallel components, in which BTs and other components execute and interact according to the communication patterns commonly adopted in robotic software architectures. We introduce a formal property specification language to encode requirements and build runtime monitors. We performed a set of experiments, both on simulations and on the real robot, demonstrating the feasibility of our approach in a realistic application and its integration in a typical robot software architecture. We also provide an OS-level virtualization environment to reproduce the experiments in the simulated scenario.