Journal of Systems and Software ( IF 3.7 ) Pub Date : 2021-05-03 , DOI: 10.1016/j.jss.2021.110969 Ivano Malavolta , Grace A. Lewis , Bradley Schmerl , Patricia Lago , David Garlan
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.
中文翻译:
架构机器人软件的挖掘准则
语境:
机器人操作系统(ROS)是在对机器人软件事实上的标准。但是,基于ROS的系统正在变得越来越大,越来越复杂,并且可以从良好的软件体系结构实践中受益。
目标:
我们的目标是(i)在基于ROS的系统中针对目标质量属性和体系结构文档公开最新状态,以及(ii)为机器人专家提供基于经验的指导,以指导他们如何正确构建基于ROS的系统。
方法:
我们设计并进行了一项观察性研究,我们(i)构建了335个GitHub存储库的数据集,其中包含基于开源ROS的真实系统,并且(ii)挖掘了存储库以提取和综合有关机器人学家如何构建ROS的定量和定性研究结果基于系统。
结果:
首先,我们提取了基于经验的概述,以架构和记录基于ROS的系统的实践状态。其次,我们综合了47种基于ROS的体系结构设计指南的目录。第三,提取的指南已由119位在现实世界中基于ROS的开源系统上工作的机器人专家验证。
结论:
机器人专家可以使用我们的架构指南来应用良好的设计原理来开发满足质量要求的机器人,研究人员可以将我们的研究结果用作有关当今ROS系统如何架构的基于证据的指示,从而可以激发未来的研究成果。