Litcius/Paper detail

Mining guidelines for architecting robotics software

Ivano Malavolta, Grace A. Lewis, Bradley Schmerl, Patricia Lago, David Garlan

2021Journal of Systems and Software29 citationsDOIOpen Access PDF

Abstract

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. 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. 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. 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. 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.

Topics & Concepts

DocumentationRoboticsRobotSoftware engineeringComputer scienceSoftwareQuality (philosophy)ArchitectureSystems engineeringArtificial intelligenceOpen source softwareEngineering managementEngineeringOperating systemEpistemologyPhilosophyVisual artsArtSoftware Engineering ResearchAdvanced Software Engineering MethodologiesSoftware Engineering Techniques and Practices