Il corso si propone di introdurre i principi della programmazione distribuita dei sistemi Cyber-fisici e dell'IoT in particolare. Le lezioni saranno organizzate in tre moduli: Progettazione delle Applicazioni Distribuite; Linguaggi e Tool per la Programmazione Distribuita; Monitoring of sistemi Cyber-fisici.
Design And Analysis Of Distributed Algorithm, Nicola Santoro, Wiley
Note disponibili sul sito del corso.
Obiettivi Formativi
Durante il corso gli studenti acquisiranno familiarità con I sistemi distribuiti e con le principali difficoltà che li caratterizzano. Verranno inoltre introdotti alcuni moderni linguaggi di programmazione insieme agli strumenti ed alle metodologie che verranno utilizzate per sviluppare semplici progetti.
Prerequisiti
Competenze base di programmazione e reti.
Metodi Didattici
Lezioni frontali
Modalità di verifica apprendimento
La verifica dell’apprendimento è composta di due parti:
- elaborazione di un approfondimento;
- un colloquio orale.
Condizione per l’ammissione al colloquio è l’accettazione della relazione sul progetto.
Programma del corso
Design di applicazioni distribuite
+ Principi di sistemi distribuiti
+ Semplici problemi e protocolli
+ Leader election
+ Indirizzamento dei messaggi e shortest path
+ Operazioni distribuite
+ Computazioni in presenza di fault
Linguaggi e strumenti per la programmazione distribuita
+ Programmazione mediante spazi delle tuple
+ Aggregate Computing
Monitoring di Sistemi Cyber-fisici
+ Principi di sistemi monitoring
+ Monitoring basato su proprietà logiche
+ Monitoring qualitativo
+ Monitoring quantitativo
+ Monitoring di proprietà spaziali