Abstract
This paper proposes a pattern-based modeling and Uppaal-based verification of latencies and buffer overflow in distributed robotic systems that use ROS 2. We apply pattern-based modeling to simplify the construction of formal models for ROS 2 systems. Specifically, we propose Timed Automata templates for modeling callbacks in Uppaal, including all versions of the single-threaded executor in ROS 2. Furthermore, we demonstrate the differences in callback scheduling and potential errors in various versions of ROS 2 through experiments and model checking. Our formal models of ROS 2 systems are validated in experiments, as the behavior of ROS 2 presented in the experiments is also exposed by the execution traces of our formal models. Moreover, model checking can reveal potential errors that are missed in the experiments. The paper demonstrates the application of pattern-based modeling and verification in distributed robotic systems, showcasing its potential in ensuring system correctness and uncovering potential errors.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
Notes
- 1.
The complete model is published: https://sites.google.com/view/pbvros2nodes.
References
Albonico, M., Dordevic, M., Hamer, E., Malavolta, I.: Software engineering research on the robot operating system: a systematic mapping study. J. Syst. Softw. 197(C) (2023). https://doi.org/10.1016/j.jss.2022.111574
Alur, R., Dill, D.L.: A theory of timed automata. Theoret. Comput. Sci. 126, 183–235 (1994)
Anand, A., Knepper, R.: ROSCoq: robots powered by constructive reals. In: Urban, C., Zhang, X. (eds.) ITP 2015. LNCS, vol. 9236, pp. 34–50. Springer, Cham (2015). https://doi.org/10.1007/978-3-319-22102-1_3
Baheti, R., Gill, H.: Cyber-physical systems. Impact Control Technol. 12(1), 161–166 (2011)
Blaß, T., Casini, D., Bozhko, S., Brandenburg, B.B.: A ros 2 response-time analysis exploiting starvation freedom and execution-time variance. In: IEEE Real-Time Systems Symposium, pp. 41–53. IEEE (2021)
Carvalho, R., Cunha, A., Macedo, N., Santos, A.: Verification of system-wide safety properties of ROS applications. In: 2020 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS) (2020)
Casini, D., Blaß, T., Lütkebohle, I., Brandenburg, B.: Response-time analysis of ros 2 processing chains under reservation-based scheduling. In: 31st Euromicro Conference on Real-Time Systems, pp. 1–23 (2019)
Halder, R., Proença, J., Macedo, N., Santos, A.: Formal verification of ROS-based robotic applications using timed-automata. In: 2017 IEEE/ACM 5th International FME Workshop on Formal Methods in Software Engineering (FormaliSE), pp. 44–50 (2017)
Hendriks, M., et al.: Uppaal 4.0. In: Third International Conference on the Quantitative Evaluation of Systems - (QEST 2006) (2006)
OpenRobotics: Ros : Distributions (2023). http://wiki.ros.org/Distributions
OpenRobotics: Ros 2: Distributions (2023). https://docs.ros.org/en/humble/Releases
OpenRobotics: Ros 2: Documentation (2023). https://docs.ros.org/en/humble
Quigley, M., et al.: Ros: an open-source robot operating system. In: ICRA Workshop on Open Source Software, vol. 3, p. 5. Kobe, Japan (2009)
Rajkumar, R., Lee, I., Sha, L., Stankovic, J.: Cyber-physical systems: the next computing revolution. In: Proceedings of the 47th Design Automation Conference, pp. 731–736 (2010)
Tang, Y., et al.: Response time analysis and priority assignment of processing chains on ros2 executors. In: IEEE Real-Time Systems Symposium, pp. 231–243 (2020)
Teper, H., Günzel, M., Ueter, N., von der Brüggen, G., Chen, J.J.: End-to-end timing analysis in ros2. In: 2022 IEEE Real-Time Systems Symposium (RTSS), pp. 53–65 (2022)
Webster, M., et al.: Toward reliable autonomous robotic assistants through formal verification: a case study. IEEE Trans. Hum.-Mach. Syst. 46(2), 186–196 (2016)
Acknowledgments
We acknowledge the support of the Swedish Knowledge Foundation via the profile DPAC - Dependable Platform for Autonomous Systems and Control, grant nr: 20150022, the synergy ACICS - Assured Cloud Platforms for Industrial Cyber-Physical Systems, grant nr. 20190038, and HERO - Heterogeneous systems – software-hardware integration, grant nr: 20180039.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2023 The Author(s), under exclusive license to Springer Nature Switzerland AG
About this paper
Cite this paper
Dust, L., Gu, R., Seceleanu, C., Ekström, M., Mubeen, S. (2023). Pattern-Based Verification of ROS 2 Nodes Using UPPAAL. In: Cimatti, A., Titolo, L. (eds) Formal Methods for Industrial Critical Systems. FMICS 2023. Lecture Notes in Computer Science, vol 14290. Springer, Cham. https://doi.org/10.1007/978-3-031-43681-9_4
Download citation
DOI: https://doi.org/10.1007/978-3-031-43681-9_4
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-031-43680-2
Online ISBN: 978-3-031-43681-9
eBook Packages: Computer ScienceComputer Science (R0)