Abstract
The Robot Operating System (ROS) is the de-facto standard for robotic software. If on one hand ROS is helping roboticists, e.g., by providing a standardized communication platform, on the other hand ROS-based systems are getting larger and more complex and could benefit from good software architecture practices. This paper presents an observational study aimed at (i) unveiling the state-ofthe- practice for architecting ROS-based systems and (ii) providing guidance to roboticists about how to properly architect ROS-based systems. To achieve these goals, we (i) build a dataset of 335 GitHub repositories containing real open-source ROS-based systems, (ii) mine the repositories for extracting the state of the practice about how roboticists are architecting them, and (iii) synthesize a catalog of 49 evidence-based guidelines for architecting ROS-based systems. The guidelines have been validated by 77 roboticists working on real-world open-source ROS-based systems.
| Original language | English |
|---|---|
| Title of host publication | ICSE-SEIP 2020 |
| Subtitle of host publication | Proceedings of the ACM/IEEE 42nd International Conference on Software Engineering |
| Publisher | IEEE Computer Society |
| Pages | 31-40 |
| Number of pages | 10 |
| ISBN (Electronic) | 9781450371230 |
| DOIs | |
| Publication status | Published - 2020 |
| Event | 42nd ACM/IEEE International Conference on Software Engineering: Software Engineering in Practice, ICSE-SEIP 2020 - Virtual, Online, Korea, Republic of Duration: 27 Jun 2020 → 19 Jul 2020 |
Publication series
| Name | Proceedings - International Conference on Software Engineering |
|---|---|
| ISSN (Print) | 0270-5257 |
Conference
| Conference | 42nd ACM/IEEE International Conference on Software Engineering: Software Engineering in Practice, ICSE-SEIP 2020 |
|---|---|
| Country/Territory | Korea, Republic of |
| City | Virtual, Online |
| Period | 27/06/20 → 19/07/20 |
Funding
This research is partially supported by the Dutch Research Council (NWO) through the OCENW.XS2.038 grant. This material is based upon work funded and supported by the Department of Defense under Contract No. FA8702-15-D-0002 with Carnegie Mellon University for the operation of the Software Engineering Institute, a federally funded research and development center (DM19-0986), and on research sponsored by AFRL and DARPA under agreement nr. FA8750-16-2-0042. The U.S. Government is authorized to reproduce and distribute reprints for Governmental purposes notwithstanding any copyright notation thereon. The views and conclusions contained herein are those of the authors and should not be interpreted as necessarily representing the official policies or endorsements, either expressed or implied, of the AFRL, DARPA or the U.S. Government. Thanks to Jarrett Holtz and Selva Samuel for their comments on parts of the paper.
| Funders | Funder number |
|---|---|
| Dutch Research Council | |
| U.S. Department of Defense | FA8702-15-D-0002 |
| Defense Advanced Research Projects Agency | FA8750-16-2-0042 |
| Air Force Research Laboratory | |
| Carnegie Mellon University | DM19-0986 |
| Nederlandse Organisatie voor Wetenschappelijk Onderzoek | OCENW.XS2.038 |
UN SDGs
This output contributes to the following UN Sustainable Development Goals (SDGs)
-
SDG 17 Partnerships for the Goals
Fingerprint
Dive into the research topics of 'How do you architect your robots? State of the practice and guidelines for ros-based systems'. Together they form a unique fingerprint.Cite this
- APA
- Author
- BIBTEX
- Harvard
- Standard
- RIS
- Vancouver