Skip to main content

Lund University Publications

LUND UNIVERSITY LIBRARIES

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

Rizwan, Momina LU orcid ; Caldas, Ricardo ; Reichenbach, Christoph LU orcid and Mayr, Matthias LU orcid (2023) p.61-68
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... (More)
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. (Less)
Please use this url to cite or link to this publication:
author
; ; and
organization
publishing date
type
Chapter in Book/Report/Conference proceeding
publication status
published
subject
keywords
Domain Specific Languages, Program analysis, Robotics middleware, Robotics, Design Patterns, Bug detection, Robot Skills
host publication
2023 IEEE/ACM 5th International Workshop on Robotics Software Engineering (RoSE)
pages
8 pages
publisher
IEEE - Institute of Electrical and Electronics Engineers Inc.
external identifiers
  • scopus:85167816310
ISBN
979-8-3503-0185-4
979-8-3503-0184-7
DOI
10.1109/RoSE59155.2023.00014
project
RobotLab LTH
Efficient Learning of Robot Skills
Robotics and Semantic Systems
WASP Professor Package: Cognitive Robots for Manufacturing
WASP startup package Christoph Reichenbach
Domain-Specific Robot Programming for Reliability, Safety, and Availability
language
English
LU publication?
yes
id
8a682a4e-d789-4636-ad1f-917a7e3811d3
date added to LUP
2023-08-29 14:49:59
date last changed
2024-04-20 02:08:39
@inproceedings{8a682a4e-d789-4636-ad1f-917a7e3811d3,
  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.}},
  author       = {{Rizwan, Momina and Caldas, Ricardo and Reichenbach, Christoph and Mayr, Matthias}},
  booktitle    = {{2023 IEEE/ACM 5th International Workshop on Robotics Software Engineering (RoSE)}},
  isbn         = {{979-8-3503-0185-4}},
  keywords     = {{Domain Specific Languages; Program analysis; Robotics middleware; Robotics; Design Patterns; Bug detection; Robot Skills}},
  language     = {{eng}},
  month        = {{07}},
  pages        = {{61--68}},
  publisher    = {{IEEE - Institute of Electrical and Electronics Engineers Inc.}},
  title        = {{EzSkiROS: A Case Study on Embedded Robotics DSLs to Catch Bugs Early}},
  url          = {{http://dx.doi.org/10.1109/RoSE59155.2023.00014}},
  doi          = {{10.1109/RoSE59155.2023.00014}},
  year         = {{2023}},
}