Real-Time Systems
Designing and verifying systems that must meet deadlines in the worst case: hard, firm and soft timing requirements and end-to-end budgets, periodic, sporadic and aperiodic task models with utilization and hyperperiods, cyclic executives and time-triggered design, rate-monotonic and deadline-monotonic priorities with the Liu and Layland bound and exact response-time analysis, earliest deadline first and the processor demand criterion, real-time kernel internals with context switching, absolute delays, interrupts and overheads, priority inversion, priority inheritance and ceiling protocols with blocking analysis, aperiodic servers and mixed-criticality scheduling, partitioned and global multicore scheduling, worst-case execution time by measurement and static analysis, CAN response-time analysis and time-sensitive networking, and verification under functional safety standards, with runnable Python schedulers and analyses, C listings and a capstone timing sign-off for a roadside traffic sensor.
CMP-440 Year 4 3 credits 12 lessons · 4 h 13 min ▶ Video lessons coming soon
Offered by HSM University · Computer Engineering
This is the Canadian version of this course. See the American version.
What you'll learn
- Define real-time correctness, classify hard, firm and soft deadlines, specify timing constraints with their sources, and explain why worst-case analysis is needed beyond testing.
- Model real-time workloads as periodic, sporadic and aperiodic tasks, compute utilization, density and hyperperiod, and calculate end-to-end latency of task chains.
- Design cyclic executives by choosing frame sizes that satisfy the frame conditions, building schedule tables, slicing jobs and explaining time-triggered architectures.
- Assign rate-monotonic and deadline-monotonic priorities, apply the Liu and Layland and hyperbolic bounds, and compute worst-case response times by response-time analysis.
- Explain the optimality of earliest deadline first, apply U ≤ 1 and the processor demand criterion, compare EDF with fixed priority and describe overload behaviour.
- Describe the internal architecture of a real-time kernel, including task control blocks, constant-time scheduling, context switching, absolute delays and interrupt handling, and include kernel overheads in the analysis.
- Explain priority inversion with the Mars Pathfinder case, compare priority inheritance and ceiling protocols, and compute blocking terms for response-time analysis.
- Serve aperiodic work with background service and polling, deferrable, sporadic and bandwidth servers, and analyze dual-criticality systems with the AMC response-time bound.
- Compare partitioned and global multicore scheduling, explain the Dhall effect, partition task sets with bin-packing heuristics and identify multicore interference channels.
- Determine worst-case execution times by measurement and static analysis, apply IPET with flow facts, and design code and hardware for analyzable timing.
- Analyze CAN message response times with stuffing, blocking and jitter, describe time-sensitive networking mechanisms and compute end-to-end latency across tasks and networks.
- Plan timing verification across the V-model, relate it to IEC 61508, ISO 26262, DO-178C and related standards, build a timing safety argument and complete a system timing sign-off.
Course content
12 lessons · 4 h 13 min total · final exam
- 1 What makes a system real-time 21 min · quiz
- 2 Task models for real-time systems 22 min · quiz
- 3 Cyclic executives and time-triggered design 20 min · quiz
- 4 Fixed-priority scheduling and response-time analysis 20 min · quiz
- 5 Earliest deadline first and dynamic priorities 20 min · quiz
- 6 Real-time operating system architecture 20 min · quiz
- 7 Resource sharing and priority inversion 23 min · quiz
- 8 Aperiodic work, servers and mixed criticality 23 min · quiz
- 9 Multicore real-time scheduling 20 min · quiz
- 10 Timing analysis and worst-case execution time 21 min · quiz
- 11 Real-time communication: CAN and time-sensitive networking 21 min · quiz
- 12 Verification, safety standards and capstone design 22 min · quiz
- E Final exam 20 questions
Requirements
Recommended background. You can start any course at any time.
Description
Designing and verifying systems that must meet deadlines in the worst case: hard, firm and soft timing requirements and end-to-end budgets, periodic, sporadic and aperiodic task models with utilization and hyperperiods, cyclic executives and time-triggered design, rate-monotonic and deadline-monotonic priorities with the Liu and Layland bound and exact response-time analysis, earliest deadline first and the processor demand criterion, real-time kernel internals with context switching, absolute delays, interrupts and overheads, priority inversion, priority inheritance and ceiling protocols with blocking analysis, aperiodic servers and mixed-criticality scheduling, partitioned and global multicore scheduling, worst-case execution time by measurement and static analysis, CAN response-time analysis and time-sensitive networking, and verification under functional safety standards, with runnable Python schedulers and analyses, C listings and a capstone timing sign-off for a roadside traffic sensor.
Part of the Engineering stream, typically taken in year 4.