Vinaora Nivo Slider 3.x
Laurea Triennale
Vinaora Nivo Slider 3.x
Laurea Magistrale
Vinaora Nivo Slider 3.x
Informazioni per le nuove Matricole
Vinaora Nivo Slider 3.x
F.A.Q.

Vinaora Nivo Slider 3.x
Guida dello Studente - Laurea Triennale
Vinaora Nivo Slider 3.x
Guida dello Studente - Laurea Magistrale
Vinaora Nivo Slider 3.x
Piani di Studio
Vinaora Nivo Slider 3.xVinaora Nivo Slider 3.xVinaora Nivo Slider 3.xVinaora Nivo Slider 3.x
Premio letterario Galileo per la divulgazione scientifica 2021
CyberChallenge.it
Presentazione Corso di Laurea in Ingegneria Informatica 2020/2021
Ingegneria.POT

Ultimi Avvisi

ACADEMY

Le Academy sono delle iniziative di formazione professionalizzante sviluppate dal DIETI in collaborazione con aziende quali Apple, Deloitte, CISCO, Accenture, Capgemini, TIM ed altre ancora. L'idea è di allargare le competenze fornite nei Corsi di Studio del Dipartimento con un approccio esperenziale ed a diretto contatto con il mondo del lavoro. Alcune di queste iniziative consentono anche di acquisire dei crediti formativi riconosciuti nei Corsi di Studio del nostro Dipartimento.

CANALI SOCIAL

Per ricevere aggiornamenti, puoi iscriverti ai nostri canali social su Facebook, Telegram, Instagram, LinkedIn, Twitter oppure al gruppo Teams Contact Point

UNIVERSITALY

Universitaly è il portale del Ministero dell'Istruzione, dell'Università e della Ricerca, creato appositamente per accompagnare gli studenti nel loro percorso di studi. Il sito è una vera e propria porta d’ingresso che permette di entrare nel mondo dei corsi di laurea e istruzione superiore in Italia. Link Universitaly

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.