arrow
Return

Mining guidelines for architecting robotics software

delete2021-08-01
delete20
delete
OA
AI
I
Ivano Malavolta *
G
Grace A. Lewis
B
Bradley Schmerl
P
Patricia Lago
D
David Garlan
DOI:10.1016/j.jss.2021.110969delete
deleteOriginal
deleteShare
deleteSave
View PDF
Abstract

Abstract

En 中文
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. (C) 2021 The Author(s). Published by Elsevier Inc.
Keywords:
Software architecture
Robotics
ROS
AI Summary

AI Summary

Key information extracted from the uploaded paper, including a brief overview, abstract, background, key highlights, visual analysis, and future outlook.

Journal

Journal of Systems and Software cover
Journal of Systems and Software
IF:
4.1
Papers:
5.5K
Citations:
8.4K

Organization

V
Vrije Universiteit Amsterdam
Scholars:
4.2W
Papers: 3.7W
Citations: 3.7W
C
Carnegie Mellon University
Scholars:
1.4W
Papers: 1.4W
Citations: 2.7W
S
software engineering institute
Scholars:
74
Papers: 59
Citations: 1
researcher View more organizations
Cited Papers

Cited Papers

The Robot Operating System: Package reuse and community dynamics
err2019-05-01
err48
errOAAI
errEstefo, Pablo; Simmonds, Jocelyn; Robbes, Romain; Fabry, Johan
errShare
errSave
Indurative mastopathy: A benign sclerosing lesion of breast with elastosis which may simulate carcinoma
err1981-02-01
err0
errOAAI
errRobert R. Rickert; Lester Kalisher; Robert V. P. Hutter
errShare
errSave
The Canadian Planetary Emulation Terrain Energy-Aware Rover Navigation Dataset
err2020-03-17
err12
PREAI
errLamarre, Olivier; Limoyo, Oliver; Maric, Filip; Kelly, Jonathan
errShare
errSave
Automotive Architecture Framework: The experience of Volvo Cars
err2017-06-01
err53
PREAI
errPelliccione, Patrizio; Knauss, Eric; Heldal, Rogardt; Agren, S. Magnus; Mallozzi, Piergiuseppe; Alminger, Anders; Borgentun, Daniel
errShare
errSave
An in-depth study of the promises and perils of mining GitHub
err2015-09-05
err175
PREAI
errKalliamvakou, Eirini; Gousios, Georgios; Blincoe, Kelly; Singer, Leif; German, Daniel M.; Damian, Daniela
errShare
errSave
Software Engineering for Robotics
err2009-03-01
err26
PREAI
errBrugali, Davide; Prassler, Erwin
errShare
errSave
Paradigm shift in Green IT - extending the life-times of computers in the public authorities in Germany
err2016-09-01
err0
PREAI
errSiddharth Prakash; Andreas Kohler; Ran Liu; Lutz Stobbe; Marina Proske; Karsten Schischke
errShare
errSave
Safety for mobile robotic systems: A systematic mapping study from a software engineering perspective
err2019-05-01
err36
errOAAI
errBozhinoski, Darko; Di Ruscio, Davide; Malavolta, Ivano; Pelliccione, Patrizio; Crnkovic, Ivica
errShare
errSave
Nursing stereotypes
err1999-07-28
err0
PREAI
errAlan Cunningham
errShare
errSave
researcher View more