Program RTS 2016
Program RTS 2016
Program RTS 2016
A.A. 2016‐17
Teacher Prof. Giorgio Buttazzo
Semester First
Credits 6
Objectives The objective of this course is to teach the theoretical foundations and practical
techniques for developing time‐sensitive applications with high degree of
concurrency and a set of performance requirements. The course focuses on special
methodologies for increasing the predictability of computer controlled systems,
including task and resource management algorithms. Students will learn how to
design, analyze and develop real‐time software used in several application domains,
as robotics, avionics, automotive, multimedia, and biomedical systems.
Program 1. Basic concepts on real‐time computing. Application domains. Typical system
requirements. Limits of traditional approaches. Modeling real‐time
computational tasks. Extracting timing constraints from application
requirements. Task Scheduling. Metrics for performance evaluation.
2. Real‐time scheduling algorithms. Algorithm taxonomy. Scheduling with
precedence constraints. Scheduling periodic tasks. Utilization‐based analysis.
Response‐time analysis. Processor‐demand analysis.
3. Protocols for accessing shared resources. The priority inversion phenomenon.
Non‐preemptive protocol, Highest Locker Priority, Priority Inheritance and
Priority Ceiling Protocol. Stack Resource Policy. Estimating blocking times.
Schedulability analysis under blocking times.
4. Aperiodic task handling. Fixed‐priority servers (Polling, Deferrable and Sporadic
Server). Dynamic priority servers (Total and Constant Bandwidth Server).
Resource reservation for temporal isolation among multiple applications.
5. Overload management. Definition of computational load. Methods for overload
handling. Admission Control. Robust Scheduling. Imprecise Computation. Job
Skipping. Elastic scheduling. Handling overruns. Resource reservation
mechanisms.
6. Practical guidelines to design and develop real‐time software using the Pthread
library under Linux.
Basic knowledge on mathematics, physics, computer architectures, programming
Prior skills
languages, and operating systems.
Exam The exam consists of a project development, a project report, and a written test. It is
highly recommended to attend all the lectures to better understand both the
theoretical part and properly address the project development.
Books 1. Giorgio Buttazzo, Hard Real‐Time Computing Systems: Predictable Scheduling
Algorithms and Applications", Third Edition, Springer, 2011.
2. Giorgio Buttazzo: "Sistemi in Tempo Reale", Terza Edizione, Pitagora Editrice,
Bologna, 2006.
Web site http://retis.sssup.it/~giorgio/rts‐MECS.html