|
Pattern name | Description |
|
Patterns for migration |
|
Time for TT? | Discusses about when it is appropriate to use TT architecture |
Events to time | Discusses what changes are required to be done at high level when changing the system from ET to TT design |
TT scheduler | Discuss what a TT scheduler is and its possible types. Also discuss what type of TT scheduler is appropriate in different situations |
Cooperative scheduler | Discusses the implementation of time-triggered cooperative scheduler |
Hybrid scheduler | Discuss the implementation of time-triggered hybrid scheduler |
Preemptive scheduler | Discusses the implementation of time-triggered preemptive scheduler |
Choosing task parameters | Discusses the appropriate choice of task parameters such as offset and order of task execution |
Buffered output | Discusses how to deal with long-task problem when working with co-operative scheduler |
Polled input | Discusses how to deal with external events in time-triggered environment |
Critical section | Discusses how to avoid conflicts over shared resources during the execution of critical sections |
Resource lock | Discusses the implementation of resource lock in embedded system |
Disable timer interrupt | Discusses the simplest way of implementing safe access to shared resources |
Priority inheritance protocol | Discusses the implementation of access to shared resources with mutual exclusion and without priority inversion |
Improved priority ceiling protocol | Discusses the implementation of access to shared resources with mutual exclusion avoiding priority inversion, deadlock, and blocking chains |
|
Patterns for optimisation |
|
Balanced system | Discusses the types of jitter encountered in TT architectures and considers how to design systems with minimum levels of jitter |
Sandwich delay | Discusses a technique to reduce period jitter in tasks |
Single-path delay | Discusses a technique to reduce tasks execution jitter |
Take a nap | Discusses a technique to reduce tasks execution jitter and with minimum power consumption |
Planned preemption | Discusses a technique to reduce tick jitter in TTH designs |
System monitors | Discusses the need for (and implementation of) monitors in the system which keep track of system state and take necessary actions in case of errors |
Loop timeout | Discusses the implementation of a software technique to reset systems in case of any unexpected error that could (otherwise) cause the system to “hang” |
Watchdog | Discusses the implementation of a hardware technique to reset system in case of an unexpected error |
Task guardian | Discusses the need for (and implementation of) shutdown mechanisms for tasks that exceed their predicted worst-case execution time |
|