Il corso intende fornire un’ampia panoramica sui vari tipi di cyberphysical sytems allo stato dell’arte: sistemi sincroni, asincroni, dinamici a tempo continuo, temporizzati, ibridi. La trattazione dei sistemi riguarda argomenti di modellazione, simulazione e verifica (model checking). Ogni argomento è affrontato anche attraverso l’utilizzo di appropriati strumenti di sviluppo, quali nuXmv, Spin, Uppaal, Matlab-Simulink-Stateflow. Una parte del corso introduce al linguaggio python, con particolare attenzione all'applicazione alla data science e al machine learning
Il corso intende fornire un’introduzione all’analisi e alla progettazione di sistemi cyberphysical system. Questo comprende i processi sincroni e asincroni, i requisiti di safety e liveness, e i sistemi dinamici e temporizzati. Il corso intende fornire anxhe un'introduzione al linguaggio python, con particolare attenzione all'applicazione al machine learning e alla data science
L’obiettivo principale del corso è che lo studente giunga a possedere un’ampia conoscenza sui vari tipi di cyberphysical sytems allo stato dell’arte, quali: sistemi sincroni, asincroni, dinamici a tempo continuo, temporizzati, ibridi. Per ogni tipo di sistema, si trattano argomenti di modellazione, simulazione e verifica (model checking). Lo studente avrà l’opportunità di apprendere le basi teoriche, e di studiare alcuni esempi applicativi. Esericizi sono proposti, e solitamente risolti in classe, per ogni argomento, al fine di verificare l’acquisizione delle conoscenze. Lo studente imparerà anche ad utilizzare uno strumento di sviluppo per ciascuna tipologia di cyberphysical system trattato (nuXmv, Spin, Uppaal, Matlab-Simulink/Stateflow). Una parte del corso introdurrà il linguaggio python, utile per il trattamento dei dati acquisiti dai sopra citati sistemi, con particolare attenzione alla data science ed il machine learning. Il progetto che verrà concordato per l’esame è finalizzato a stimolare e verificare le capacità progettuali ed implementative dello studente, oltre alla verifica operativa sul campo di parte delle conoscenze acquisite. I risultati di apprendimento riguardano la realizzazione degli obiettivi formativi di cui sopra, anche attraverso l’implementazione di un progetto. Al termine del corso lo studente sarà in grado di analizzare e progettare soluzioni basate sull’impiego di vari tipi di cyber-physical system in vari tipi di applicazioni.
Elettronica dei sistemi digitali
Fondamenti di programmazione
Fondamenti di architettura dei calcolatori
Lezioni frontali, con utilizzo di slide, ed esempi/esercizi svolti sia alla lavagna sia al PC (o in tele-didattica, se reso necessario), utilizzando gli strumenti di sviluppo/simulazione indicati a lezione. Ricevimento studenti. Proposta, realizzazione e discussione di un progetto.
Modellazione, simulazione e verifica di cyberphysical systems
Introduzione al linguaggio python
R. Alur, Principles of Cyberphysical Systems: https://mitpress.mit.edu/books/principles-cyber-physical-systems
J. VanderPlas, Python Data Science Handbook, O'Reilly https://www.oreilly.com/library/view/python-data-science/9781491912126/
Appunti del corso e altro materiale suggerito dal docente durante il corso
Ricevimento: Su appuntamento: mail (francesco.bellotti@unige.it) o Teams o dopo lezione
FRANCESCO BELLOTTI (Presidente)
RICCARDO BERTA
ALI DABBOUS
https://easyacademy.unige.it
Esame orale sulla prima parte (cyber-physical systems), comprendente sia domande teoriche sia esercizi, sugli argomenti trattati a lezione.
Lavoro di progetto (sulla modellazione/simulazione di un cyberphysical system o su un'applicazione IoT/machine learning/data science).
L’accertamento avverrà tramite domande/esercizi nell’esame orale. Per quanto riguarda il progetto, la valutazione avverrà nei colloqui preparatori e durante la progettazione/implementazione della soluzione e nella discussione finale di un elaborato descrittivo del lavoro svolto.
La valutazione terrà anche presente la partecipazione dello studente durante il corso.