Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 8 additions & 1 deletion guidelines/guideline-pe2.html
Original file line number Diff line number Diff line change
Expand Up @@ -234,7 +234,11 @@ <h4 style="text-indent: 25px;">Models of the system itself</h4>
<h4 style="text-indent: 25px;">Models of the environment</h4>

<p>
The test setup described in Ernits et al. [9] uses UPPAAL Tron [10] as the primary test execution engine. First, the QA team should model, in UPPAAL, (i) an implementation model of the system under test and (ii) a topological map of the environment. Second, the QA team integrates an adapter, provided by Ernits et al. [9], which is responsible for translating messages between the environment model and the appropriate topics in ROS, acting as the interface between the ROS-based system under test and the UPPAAL Tron model of the environment. Finally, the interaction between the implementation model (i) and the environment model (ii) is monitored during system execution and afterwards, the equivalence between the measured outcomes from the running system and the outcomes from the model is checked. The operating environment, however, is typically prone to uncertainty which makes modeling the environment a costly activity.
The test setup described in Ernits et al. [9] uses UPPAAL Tron [10] as the primary test execution engine. First, the QA team should model, in UPPAAL, (i) an implementation model of the system under test and (ii) a topological map of the environment. Second, the QA team integrates an adapter, provided by Ernits et al. [9], which is responsible for translating messages between the environment model and the appropriate topics in ROS, acting as the interface between the ROS-based system under test and the UPPAAL Tron model of the environment. Finally, the interaction between the implementation model (i) and the environment model (ii) is monitored during system execution and afterwards, the equivalence between the measured outcomes from the running system and the outcomes from the model is checked. The operating environment, however, is typically prone to uncertainty which makes modeling the environment a costly activity.
</p>

<p>
Building on the use of UPPAAL for ROS verification, Dust et al. [13, 14] propose a pattern-based approach with reusable timed automata templates that model the execution behavior of ROS 2 nodes, including callback scheduling, buffer overflow, and end-to-end latency in processing chains. The approach supports both single-threaded and multi-threaded executors and has been validated against real ROS 2 execution traces. A model-based methodology further automates the process [15]: system parameters are extracted from ROS 2 execution traces generated by the ROS2_tracing tool, then transformed through Eclipse Ecore metamodels into initialized UPPAAL formal model templates via model-to-model and model-to-text transformations, reducing the manual effort and domain expertise previously required for formal model construction.
</p>

<h4 style="text-indent: 25px;">Metamodels</h4>
Expand Down Expand Up @@ -269,6 +273,9 @@ <h4 style="text-indent: 25px;">Metamodels</h4>
<p>[10] K. G. Larsen, M. Mikucionis et al., “Testing real-time embedded software using uppaal-tron: an industrial case study,” in Proceedings of the 5th ACM international conference on Embedded software, 2005, pp. 299–306. </p>
<p>[11] N. Hammoudeh Garcia, M. L¨udtke et al., “Bootstrapping mde development from ros manual code - part 1: Metamodeling,” in 2019 Third IEEE International Conference on Robotic Computing (IRC), 2019, pp. 329–336. </p>
<p>[12] N. Hammoudeh Garc´ıa, H. Deshpande et al., “Bootstrapping mde development from ros manual code: Part 2—model generation and leveraging models at runtime,” Software and Systems Modeling, vol. 20, no. 6, pp. 2047–2070, 2021. </p>
<p>[13] L. Dust, R. Gu, C. Seceleanu, M. Ekström, and S. Mubeen, “Pattern-Based Verification of ROS 2 Nodes Using UPPAAL,” in Formal Methods for Industrial Critical Systems (FMICS), Lecture Notes in Computer Science, vol. 14290, Springer, 2023, pp. 57–75. </p>
<p>[14] L. Dust, R. Gu, C. Seceleanu, M. Ekström, and S. Mubeen, “Pattern-based verification of ROS 2 applications using UPPAAL,” International Journal on Software Tools for Technology Transfer (STTT), vol. 27, pp. 313–332, 2025. </p>
<p>[15] L. Dust, R. Gu, S. Mubeen, M. Ekström, and C. Seceleanu, “A model-based approach to automation of formal verification of ROS 2-based systems,” Frontiers in Robotics and AI, vol. 12, 2025. </p>

<blockquote>

Expand Down
2 changes: 1 addition & 1 deletion index.html
Original file line number Diff line number Diff line change
Expand Up @@ -149,9 +149,9 @@ <h1 class="post-title" itemprop="name">Guidelines for Developers and QA Teams</h
<div style="border: 1px solid #ddd; border-radius: 6px; padding: 20px 24px; margin: 24px 0; background-color: #f9f9f9;">
<h2 id="whats-new" style="margin-top: 0;">What's New</h2>
<ul style="list-style: none; padding-left: 0;">
<li style="margin-bottom: 10px;"><strong>March 2026</strong> — New exemplar added: UPPAAL automated verification toolchain for ROS 2 timing and scheduling analysis (<a href="guidelines/guideline-pe2">PE2</a>).</li>
<li style="margin-bottom: 10px;"><strong>March 2026</strong> — New contribution templates: you can now suggest tools, report gaps, or request updates directly via <a href="https://github.com/ros-rvft/ros-rvft.github.io/issues/new/choose">GitHub Issues</a> — no Git required.</li>
<li style="margin-bottom: 10px;"><strong>March 2026</strong> — Website refresh: updated contact info, copyright, and contribution guidelines.</li>
<li style="margin-bottom: 10px;"><strong>July 2024</strong> — Initial release of the guideline catalog accompanying the TSE paper.</li>
</ul>
</div>

Expand Down