RTOS scheduling visualisation
RapiTask helps to understand the scheduling behaviour of multi-core and multi-threaded embedded systems. By providing a variety of helpful charts and graphs, RapiTask makes it easy to identify timing and system capacity issues.
RapiTask makes it easy to understand a system’s scheduling behaviour across threads and processor cores, even at a glance.
By providing a variety of helpful charts and tables, it provides a high-level overview of the events that occur when a code is run.
Zooming in on an individual task, execution and response times, CPU utilisation and fragmentation can be identified.
RapiTask allows users to identify rare timing events in their system such as race conditions, priority inversions or deadlocks, regardless of how large their trace is.
By enabling users to have an overview of the events in their system and zoom in to specific regions, users can easily identify these issues.
RapiTask allows users to easily identify and analyse capacity issues in their system.
By displaying CPU utilisation metrics at each time point during a code’s execution and allowing users to jump to specific time intervals, users can easily identify any capacity issues and verify that their application meets its capacity requirements.
RapiTask reports execution time metrics for each task, including the longest observed execution times. If schedulability analysis is used, these metrics let users verify that they have not violated execution time assumptions made in their analysis. By using RapiTask alongside RapiTime, the worst-case execution time (WCET) of each task can be determined.
RVS tools can be run automatically as part of a continuous build environment that uses manual scripts or application lifecycle management tools such as Jenkins and Bamboo.
Writing scripts to run rvsdriver, the main RVS command-line application, is easy. The following script, for example, runs dynamic analysis on instrumented source code to produce a report:
rvsdriver –project MyRVSProject.rvsprj –run –report
The RVS Project Manager even helps to do this by providing a tool to allow custom scripts to be generated.
Industry-specific RTOS scheduling visualisation
RapiTask Aero helps embedded aerospace engineers understand the scheduling behaviour of their Ada, C and C++ software. The tool collects data on task-level scheduling behaviour when software tests are run on host computers, simulators or the embedded target itself, and provides a variety of displays, charts and graphs to help analyse the data.
By integrating seamlessly with a native build system, RapiTask Aero enables an automatic collection of task-level scheduling data, for example in continuous build environments.
RapiTask Aero can be used to demonstrate scheduling behaviour of complex applications used in aerospace electronics, for example those using an ARINC-653-compatible RTOS.
The information reported by RapiTask Aero provides evidence to support DO-178C certification, for example:
- 6.3.2c: Compatibility with the target computer: “… especially the use of resources such as … system response times.”
- 6.3.3c: Compatibility with the target computer: “… asynchronous operation, synchronization, and interrupts…”
- 126.96.36.199e: “A check should be made to ensure that protection mechanisms for exceeded frame times respond correctly.”
RapiTask Auto helps embedded automotive engineers understand the scheduling behaviour of their C and C++ software. The tool collects data on task-level scheduling behaviour when software tests are run on host computers, simulators or the embedded target itself, and provides a variety of displays, charts and graphs to help analyse the data.
By integrating seamlessly with a native build system, RapiTask Auto enables an automatic collection of task-level scheduling data, for example in continuous build environments.
The information reported by RapiTask Auto provides evidence to meet ISO 26262 requirements, for example:
- ISO 26262-6: 7.4.3 table 3 item 1f – requires “Appropriate scheduling properties”, which can be determined using the response time and periodicity metrics produced by RapiTask Auto.
- ISO 26262-6: 7.4.11 software partitioning + annex D: d) – users can support verification of their software’s partitioning by using RapiTask Auto to visualise the scheduling behaviour of their code, and using the response time and separation metrics it produces.
- ISO 26262-6: 9.4.3f + table 10 row 1d, 10.4.3e + table 13 row 1d, resource usage test – can be supported with CPU utilisation and response time metrics produced by RapiTask Auto.