Verifying Task Scheduling Performance Using SAFECheckpoints31 May, 2017
Avoid Temporal Disruption with a Runtime Verification Monitor – Download our Free App Note Today
Within a priority based pre-emptive scheduling scheme, the highest priority Task that is able to run will be the Task selected to run. Hence the priority assigned to each Task needs to be carefully chosen, as it directly affects when the Task will be given processing time.
Overrunning or rapidly repeating Interrupts and/or higher level Tasks can cause other, lower-priority Tasks to be delayed or blocked in an irregular way. This is called temporal disruption.
The App Note discusses avoiding timing problems such as this, and how SAFECheckpoints can be used to Monitor Task Scheduling Performance.
SAFECheckpoints for Automotive Systems
SAFECheckpoints is a runtime verification monitor, a safety component that extends the functionality of the safety critical Real Time Operating System SAFERTOS.
SAFECheckpoints has been designed to meet the Automotive ISO 26262 ASILC/D requirement which mandates the self-monitoring of the software in the operating system and the application.
Both SAFECheckpoints and SAFERTOS are supplied with a Design Assurance Pack supporting certification to ISO 26262 ASIL D.
SAFECheckpoints allows the user to specify timing tolerances for critical sections of code; this can be used to ensure that:
Periodic tasks run within tolerances.
Sections of processing within tasks complete.
Interrupt event to handler task processing completes with allowable tolerances.
Complex functionality involving multiple tasks completes within allowable tolerances.
Individual checkpoints can specify their own callback function or the system error hook can be activated.
Single shot and Periodic checkpoints can be created.
Periodic checkpoints can operate in fixed or relative timing modes.
For more about how SAFECheckpoints works please read our white paper, Checkpoints and Temporal Separation.