论文标题
验证模块化机器人系统的组成方法
A Compositional Approach to Verifying Modular Robotic Systems
论文作者
论文摘要
在安全 - 关键工业情况下使用的机器人系统通常依赖于模块化软件架构,并且越来越多地包括自主组件。验证这些模块化机器人系统的行为能够按预期的方式行事,需要可以应对并优选地利用这种固有的模块化的方法。本文介绍了一种组成方法,用于指定使用机器人操作系统(ROS)构建的机器人系统中的节点,其中每个节点均使用一阶逻辑(FOL)假设 - 保证合同指定,将规范与ROS实现联系起来。我们介绍推理规则,以促进这些节点级合同的组成以得出系统级属性。我们还提出了一种新颖的领域特定语言,即ROS合同语言,该语言捕获了节点的FOL规范,并将此合同与其实施联系起来。 RCL合同可以由我们的工具Vanda自动翻译成可执行的监视器;我们用来在运行时验证合同。我们通过规范和验证远程检查核地点的自主漫游者的规范和验证来说明我们的方法,并以较小的示例来说明我们框架的其他有用特征。
Robotic systems used in safety-critical industrial situations often rely on modular software architectures, and increasingly include autonomous components. Verifying that these modular robotic systems behave as expected requires approaches that can cope with, and preferably take advantage of, this inherent modularity. This paper describes a compositional approach to specifying the nodes in robotic systems built using the Robotic Operating System (ROS), where each node is specified using First-Order Logic (FOL) assume-guarantee contracts that link the specification to the ROS implementation. We introduce inference rules that facilitate the composition of these node-level contracts to derive system-level properties. We also present a novel Domain-Specific Language, the ROS Contract Language, which captures a node's FOL specification and links this contract to its implementation. RCL contracts can be automatically translated, by our tool Vanda, into executable monitors; which we use to verify the contracts at runtime. We illustrate our approach through the specification and verification of an autonomous rover engaged in the remote inspection of a nuclear site, and finish with smaller examples that illustrate other useful features of our framework.