Vinaora Nivo Slider 3.xVinaora Nivo Slider 3.xVinaora Nivo Slider 3.xVinaora Nivo Slider 3.xVinaora Nivo Slider 3.xVinaora Nivo Slider 3.x

REAL TIME INDUSTRIAL SYSTEM

SCHEDA DELL'INSEGNAMENTO (SI)
SSD ING-INF/05

 

LAUREA MAGISTRALE IN INGEGNERIA INFORMATICA

ANNO ACCADEMICO: 2022-2023

 

INFORMAZIONI GENERALI - DOCENTE

DOCENTE: MARCELLO CINQUE
TELEFONO: 081-7683874
EMAIL: Questo indirizzo email è protetto dagli spambots. È necessario abilitare JavaScript per vederlo.

 

INFORMAZIONI GENERALI - ATTIVITÀ

INSEGNAMENTO INTEGRATO (EVENTUALE):
MODULO (EVENTUALE):
CANALE (EVENTUALE):
ANNO DI CORSO (I, II, III): II
SEMESTRE (I, II): I
CFU: 6

 

INSEGNAMENTI PROPEDEUTICI

(se previsti dall'Ordinamento del CdS)

...................................................................................................................................................

 

EVENTUALI PREREQUISITI

Conoscenze base di sistemi operativi e programmazione, acquisite alla laurea triennale.

 

OBIETTIVI FORMATIVI

Il corso fornisce conoscenze avanzate sui sistemi in tempo reale e sul loro impiego in diversi ambiti industriali, con particolare riferimento ai sistemi mission critical e safety critical. Fornisce inoltre le competenze necessarie alla progettazione e realizzazione di sistemi software in tempo reale a criticità mista, adoperando sistemi operativi e piattaforme di virtualizzazione per sistemi real-time embedded, incluse le architetture ibride ad alte prestazioni, con attenzione sia alle prescrizioni imposte dagli standard di certificazione nei diversi contesti industriali, come automotive, ferroviario, e avionico, sia alle iniziative di ricerca su tematiche affini quali l’Industrial Internet of Things e Industria 4.0.

 

RISULTATI DI APPRENDIMENTO ATTESI

(Descrittori di Dublino)

Conoscenza e capacità di comprensione
Lo studente deve dimostrare: di comprendere i problemi teorici alla base dell’elaborazione in tempo reale, di conoscere gli algoritmi di scheduling e di gestione delle risorse per la loro risoluzione, di saper illustrare i principi e le tecniche di virtualizzazione utili alla realizzazione di sistemi a criticità mista nel rispetto delle proprietà di isolamento, di riconoscere i principali ambiti industriali in cui tali sistemi sono impiegati ed i vincoli imposti dalle normative.

Capacità di applicare conoscenza e comprensione
Lo studente deve dimostrare: di saper applicare gli strumenti metodologici acquisiti per l’analisi di fattibilità e il dimensionamento di sistemi real-time su sistemi di calcolo single-core, multi-core e/o piattaforme asimmetriche/ibride, di saper analizzare le problematiche teoriche e pratiche inerenti l’utilizzo di sistemi operativi e piattaforme di virtualizzazione in contesti embedded ed industriali, di saper progettare e implementare sistemi real-time complessi e a criticità mista con riferimento a processi e tecnologie conformi ai principali standard industriali.

 

PROGRAMMA-SYLLABUS

Introduzione ai sistemi real-time. Proprietà fondamentali. Hard e soft real-time. Il concetto di safety e sistemi safety-critical. Scheduling di task periodici: cyclic exceutive, rate monotonic (RM), earliest deadline first (EDF). Server aperiodici: polling server, deferrable server, sporadic server, total bandwidth server, hard constant bandwidth server. Gestione delle risorse: non-preemptive protocol, highest locker priority, priority inheritance e priority ceiling. Test di schedulabilità: test basati su upper bound e su response time analysis.
Architetture dei kernel real-time. I sistemi operativi real-time. Sorgenti di latenza nei sistemi di calcolo. Real-time executive. Kernel monolitici. Microkernel e famiglia L4. Dual kernel: gli esempi RTAI e Xenomai. Preemptable kernel. La patch PREEMPT_RT per il kernel Linux.
Programmazione di task real-time in ambiente Linux. Lo standard RT-POSIX. Primitive per la gestione del tempo, per la gestione dei task e per la gestione delle risorse con priority inheritance e priority ceiling. Programmazione di task periodici con RM (SCHED_FIFO) e EDF (SCHED_DEADLINE). Esempi pratici di utilizzo.
Monitoraggio di sistemi real-time. Metodologie di monitoraggio: embedded constraint e monitored constraint. Fault tolerance e gestione dei timing failure. Rule-based logging. Analisi della propagazione degli errori.
Real-time multiprocessing. Utilizzo di sistemi di calcolo multiprocessore per elaborazione real-time. Modelli di task e limiti teorici. Piattaforme multiprocessore simmetriche e asimmetriche. Scheduling partizionato di task sporadici con EDF e RM. Allocazione con Bin packing. Scheduling globale: l’algoritmo pfair, EDF globale, effetto Dhall, pfEDF, RM-light e RM-US. Limiti di fattibilità. Problematiche di interferenza e isolamento nei multiprocessore dovute alle gerarchie di memoria.
Sistemi a criticità mista. Il modello di Vestal. Response time analysis multi-criticality. Metodo di Audsley. Sheduling gerarchico: open system architecture, sistemi gerarchici a priorità fissa, constant bandwidth server gerarchico. L’utilizzo di piattaforme asimmetriche ibride e multi-processor systems on chip per la realizzazione di sistemi a criticità mista. OpenAMP: RemoteProc, RPMsg ed esempi di utilizzo su piattaforma Zync Ultrascale+.
Virtualizzazione real-time. Introduzione alla virtualizzazione: virtualizzazione della CPU, della memoria, del I/O. Problematiche di virtualizzazione nei sistemi real-time. Tipologie di hypervisor. Esempi di hypervisor real-time: XEN con gli scheduler null e RTDS, Jailhouse, ed esempi pratici di utilizzo. Real-time cloud e container real-time: alternative architetturali ed esempi di realizzazione/utilizzo in ambiente dual kernel.
Ambiti applicativi industriali. Il contesto automotive: lo standard ISO 26262, ASIL e processo di sviluppo, coding rules e MISRA-C, il concetto di SEooC, lo standard OSEK, lo standard AUROSAR, il protocollo CAN, sistemi operativi e hypervisor adottati in ambito automotive. Il contesto avionico: lo standard DO 178B, lo standard ARINC 653, Architettura IMA e interfaccia APEX, reti real-time in ambito avionico, sistemi operativi e hypervisor adottati in ambito avionico. Il contesto ferroviario: lo standard CENELEC EN 50128. La Industrial Internet of Things: terminologia, architettura, cenni a iniziative di standardizzazione e protocolli di comunicazione.

 

MATERIALE DIDATTICO

• Libri di testo:
o Giorgio Buttazzo: “Hard real-time computing systems: Predictable Scheduling Algorithms and Applications”, Third Edition, Springer, 2011.
o S. Baruah, M. Bertogna, G. Buttazzo. “Multiprocessor Scheduling for Real- Time Systems”, Springer, 2015
• Trasparenze delle lezioni, dispense ed articoli scientifici di approfondimento disponibili sul sito web docente

 

MODALITÀ DI SVOLGIMENTO DELL'INSEGNAMENTO

La didattica è erogata a) per il 75% con lezioni frontali, b) per il 20% con esercitazioni guidate in aula per approfondire praticamente gli aspetti relativi alla programmazione di task real-time e all’utilizzo di piattaforme di virtualizzazione e architetture ibride e c) per il 5% con seminari sulle tematiche relative a standard industriali o specifici approfondimenti.
Gli argomenti delle lezioni frontali e dei seminari sono esposti con l’ausilio di trasparenze dettagliate, messe a disposizione dello studente nel materiale didattico tramite il sito web ufficiale del docente.

 

VERIFICA DI APPRENDIMENTO E CRITERI DI VALUTAZIONE

a) Modalità di esame:

L'esame si articola in prova:
 Scritta e orale  
 Solo scritta   
 Solo orale
 Discussione di elaborato progettuale 
 Altro  

 

In caso di prova scritta i quesiti sono (*):
 A risposta multipla  
 A risposta libera   
 Esercizi numerici  

  

L’esame si articola in una sola prova orale comprendente la presentazione di un elaborato progettuale assegnato durante il corso e tre domande su altrettanti problemi, algoritmi e soluzioni teoriche e tecnologiche esposte al corso. L’elaborato può essere svolto in gruppi di massimo tre studenti.

  

Utilizziamo i cookie sul nostro sito Web. Alcuni di essi sono essenziali per il funzionamento del sito, mentre altri ci aiutano a migliorare questo sito e l'esperienza dell'utente (cookie di tracciamento). Puoi decidere tu stesso se consentire o meno i cookie. Ti preghiamo di notare che se li rifiuti, potresti non essere in grado di utilizzare tutte le funzionalità del sito.