72945 - SISTEMI IN TEMPO REALE M

Scheda insegnamento

  • Docente Eugenio Faldella

  • Crediti formativi 8

  • SSD ING-INF/05

  • Modalità didattica Convenzionale - Lezioni in presenza

  • Lingua di insegnamento Italiano

SDGs

L'insegnamento contribuisce al perseguimento degli Obiettivi di Sviluppo Sostenibile dell'Agenda 2030 dell'ONU.

Istruzione di qualità Industria, innovazione e infrastrutture

Anno Accademico 2019/2020

Conoscenze e abilità da conseguire

Conoscenza delle peculiarità, dei principi architetturali e delle problematiche di progetto dei sistemi di elaborazione in tempo reale. Esemplificazione degli aspetti metodologici con riferimento a pattern tipici del contesto dell'automazione industriale.

Programma/Contenuti

Nozioni introduttive, peculiarità e problematiche inerenti la progettazione dei sistemi di elaborazione in tempo reale. Strutturazione di un'applicazione in termini di processi cooperanti. Tipologie di processi. Processi con o senza vincoli temporali. Processi “hard real-time” e “soft real-time”. Parametri temporali e modelli di riferimento per processi periodici, sporadici e aperiodici.

Strategie per la schedulazione di processi periodici e sporadici. Strategie “off-line”: l'approccio “cyclic executive”. Strategie “on-line” di tipo statico: gli algoritmi “Rate Monotonic Priority Ordering” e “Deadline Monotonic Priority Ordering”. Strategie “on-line” di tipo dinamico: gli algoritmi “Earliest Deadline First” e “Least Slack Time First”. Il problema della verifica a priori della schedulabilità di un'applicazione. Metodi basati sulla costruzione di diagrammi temporali, criteri basati sul fattore di utilizzazione del processore, calcolo del  tempo di risposta dei processi, l'approccio “processor-demand”.

Strategie per la schedulazione di processi aperiodici: Servizio in background o tramite server. Server a priorità statica: “Polling Server”, “Deferrable Server”, “Priority Exchange Server”, “Sporadic Server”. Server a priorità dinamica: “Constant Utilization Server”, “Total Bandwidth Server”. Valutazione delle prestazioni.

La condivisione di risorse tra processi: il problema dell'inversione di priorità e del blocco dei processi. I requisiti, dal punto di vista sia funzionale che prestazionale, dei protocolli di accesso a risorse condivise. I protocolli “Nonpreemptive Critical Section”, “Priority Inheritance”, “Ceiling Priority”, “Immediate Ceiling Priority”, “Stack Resource Policy” . Valutazione delle prestazioni.

Esemplificazione degli aspetti di carattere teorico e metodologico con riferimento a pattern tipici del contesto applicativo dell'automazione e del controllo di processi industriali.

Testi/Bibliografia

1.      J. W. S. LIU: 'REAL-TIME SYSTEMS', PRENTICE HALL, 2000.

2.      J. COOLING: 'SOFTWARE ENGINEERING FOR REAL-TIME SYSTEMS', ADDISON WESLEY, 2003.

3.      G. C. BUTTAZZO: 'HARD REAL-TIME COMPUTING SYSTEMS', Third Edition, SPRINGER, 2011.

Metodi didattici

Le lezioni in aula vengono svolte con l'ausilio di un proiettore di diapositive (di cui è possibile preventivamente procurarsi una copia cartacea accedendo al sito WEB del corso), in modo da consentire allo Studente di concentrarsi sui contenuti esposti piuttosto che sulla stesura di appunti.
Lezioni ed esercitazioni sono continuamente intercalate, alternando l'esposizione di concetti con esemplificazioni applicative.
Per completare la preparazione sono inoltre proposti approfondimenti da sviluppare attraverso esercitazioni guidate o autonome in laboratorio.

Modalità di verifica dell'apprendimento

La prova d'esame mira a verificare il raggiungimento dei seguenti obiettivi formativi:

• conoscenza approfondita, dal punto di vista sia algoritmico che realizzativo, delle moderne strategie per la schedulazione di processi hard real-time;

• conoscenza approfondita dei protocolli di accesso a risorse condivise in sistemi real-time ;

• capacità di impiegare i più efficienti criteri e le più efficaci metodologie al fine di verificare a priori la schedulabilità di applicazioni multi-tasking real-time.

L'esame consiste in una prova scritta della durata di quattro ore, nella quale lo Studente può liberamente consultare qualunque materiale didattico ritenga opportuno al fine di identificare una corretta soluzione ai problemi progettuali proposti.

Strumenti a supporto della didattica

Nel sito del corso (http://lia.deis.unibo.it/courses/) sono disponibili le slide presentate a lezione, la guida alle esercitazioni in laboratorio, i testi e le soluzioni delle prove scritte d'esame.

Orario di ricevimento

Consulta il sito web di Eugenio Faldella