What is RapiTask for?
RapiTask addresses the challenges you will likely face in working with embedded systems with complex scheduling behavior (for example, multi-threaded or multicore). Situations that RapiTask addresses include:
- Getting a high-level overview of software system scheduling.
- Locating rare timing events, such as race conditions.
- Understanding system capacity issues.
- Supporting different targets, including multicore.
- Verifying actual timing behavior.
- Quickly identifying user-specific concerns.
Getting a high-level overview of software system scheduling
RapiTask provides you with the ability to visualize your system's scheduling behavior across threads and processor cores, to report response times and CPU utilization.
Locating rare timing events, such as race conditions
RapiTask lets you scan large traces for specific unusual situations, such as race conditions, priority inversion or deadlocks. To help you to locate potential sources of timing issues, RapiTask lets you zoom out of the trace for an overview or zoom in to quickly locate specific patterns.
Understanding system capacity issues
RapiTask shows the CPU utilization of the tasks in your system over a given time interval. You can adjust the interval used to meet the requirements of your application. If you are using schedulability analysis, RapiTask also reports the execution times of each task (including the longest observed execution times). This allows you to check that the assumptions of execution time made for the schedulability analysis have not been violated. You can use RapiTask alongside RapiTime to determine the worst-case execution time (WCET) of each task.
Supporting different targets, including multicore
RapiTask is target-independent and can be easily adapted to work with different targets and different real-time operating systems (RTOS). The adaptation of RapiTask to work with your environment can be developed by you, following our guidance; or we can provide our Target Integration Service, which achieves a high-quality integration in minimal time. The software that is monitored by RapiTask is configured using the source-code instrumenter, which is common to all RVS components. This means that the level of detail reported by RapiTask can be controlled to meet the needs of your application. For example, RapiTask could display the timing behavior of each function in the entire task, or the timing behavior of the task as a single entity.
Verifying actual timing behavior
To confirm that timing behavior of your system meets system-level requirements, RapiTask provides the ability to measure system-level properties such as periodicity and jitter. RapiTask can be used alongside RapiTime to obtain even more detailed timing behavior.
Quickly identifying user-specific concerns
In addition to configuring the level of monitoring, you can also monitor and visualize OS-level features such as alarms, events, mailboxes and mutexes.