EzSkiROS: A Case Study on Embedded Robotics DSLs to Catch Bugs Early

Momina Rizwan, Ricardo Caldas, Christoph Reichenbach, Matthias Mayr
{"title":"EzSkiROS: A Case Study on Embedded Robotics DSLs to Catch Bugs Early","authors":"Momina Rizwan, Ricardo Caldas, Christoph Reichenbach, Matthias Mayr","doi":"10.1109/RoSE59155.2023.00014","DOIUrl":null,"url":null,"abstract":"When we develop general-purpose robot software components, we rarely know the full context that they will execute in. This limits our ability to make predictions, including our ability to detect program bugs early. Since running a robot is an expensive task, finding errors at runtime can prolong the debugging loop or even cause safety hazards. In this paper, we propose an approach to help developers find bugs early with minimal additional effort by using embedded Domain-Specific Languages (DSLs) that enforce early checks. We describe DSL design patterns suitable for the robotics domain and demonstrate our approach for DSL embedding in Python, using a case study on an industrial tool SkiROS2, designed for the composition of robot skills. We demonstrate our patterns on the embedded DSL EzSkiROS and show that our approach is effective in performing safety checks while deploying code on the robot, much earlier than at runtime. An initial study with SkiROS2 developers show that our DSL-based approach is useful for early bug detection and improving the maintainability of robot code.","PeriodicalId":332212,"journal":{"name":"2023 IEEE/ACM 5th International Workshop on Robotics Software Engineering (RoSE)","volume":"5 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2023-05-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"1","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2023 IEEE/ACM 5th International Workshop on Robotics Software Engineering (RoSE)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/RoSE59155.2023.00014","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 1

Abstract

When we develop general-purpose robot software components, we rarely know the full context that they will execute in. This limits our ability to make predictions, including our ability to detect program bugs early. Since running a robot is an expensive task, finding errors at runtime can prolong the debugging loop or even cause safety hazards. In this paper, we propose an approach to help developers find bugs early with minimal additional effort by using embedded Domain-Specific Languages (DSLs) that enforce early checks. We describe DSL design patterns suitable for the robotics domain and demonstrate our approach for DSL embedding in Python, using a case study on an industrial tool SkiROS2, designed for the composition of robot skills. We demonstrate our patterns on the embedded DSL EzSkiROS and show that our approach is effective in performing safety checks while deploying code on the robot, much earlier than at runtime. An initial study with SkiROS2 developers show that our DSL-based approach is useful for early bug detection and improving the maintainability of robot code.
EzSkiROS:嵌入式机器人dsl早期发现bug的案例研究
当我们开发通用机器人软件组件时,我们很少知道它们将在其中执行的完整上下文。这限制了我们做出预测的能力,包括我们早期发现程序错误的能力。由于运行机器人是一项昂贵的任务,在运行时发现错误可能会延长调试循环,甚至造成安全隐患。在本文中,我们提出了一种方法,通过使用嵌入式领域特定语言(dsl)来强制进行早期检查,从而帮助开发人员以最小的额外努力及早发现bug。我们描述了适合机器人领域的DSL设计模式,并演示了我们在Python中嵌入DSL的方法,使用了针对机器人技能组合而设计的工业工具SkiROS2的案例研究。我们在嵌入式DSL EzSkiROS上演示了我们的模式,并表明我们的方法在机器人上部署代码时执行安全检查是有效的,比运行时要早得多。与SkiROS2开发人员的初步研究表明,我们基于dsl的方法对于早期错误检测和提高机器人代码的可维护性非常有用。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 求助全文
来源期刊
自引率
0.00%
发文量
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术官方微信