Abstract
Context: The software architecture of complex robot systems is usually divided into components. The software is then the configuration and combination of those components and their connectors. Objective: In the Robot Operating System (ROS), this architectural configuration, the ROS node graph, is partly defined in code and created at run-time. The static information about the architecture in the configuration is limited and checking the consistency at development time is not possible. The full software has to be manually executed to check the consistency and debug configuration errors. Method: We propose an approach and a corresponding tool to analyze ROS nodes and their launch files to check consistency and issue warnings if potential problems are detected. The approach uses both static analysis of the launch files as well as dynamic analysis of individual ROS nodes to reconstruct the node graph without executing the whole launch configuration. The nodes are executed in a sandbox to prevent side effects and enable the integration of the analysis tool, e.g., into automated testing systems. Results: The evaluation on internal and publicly available ROS projects shows that we are able to reconstruct the complete architecture of the system if the nodes implement a common lifecycle. Conclusion: The approach enables ROS developers to avoid creating incompatible architectures and check consistency already at development time. The approach can be extended to also monitor architectural consistency at run time.
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have
Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.