Abstract
Context: The Robot Operating System (ROS) is the de-facto standard for robotics software. However, ROS-based systems are getting larger and more complex and could benefit from good software architecture practices. Goal: We aim at (i) unveiling the state-of-the-practice in terms of targeted quality attributes and architecture documentation in ROS-based systems, and (ii) providing empirically-grounded guidance to roboticists about how to properly architect ROS-based systems. Methods: We designed and conducted an observational study where we (i) built a dataset of 335 GitHub repositories containing real open-source ROS-based systems, and (ii) mined the repositories to extract and synthesize quantitative and qualitative findings about how roboticists are architecting ROS-based systems. Results: First, we extracted an empirically-grounded overview of the state of the practice for architecting and documenting ROS-based systems. Second, we synthesized a catalog of 47 architecting guidelines for ROS-based systems. Third, the extracted guidelines were validated by 119 roboticists working on real-world open-source ROS-based systems. Conclusion: Roboticists can use our architecting guidelines for applying good design principles to develop robots that meet quality requirements, and researchers can use our results as evidence-based indications about how real-world ROS systems are architected today, thus inspiring future research contributions.
| Original language | English |
|---|---|
| Article number | 110969 |
| Pages (from-to) | 1-33 |
| Number of pages | 33 |
| Journal | Journal of Systems and Software |
| Volume | 178 |
| Early online date | 3 May 2021 |
| DOIs | |
| Publication status | Published - Aug 2021 |
Bibliographical note
Funding Information:This research is partially supported by the Dutch Research Council (NWO), The Netherlands through the OCENW.XS2.038 grant. This research is based upon work funded and supported by the Department of Defense, USA under Contract No. FA8702-15-D-0002 with Carnegie Mellon University, USA 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 number 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. We would also like to thank Jarrett Holtz and Selva Samuel for their comments on parts of this paper.
Publisher Copyright:
© 2021 The Author(s)
Copyright:
Copyright 2021 Elsevier B.V., All rights reserved.
Funding
This research is partially supported by the Dutch Research Council (NWO), The Netherlands through the OCENW.XS2.038 grant. This research is based upon work funded and supported by the Department of Defense, USA under Contract No. FA8702-15-D-0002 with Carnegie Mellon University, USA 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 number 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. We would also like to thank Jarrett Holtz and Selva Samuel for their comments on parts of this paper.
UN SDGs
This output contributes to the following UN Sustainable Development Goals (SDGs)
-
SDG 17 Partnerships for the Goals
Keywords
- Robotics
- ROS
- Software architecture
Fingerprint
Dive into the research topics of 'Mining guidelines for architecting robotics software'. Together they form a unique fingerprint.Cite this
- APA
- Author
- BIBTEX
- Harvard
- Standard
- RIS
- Vancouver