IOT AND EMBEDDED SYSTEMS DESIGN

Francesco MOSCATO IOT AND EMBEDDED SYSTEMS DESIGN

0622700098
DIPARTIMENTO DI INGEGNERIA DELL'INFORMAZIONE ED ELETTRICA E MATEMATICA APPLICATA
CORSO DI LAUREA MAGISTRALE
INGEGNERIA INFORMATICA
2022/2023

OBBLIGATORIO
ANNO CORSO 2
ANNO ORDINAMENTO 2017
PRIMO SEMESTRE
CFUOREATTIVITÀ
432LEZIONE
216LABORATORIO
Obiettivi
L’INSEGNAMENTO CONSENTE DI ACQUISIRE COMPETENZE AVANZATE SULLE ARCHITETTURE EMBEDDED CON PARTICOLARE RIFERIMENTO AI SISTEMI CRITICI E ALLE LORO VERTICALIZZAZIONI PER DISPOSITIVI INTERNET-OF-THINGS (IOT) IN DIVERSI AMBITI INDUSTRIALI.
L'OBIETTIVO PRINCIPALE E' QUELLO DI APPRENDERE I METODI E LE TECNICHE DI BASE ED AVANZATE PER PROGETTARE E REALIZZARE SISTEMI EMBEDDED AVANZATI, CON CARATTERISTICHE
REAL TIME E CON REQUISITI STRINGENTI IN TERMINI DI AFFIDABILITÀ E DI SICUREZZA, OLTRE CHE VALIDARE IL FUNZIONAMENTO DI TALI SISTEMI, ANCHE RICORRENDO A SOLUZIONI
“MODEL IN THE LOOP” E “HARDWARE IN THE LOOP”.
Prerequisiti
CORSI DI SISTEMI EMBEDDED E INGEGNERIA DEL SOFTWARE
Contenuti
Unità didattica 1: Introduzione e Richiami
(ORE LEZIONE/ESERCITAZIONE/LABORATORIO 2/0/0)
- 1 (2 ORE Lezione): Introduzione all’utilizzo di sistemi embedded in ambito industriale in riferimento alla realizzazione di Sistemi Critici Distribuiti (con riferimento ad applicazioni industriali IoT): Requisiti di Affidabilità, Sicurezza (Safety) e Real-Time. Richiami di Schedulazione Hard-Real Time e di Free-RTOS (tasks, scheduling, IPC).
CONOSCENZE E CAPACITÀ DI COMPRENSIONE: Comprensione degli algoritmi base per lo scheduling real-time e per la loro implementazione in sistemi operativi real-time
CONOSCENZE E CAPACITÀ DI COMPRENSIONE APPLICATE: Capacità di progettare ed implementare applicazioni di base multi-tasking ed hard real-time


Unità didattica 2: Real-Time Scheduling Avanzato e Driver per sistemi Real Time
(ORE LEZIONE/ESERCITAZIONE/LABORATORIO 4/0/4)
- 1 (2 ORE Lezione): Algoritmi avanzati di schedulazione hard real-time, Gestione di processi periodici ed aperiodici (servers)
- 2 (2 ORE Lezione): Free-RTOS: Elementi avanzati: Gestione della memoria, IRQ, Drivers, Modifica del codice sorgente
- 3 (2 ORE Laboratorio): Free-RTOS: Applicazione alla progettazione e sviluppo di driver real-time
- 3 (2 ORE Laboratorio): Free-RTOS: Applicazione alla progettazione e sviluppo di schedulatori hard real-time
CONOSCENZE E CAPACITÀ DI COMPRENSIONE: Comprensione degli algoritmi avanzati per lo scheduling real-time e per la loro implementazione in sistemi operativi real-time, e delle principali tecniche per lo sviluppo di driver real-time in sistemi embedded
CONOSCENZE E CAPACITÀ DI COMPRENSIONE APPLICATE: Capacità di progettare ed implementare scheduler e driver complessi con caratteristiche multi-tasking ed hard real-time su sistemi embedded


Unità didattica 3: Progettazione e Verifica di Sistemi Critici, Distribuiti e Affidabili
(ORE LEZIONE/ESERCITAZIONE/LABORATORIO 6/0/6)
- 1 (2 ORE Lezione): Metodi e tecniche per gestire requisiti di affidabilità: ridondanza spazio-temporale e diversità, Modelli probabilistici e stocastici
- 2 (2 ORE Laboratorio): Progettazione e verifica dell'architettura di un sistema critico con requisiti stringenti di affidabilità
- 3 (2 ORE Lezione): Metodologie HIL (hardware in the loop), SIL(software in the loop) e MIL (model in the loop) per la progettazione e verifica di sistemi embedded critici
- 4 (2 ORE Lezione): Matlab Simulink e State Flow
- 5 (2 ORE Laboratorio): Progettazione e Verifica di un sistema critico con StateFlow
- 6 (2 ORE Laboratorio): Progettazione e Verifica di un sistema critico con StateFlow
CONOSCENZE E CAPACITÀ DI COMPRENSIONE: Comprensione delle principali tecniche e metodologie per la gestione di requisiti di affidabilità in sistemi critici
CONOSCENZE E CAPACITÀ DI COMPRENSIONE APPLICATE: Capacità di modellare, validare e verificare un sistema critico embedded utilizzando framework per la model-based engineering quali Matlab Stateflow.


