From RVS 3.24, RapiTime and RapiTask will use our multi-automata timing analysis engine by default, rather than the single-automaton timing analysis engine they were using previously.
This new and improved engine has some significant benefits:
- It supports the analysis of multiple call tree roots at once and better supports large projects
- It supports faster processing of indirect calls in code with less user input required
- It provides an improved framework to support future RVS product development
The multi-automata timing analysis engine has been used to power RapiTimeZero and RapiTaskZero, and RapiTime features that support multicore timing analysis, for some years now. With this change, it will become the default engine.
Results may be different
Timing results from multi-automata timing analysis may be slightly different to those from single automaton analysis. These differences are minor, and results generated by both approaches are qualified, although the RapiTime qualification kit will only support multi-automata analysis from RVS 3.24 (see What does the change mean to me? below for other impacts).
Observed execution time results (min, max, HWM etc.) may be slightly different due to changes in the way the analysis associates timing to instrumentation points differently, which is based on transitions between points rather than blocks.
WCET results may be slightly different due to a change in the engine used to calculate WCET, which was required to support the switch to multi-automata analysis.
Generally, multi-automata analysis produces less pessimistic WCET estimates than single-automata analysis.
What does the change mean to me?
From RVS 3.24, multi-automata will be the default timing analysis approach. Note the following:
- If you create a new RapiTime or RapiTask integration, the analysis approach will be set to multi-automata by default. You can switch the analysis to single automaton by editing your integration settings.
- If you upgrade a RapiTime or RapiTask integration, the timing analysis engine will automatically be set to multi-automata unless the integration was explicitly set to single automaton. You can switch the analysis back to single automaton by editing your integration settings.
- You can continue to use single automaton timing analysis in your existing project. Consult the RVS Migration Guide for more information.
- Only multi-automata analysis will be supported by the RapiTime qualification kit from RVS 3.24.
- In a future version of RVS, we plan to remove single automaton timing analysis. The version has not been decided.
We’re excited to bring you this new and improved engine, which should improve the efficiency of timing and task scheduling analysis and accelerate further improvements to RVS timing analysis for years to come.