Robot Operating System 2 (ROS 2) has become the de facto standard middleware for developing robotic applications. The execution of ROS 2 applications heavily relies on callback functions, which execute concurrently within a ROS 2 node. The concurrency of these callbacks significantly impacts application behavior, yet its thorough analysis remains challenging due to the complex interaction of multiple system components. To address the need for an exhaustive analysis of ROS 2 callback concurrency behavior, this paper presents a novel and practical approach for modeling and verification using the UPPAAL model checker. We introduce a set of callback concurrency models, incorporating key elements such as callbacks, callback groups, threads, and executors, alongside model checking queries. Furthermore, we present a tool that automates the generation of UPPAAL model code from high-level specifications, offering a streamlined solution for practitioners. To demonstrate the validity and effectiveness of our approach, we model three representative cases of callback concurrency configurations in ROS 2 and verify four notable concurrency behaviors. Our results accurately capture callback concurrency behavior compared to the execution logs of real ROS 2 applications, making the proposed models and queries reusable and extendible for analyzing ROS 2. The verification reports on recent ROS 2 versions also reveal issues such as callback starvation and unfairly overloaded threads, providing valuable insights for developers and practitioners working with ROS 2 in the industry.
Keyword
callback concurrency, model checking, Modeling, ROS2, UPPAAL, verification
KSP Keywords
Application behavior, Concurrency Models, De facto standard, Model checker, Modeling and verification, Practical approach, Robot operating system, model checking, need for, robotic applications, system components
This work is distributed under the term of Creative Commons License (CCL)
(CC BY NC ND)
Copyright Policy
ETRI KSP Copyright Policy
The materials provided on this website are subject to copyrights owned by ETRI and protected by the Copyright Act. Any reproduction, modification, or distribution, in whole or in part, requires the prior explicit approval of ETRI. However, under Article 24.2 of the Copyright Act, the materials may be freely used provided the user complies with the following terms:
The materials to be used must have attached a Korea Open Government License (KOGL) Type 4 symbol, which is similar to CC-BY-NC-ND (Creative Commons Attribution Non-Commercial No Derivatives License). Users are free to use the materials only for non-commercial purposes, provided that original works are properly cited and that no alterations, modifications, or changes to such works is made. This website may contain materials for which ETRI does not hold full copyright or for which ETRI shares copyright in conjunction with other third parties. Without explicit permission, any use of such materials without KOGL indication is strictly prohibited and will constitute an infringement of the copyright of ETRI or of the relevant copyright holders.
J. Kim et. al, "Trends in Lightweight Kernel for Many core Based High-Performance Computing", Electronics and Telecommunications Trends. Vol. 32, No. 4, 2017, KOGL Type 4: Source Indication + Commercial Use Prohibition + Change Prohibition
J. Sim et.al, “the Fourth Industrial Revolution and ICT – IDX Strategy for leading the Fourth Industrial Revolution”, ETRI Insight, 2017, KOGL Type 4: Source Indication + Commercial Use Prohibition + Change Prohibition
If you have any questions or concerns about these terms of use, or if you would like to request permission to use any material on this website, please feel free to contact us
KOGL Type 4:(Source Indication + Commercial Use Prohibition+Change Prohibition)
Contact ETRI, Research Information Service Section
Privacy Policy
ETRI KSP Privacy Policy
ETRI does not collect personal information from external users who access our Knowledge Sharing Platform (KSP). Unathorized automated collection of researcher information from our platform without ETRI's consent is strictly prohibited.
[Researcher Information Disclosure] ETRI publicly shares specific researcher information related to research outcomes, including the researcher's name, department, work email, and work phone number.
※ ETRI does not share employee photographs with external users without the explicit consent of the researcher. If a researcher provides consent, their photograph may be displayed on the KSP.