L'insegnamento 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.
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 riprende e sviluppa nozioni di calcolo delle probabilità e statistica e sviluppa semplici applicazioni di intelligenza artificiale per la collective intelligence.
L’obiettivo principale dell'insegnamento è che lo studente giunga a possedere un’ampia conoscenza e comprensione dei vari tipi di cyberphysical sytem 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), in modo da approfondire la materia anche attraverso l'analisi di casi concreti e la progettualità. 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 al machine learning.
Glin studenti alla fine dell'insegnamento avranno appreso i principi e le tecniche per la realizzazione degli obiettivi formativi di cui sopra, anche attraverso l’implementazione di un progetto, che è finalizzato a stimolare e verificare le capacità progettuali ed implementative dello studente, oltre alla verifica operativa sul campo di parte delle conoscenze acquisite. 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 in presenza, con utilizzo di slide, ed esempi/esercizi svolti sia alla lavagna sia al computer, utilizzando gli strumenti di sviluppo/simulazione indicati a lezione (conoscenza, compresione, analisi dei sistemi cyber-fisici). Ricevimento studenti. Proposta, realizzazione e discussione di un progetto per approfondire le conoscenze, e sviluppare le capacità di analisi, giudizio, applicazione delle nozioni apprese e creazione di nuovi sistemi.
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
Gli studenti non frequentanti possono contattare il docente per concordare le migliori modalità di fruizione.
Gli studenti con disabilità possono contattare il docente per concordare le migliori modalità di fruizione.
Ricevimento: Su appuntamento: mail (francesco.bellotti@unige.it) o Teams o dopo lezione
FRANCESCO BELLOTTI (Presidente)
ALI DABBOUS
RICCARDO BERTA (Presidente Supplente)
https://corsi.unige.it/corsi/8732/studenti-orario
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). Il progetto può essere proposto dallo studente e comunque viene preliminarmente concordato col docente. Su richiesta, il progetto può essere sostituito da un secondo esame orale sugli argomenti della seconda parte dell'insefnamento.
L’accertamento avverrà tramite domande/esercizi nell’esame orale (conoscenza, compresione, analisi, giudizio, applicazione degli argomenti trattati dall'insegnamento). Per quanto riguarda il progetto, la valutazione (analisi, giudizio, applicazione e creazione) avverrà nei colloqui preparatori, durante la progettazione/implementazione della soluzione e nella discussione finale di un elaborato descrittivo del lavoro svolto.
La valutazione complessiva terrà anche presente la partecipazione dello studente durante l'insegnamento.
Gli studenti con disabilità o con DSA possono fare richiesta di misure compensative/dispensative per l'esame. Le modalità saranno definite caso per caso insieme al Referente per Ingegneria del Comitato di Ateneo per il supporto agli studenti disabili e con DSA. Gli studenti che volessero farne richiesta sono invitati a contattare il docente dell'insegnamento con congruo anticipo mettendo in copia il Referente per Ingegneria (https://unige.it/commissioni/comitatoperlinclusionedeglistudenticondisabilita.html), senza inviare documenti in merito alla propria disabilità.