Skip to main navigation Skip to search Skip to main content

Mining guidelines for architecting robotics software

Research output: Contribution to JournalArticleAcademicpeer-review

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 languageEnglish
Article number110969
Pages (from-to)1-33
Number of pages33
JournalJournal of Systems and Software
Volume178
Early online date3 May 2021
DOIs
Publication statusPublished - 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)

  1. SDG 17 - Partnerships for the Goals
    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