Program RTS 2016

Download as pdf or txt
Download as pdf or txt
You are on page 1of 1

Program of the course module “Real‐Time Systems” 

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 
 

You might also like