This course is intended to give a deeper understanding of the problems involved in designing dependable real-time systems based on multiprocessor architectures. Specifically, the course covers the following topics:
- Background: motivation for; and definition of; real-time computing systems.
- Characteristics of real-time systems: application constraints; design methods; task models; run-time mechanisms; architectures.
- Evaluation of real-time systems: performance measures; evaluation methodologies.
- Single and multiprocessor scheduling: problem definition; terminology; and algorithms.
- Complexity theory and NP-completeness in the context of real-time scheduling.
- Real-time communications: protocols and end-to-end delay guarantees.
- Fault-tolerance techniques for real-time systems: models; algorithms and architectures.