Software design: Regular vs. real-time software - Static/dynamic structure
Regular: Object and data structures created/destroyed dynamicaly
Real-time: Static structures created at system initialization
Software design: Regular vs. real-time software - Control flow
Regular: Complex, implicit and data-dependent control flow
Real-time: Simple, explicit and deterministic control flow
Software design: Regular vs. real-time software - Concurrency
Regular: Fair interleaved execution - optimized for average case
Real-time: Predictable (priority-based) scheduler - predictable worst case
When can multiple tasks use the same sensor?
Separating common computations?
Identifying tasks - Decomposing functions into tasks
A single task is not always a good solution.
When can multiple tasks control the same actuator?
Assigning task periods
Periodicity constraints
- use a task period shorter or equal to the periodicity value
Latest response time constraints
- Note: Period t does not satisfy “react within t times units”
- however, any period shorter or equal to t/2 does!
Separation, periodicity with output jitter, earliest response time
- these cant be satisfied in a good way by just period assignment
All tasks involved in a function must be considered
- giving just one task a short period does not improve the overall timing