Runtime verification (RV) has the potential to enable the safe operation of safety-critical systems that are too complex to formally verify, such as Robot Operating System 2 (ROS2) applications. Writing correct monitors can itself be complex, and errors in the monitoring subsystem threaten the mission as a whole. This paper provides an overview of a formal approach to generating runtime monitors for autonomous robots from requirements written in a structured natural language. Our approach integrates the Formal Requirement Elicitation Tool (FRET) with Copilot, a runtime verification framework, through the Ogma integration tool. FRET is used to specify requirements with unambiguous semantics, which are then automatically translated into temporal logic formulae. Ogma generates monitor specifications from the FRET output, which are compiled into hard-real time C99. To facilitate integration of the monitors in ROS2, we have extended Ogma to generate ROS2 packages defining monitoring nodes, which run the monitors when new data becomes available, and publish the results of any violations. The goal of our approach is to treat the generated ROS2 packages as black boxes and integrate them into larger ROS2 systems with minimal effort.
翻译:运行时校验(RV) 有可能使过于复杂的安全临界系统(如机器人操作系统2 (ROS2) 应用程序等)能够安全运行,这些系统过于复杂,无法正式核实。 写入正确的显示器本身可能很复杂, 监测子子系统中的错误会对整个任务构成威胁。 本文概述了从结构化自然语言的要求中为自主机器人生成运行时显示器的正式方法。 我们的方法通过Ogma 集成工具将正式需求显示器(FRET)与运行时核查框架(Coit)整合在一起。 FRET用清晰的语义来说明要求,然后自动转换成时间逻辑公式。 Ogma 生成FRET 输出的显示器规格, 并编成硬实时 C99 。 为了便于将监测器纳入 ROS2 中, 我们扩展了Ogma 以生成 ROS2 软件包来定义监测节点, 在获得新数据时将监测器运行, 并公布任何违规的结果。 我们的方法的目标是将生成的ROS2 包作为黑箱处理, 并尽量将其纳入更大的 ROS2 系统 。