paperbot · PL 论文追踪

全部论文 待读 收藏

P2 ROSpec: A Domain-Specific Language for ROS-Based Robot Software

ROSpec:面向基于 ROS 的机器人软件的领域特定语言
OOPSLA 9(OOPSLA2)2025匹配度 3/10 · 该论文属于领域特定语言与配置/集成验证,和程序分析、形式化验证有间接关联,并涉及工业机器人落地场景;但它不涉及 LLM/Agent、浮点程序分析或贝叶斯程序分析,也不属于 ML 系统/Agentic 程序的静态分析,因此与用户核心研究方向匹配度较低。引用 0 inbox
Paulo Canelas, Bradley Schmerl, Alcides Fonseca, Christopher S. Timperley
crossref: 2026-09-10

AI 速览

一句话:提出面向 ROS 的 DSL ROSpec,用于指定并验证机器人组件的配置与集成,检测误配置。

基于组件的机器人软件框架(如 ROS)让开发者能通过配置与集成现成组件快速搭建系统,但组件往往缺乏关于如何正确配置与集成的文档;即使有文档,其自然语言规范也无法被强制执行,导致误配置并引发不可预测甚至危险的机器人行为。本文提出 ROSpec——一种为 ROS 定制的领域特定语言,用于指定和验证组件配置及其集成。ROSpec 的设计植根于 ROS 领域概念,并以前期关于误配置的实证研究为依据,力图提供易用且表达力强的误配置指定与检测手段。在高层上,ROSpec 验证参数与组件配置的正确性,通过检查通信属性确保组件正确集成,并检查配置是否满足其部署环境的假设与约束。评估方面,作者用一个含 19 个组件的中型仓库机器人进行建模,并在来自机器人问答平台的 182 个误配置问题数据集上手工分析、分类并实现部分组件的规格。

问题
ROS 等基于组件的机器人框架中,组件的正确配置与集成缺乏可强制执行的规范,自然语言文档无法阻止误配置,进而导致不可预测甚至危险的机器人行为。
方法
提出领域特定语言 ROSpec,基于 ROS 领域概念并参考前期误配置实证研究,用以指定并验证参数与组件配置、组件间通信属性以及部署环境的假设与约束。
评估
以一个含 19 个组件的仓库机器人建模展示 ROSpec 的规格化与验证能力,并对来自机器人问答平台的 182 个误配置问题数据集进行手工分析、分类与部分组件规格实现。
原文摘要(Abstract)

Component-based robot software frameworks, such as the Robot Operating System (ROS), allow developers to quickly compose and execute systems by focusing on configuring and integrating reusable, off-the-shelf components. However, these components often lack documentation on how to configure and integrate them correctly. Even when documentation exists, its natural language specifications are not enforced, resulting in misconfigurations that lead to unpredictable and potentially dangerous robot behaviors. In this work, we introduce ROSpec, a ROS-tailored domain-specific language designed to specify and verify component configurations and their integration. ROSpec’s design is grounded in ROS domain concepts and informed by a prior empirical study on misconfigurations, allowing the language to provide a usable and expressive way of specifying and detecting misconfigurations. At a high level, ROSpec verifies the correctness of argument and component configurations, ensures the correct integration of components by checking their communication properties, and checks if configurations respect the assumptions and constraints of their deployment context. We demonstrate ROSpec’s ability to specify and verify components by modeling a medium-sized warehouse robot with 19 components, and by manually analyzing, categorizing, and implementing partial specifications for components from a dataset of 182 misconfiguration questions extracted from a robotics Q&A platform.

链接与引用

DOI 原文 · PDF(开放获取) ·

BibTeX
@article{paperbot3021,
  title = {ROSpec: A Domain-Specific Language for ROS-Based Robot Software},
  author = {Paulo Canelas and Bradley Schmerl and Alcides Fonseca and Christopher S. Timperley},
  journal = {Proceedings of the ACM on Programming Languages},
  volume = {9},
  number = {OOPSLA2},
  year = {2025},
  doi = {10.1145/3763169}
}