Unità didattica 4: Model Based e Model Driven Engineering
(ORE LEZIONE/ESERCITAZIONE/LABORATORIO 2/0/8)
- 1 (2 ORE Lezione): Model Based e Model Driven Engineering: standard in applicazioni critiche, introduzione alla trasformazione di modelli e alla generazione automatica di codice
- 2 (2 ORE Lezione): Matlab Simulink Coder ed Embedded Coder
- 3 (2 ORE Laboratorio): Utilizzo di Matlab Embedded Coder, Simulink e StateFlow per la progettazione e generazione di codice. Esempi di base
- 4 (4 ORE Laboratorio): Utilizzo di Matlab Embedded Coder, Simulink e StateFlow per la progettazione e generazione di codice. Tecniche avanzate
- 5 (2 ORE Laboratorio): Utilizzo di Matlab Embedded Coder, Simulink e StateFlow per la progettazione e generazione di codice. Verifica e Validazione
CONOSCENZE E CAPACITÀ DI COMPRENSIONE: Comprensione delle metodologie di progettazione e sviluppo Model-Based e Model-Driven e delle tecniche di generazione automatica del codice
CONOSCENZE E CAPACITÀ DI COMPRENSIONE APPLICATE: Capacità di applicare le metodologie Model-Based di Ingegneria del Software per la generazione e verifica automatica del codice tramite l'ausilio di Matlab Embedded Coder

Unità didattica 5: Standard e Sistemi Industriali
(ORE LEZIONE/ESERCITAZIONE/LABORATORIO 4/0/4)
- 1 (2 ORE Lezione): Introduzione agli standard per i processi di Ingegneria del software nei sistemi critici (es: EUROCAE12-C, CENELEC etc.)
- 2 (2 ORE Lezione): Autosar e MISRA-C
- 3 (4 ore Laboratorio): Strumenti per l'ingegneria di software critici: Framework per il controllo della configurazione, Versioning, Tracciabilità dei requisiti
CONOSCENZE E CAPACITÀ DI COMPRENSIONE: Comprensione dei requisiti di progetto e di processo di sviluppo dettati dai principali standard applicati allo sviluppod di sistemi critici embedded
CONOSCENZE E CAPACITÀ DI COMPRENSIONE APPLICATE: Capacità di applicare gli standard alla specifica dei requisiti di sistemi critici, e di configurare e utilizzare i principali framework di ausilio alla progettazione, sviluppo e testing di tali sistemi.



Unità didattica 6: Progetto Verifica e Validazione di un Sistema Critico Industriale
(ORE LEZIONE/ESERCITAZIONE/LABORATORIO 0/0/8)
- 1 (2 ORE Laboratorio): Specifiche
- 2 (2 ORE Laboratorio): Analisi delle Specifiche, Progetto e Tracciabilità
- 3 (2 ORE Laboratorio): Model Based Design, Verifica e Validazione
- 4 (2 ORE Laboratorio): Realizzazione e Test
CONOSCENZE E CAPACITÀ DI COMPRENSIONE APPLICATE: Progettare, Realizzare e testare sistemi critici complessi con requisiti di affidabilità e real-time di interesse industriale nell'ambito di domini applicativi diversi e dell'IoT.


TOTALE ORE LEZIONE/ESERCITAZIONE/LABORATORIO 18/0/30
Metodi Didattici
L'INSEGNAMENTO PREVEDE LEZIONI FRONTALI ED ESERCITAZIONI IN AULA E LABORATORIO. UNA PARTE DELLE ORE DI ESERCITAZIONE SARÀ USATA PER LO SVOLGIMENTO DI UN PROGETTO DI GRUPPO.
Verifica dell'apprendimento
LA VALUTAZIONE DEL RAGGIUNGIMENTO DEGLI OBIETTIVI PREFISSATI AVVERRÀ MEDIANTE LA REALIZZAZIONE DI UN PROGETTO DI GRUPPO ED UN COLLOQUIO ORALE. LA VALUTAZIONE TERRÀ CONTO DEI SEGUENTI ASPETTI:
CONOSCENZA DELLE ARCHITETTURE PER SISTEMI EMBEDDED E DEI COMPONENTI HARDWARE PRESENTATI NEL CORSO E DELLE PROBLEMATICHE PRINCIPALI NELLO PROGETTAZIONE, VERIFICA, VALIDAZIONE E SVILUPPO DI COMPLESSE APPLICAZIONI SOFTWARE PER SISTEMI EMBEDDED.
CAPACITÀ DI LAVORARE IN GRUPPO.
CAPACITÀ DI IMPLEMENTARE UN PROCESSO COMPLESSO DI INGEGNERIA DEL SOFTWARE PER SISTEMI EMBEDDED SU APPLICAZIONI CRITICHE DI INTERESSE INDUSTRIALE.
Testi
MATERIALE DIDATTICO INTEGRATIVO SARÀ DISPONIBILE NELLA SEZIONE DEDICATA DELL'INSEGNAMENTO ALL'INTERNO DELLA PIATTAFORMA E-LEARNING DI ATENEO (HTTP://ELEARNING.UNISA.IT) ACCESSIBILE AGLI STUDENTI DEL CORSO TRAMITE LE CREDENZIALI UNICHE DI ATENEO
Altre Informazioni
L'INSEGNAMENTO È EROGATO IN INGLESE.
  BETA VERSION Fonte dati ESSE3 [Ultima Sincronizzazione: 2024-08-21]