Il corso si divide in due parti (parte "Architetturale" e parte "Modellizzazione e Analisi") che trattano rispettivamente:
Parte "Architetturale": problematiche architetturali relative ai sistemi di sistemi cyber-fisici, e metodologie per la progettazione e costruzione di tali sistemi;
Parte "Modellizzazione e Analisi": metodologie e formalismi di modellizzazione per la valutazione quantitativa delle proprietà di affidabilità, disponibilità, sicurezza e performance di sistemi.
Per la parte "Architetturale" del corso, i riferimenti principali sono:
Cyber-Physical Systems of Systems
Foundations – A Conceptual Model and Some Derivations: The AMADEOS Legacy
Editors: Andrea Bondavalli, Sara Bouchenak, Hermann Kopetz
ISBN: 978-3-319-47589-9 (Print) 978-3-319-47590-5 (Online)
open access su:
https://link.springer.com/book/10.1007%2F978-3-319-47590-5
M. van Steen, A. Tanenbaum, Distributed Systems, 3rd edition 2017, https://www.distributed-systems.net/
Per la parte "Modellizzazione e Analisi" del corso:
"L'Analisi Quantitativa dei Sistemi Critici" (testo in Italiano), a cura di Andrea Bondavalli, Società Editrice Esculapio, ISBN 978-88-7488-431-5, Prima edizione, 286 pagine, Marzo, 2011.
Ulteriore materiale didattico (in Inglese):
- Lucidi presenti sul sito del corso.
- Libri che riguardano argomenti specifici trattati durante il corso
- Articoli pubblicati in riviste e in proceeding di conferenze.
Obiettivi Formativi
Il corso mira a fornire solide conoscenze e competenze per la concezione, definizione, progettazione, valutazione e analisi di sistemi complessi che caratterizzano vari settori emergenti quali l'Internet of Things, le Smart Factories e le Infrastrutture Critiche. In particolare il corso si concentra sugli aspetti di distribuzione e coordinamento dei vari sistemi che formano un sistema di sistemi e sulle tecniche di modellizzazione stocastica per la valutazione quantitativa di proprietà dei sistemi, quali ad esempio l'affidabilità, la disponibilità, la sicurezza e la performance.
Prerequisiti
nessuno
Metodi Didattici
Frequenza delle lezioni ed esercitazioni: Raccomandata
Strumenti a supporto della didattica UniFi E-Learning: http://e-l.unifi.it
Orario di ricevimento:
Prof. Paolo Lollini,
Su appuntamento. Contattare il docente (paolo.lollini@unifi.it).
DiMai, Università di Firenze, Viale Morgagni, 65 - 50134 Firenze
Prof. Andrea Ceccarelli,
MARTEDI ore 16.30-17.30
Contattare il docente preventivamente.
DiMai, Università di Firenze, Viale Morgagni, 65 - 50134 Firenze
Modalità di verifica apprendimento
La verifica dell'apprendimento è composta di due parti, rispettivamente per la parte "Architetturale" e per la parte di "Modellizzazione e Analisi".
Per la parte "Architetturale", le modalità di verifica dell'apprendimento sono:
- elaborazione di un progetto di coordinamento di sistemi ciber-fisici. Il testo del progetto verrà assegnato nel corso delle lezioni, e potrà essere svolto in gruppo fino a 2 persone. Il progetto riguarda le attività di costruzione di use case, definizione dei requisiti, progettazione dell'architettura e implementazione software. Il progetto sarà valutato in termini di SUFFICIENTE/NON SUFFICIENTE. I criteri per la valutazione del progetto sono: qualità dello use case, qualità dei requisiti definiti, qualità della progettazione, e corrispondenza tra il comportamento funzionale dell'implementazione e i requisiti posti. Il progetto deve essere consegnato almeno 7 giorni prima della data prevista per l' orale.
- una prova orale sugli argomenti della parte "Architetturale" del corso, e sul progetto svolto. Condizione per l'ammissione alla prova orale è la valutazione come sufficiente del progetto. La prova orale è valutata con un voto in trentesimi (con 18 che indica la sufficienza).
Il voto assegnato alla parte "Architetturale" è in trentesimi, ed è equivalente al voto della prova orale.
Per la parte "Modellizzazione e Analisi", le modalità di verifica dell'apprendimento sono:
- elaborazione di un progetto di modellizzazione stocastica applicato ad un caso di studio, utilizzando uno strumento di supporto (Mobius). Il caso di studio verrà assegnato nel corso delle lezioni, e potrà essere svolto in gruppo fino a 3 persone. Il progetto consiste nello sviluppo di modelli stocastici e nella preparazione di un report sulle attività svolte, con la descrizione dei risultati ottenuti. Il progetto sarà valutato in termini di SUFFICIENTE/NON SUFFICIENTE. I criteri per la valutazione del progetto sono: capacità dei modelli di catturare gli aspetti significativi del caso di studio rispetto alle misure di interesse, qualità delle analisi, qualità del report sulle attività svolte. Il progetto deve essere consegnato almeno 7 giorni prima della data prevista per l' orale.
- una prova orale sugli argomenti della parte "Modellizzazione e Analisi" del corso, e sul progetto svolto. Condizione per l'ammissione alla prova orale è la valutazione come sufficiente del progetto. La prova orale è valutata con un voto in trentesimi (con 18 che indica la sufficienza).
Se entrambe le parti "Architetturale" e "Modellizzazione e Analisi" sono sufficienti (voto pari o superiore a 18/30), sarà effettuata una proposta di voto finale. Tale voto è definito come la media tra il voto ottenuto sulla parte "Architetturale" e il voto ottenuto sulla parte "Modellizzazione e Analisi", approssimata per eccesso. Si consegue la lode se entrambe le parti sono state valutate con 30/30.
Programma del corso
Il corso è organizzato in due parti: parte "Architetturale" e parte di "Modellizzazione e Analisi".
La parte "Architetturale", che tratta l'architettura di sistemi cyber-fisici (di sistemi), è composta dai seguenti argomenti:
1- Introduzione ai sistemi cyber-fisici e distribuiti
- architettura
- interfaccia e stigmergia
- emergenza
- dinamicità ed evoluzione
- esempi
2- Architettura di sistemi distribuiti: algoritmi e protocolli per il consenso e l'ordinamento.
3- Approcci Model-Driven Engineering per la progettazione di SoS.
- Il ruolo della modellazione e dell'ingegneria model-driven
- UML, SysML
- strumenti e alternative
4- Costruire sistemi ciber-fisici (laboratorio): definizione dei requisiti, modellazione e implementazione (con un po' di robotica)
- Presentazione e introduzione al laboratorio
- definizione dello use case
- Definizione dei requisiti
- Modellizzazione del sistema
- Implementazione su Thymios robots
La parte "Modellizzazione e Analisi", relativa alle metodologie e formalismi per la valutazione quantitativa e analisi delle proprietà dei sistemi, è composta dai seguenti argomenti:
1- Introduzione e breve richiamo alla Teoria della Probabilità
- Concetti di base di dependability. Nozioni di base sull'analisi delle prestazioni e dell'affidabilità dei sistemi e sulla validazione dei sistemi.
- Definizioni di prestazioni e indicatori di affidabilità.
- Regole per la costruzione e la validazione dei modelli.
- Fondamenti di teoria della probabilità.
2- Analisi RAMS: metodi combinatori
- Metodi Booleani.
- Fault Trees e altri formalismi grafici.
3- Catene di Markov.
- Processi di Markov a tempo discreto.
- Processi di Markov a tempo continuo.
4- Reti di Petri (Petri Nets - PN)
- Introduzione alle PN.
- PN con priorità e temporizzate.
- Reti di Petri stocastiche.
- Altri formalismi di modellizzazione: GSPN, SAN, ADVISE.
- Strumenti di supporto automatici: Möbius.