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

Research output: Chapter in Book/Report/Conference proceedingPaper in conference proceedingpeer-review

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.
Original languageEnglish
Title of host publication2023 IEEE/ACM 5th International Workshop on Robotics Software Engineering (RoSE)
PublisherIEEE - Institute of Electrical and Electronics Engineers Inc.
Pages61-68
Number of pages8
ISBN (Electronic)979-8-3503-0184-7
ISBN (Print)979-8-3503-0185-4
DOIs
Publication statusPublished - 2023 Jul 26

Subject classification (UKÄ)

  • Software Engineering
  • Robotics

Free keywords

  • Domain Specific Languages
  • Program analysis
  • Robotics middleware
  • Robotics
  • Design Patterns
  • Bug detection
  • Robot Skills

Fingerprint

Dive into the research topics of 'EzSkiROS: A Case Study on Embedded Robotics DSLs to Catch Bugs Early'. Together they form a unique fingerprint.

Cite this