Concetti di base di Dependability. Attributi e mezzi per la dependability.
System Dependability. Metodologie e fasi di progettazione. HW e SW Fault tolerance. Safety Net. Exception Handling.
Aspetti di tempo reale. Modelli di interazione (sincrona e asincrona) e di guasto. Clocks e schedulazione. Il consenso.
Aspetti di certificazione. Safety standards e safety certification: Cenelec 5012x(railway) ISO 26262 (automotive).
Esempi di architetture per sistemi affidabili (SIFT, GUARDS, TTA).
• Avizienis, A.; Laprie, J.-C.; Randell, B.; Landwehr, C. “Basic concepts and taxonomy of dependable and secure computing” IEEE TDSC, Vol. 1 Page(s): 11- 33, 2004.
• Siewiorek, D.P, Swarz R."Reliable Computer Systems: Design and Evaluation", 3rd edition, A. K. Petres, Ltd., 1998
• Hermann Kopetz: Real-Time Systems: Design Principles for Distributed Embedded Applications, second edition, Springer, 2011
• Paulo Verissimo, Luis Rodrigues: Distributed Systems for System Architects, Springer, 2001.
• Andrew S. Tanenbaum, Maarten van Steen: Distributed Systems: Principles And Paradigms, Pearson Prentice Hall, 2006.
Obiettivi Formativi
Sempre di più la nostra società fa affidamento sul corretto funzionamento di sistemi informatici ed infrastrutture critici con importanti vincoli di tempo reale il cui fallimento può avere conseguenze catastrofiche.
Il corso si propone di introdurre le problematiche relative alla progettazione, validazione e certificazione di sistemi con requisiti di criticità e di tempo.
Verranno illustrati i concetti alla base della disciplina e descritte le principali tecniche sia al livello di architettura di sistema sia a quello sempre più importante del software.
Al termine del corso, saranno acquisite capacità di:
i) ragionare sulle implicazioni di requisiti non funzionali riguardanti soprattutto dependability sulle scelte architetturali per il sistema in sviluppo;
ii) orientarsi nelle soluzioni fault tolerant secondo principali schemi e tecniche già consolidati;
iii) orientarsi nell'ambito della certificazione di sistemi critici secondo i principali standard internazionali
Prerequisiti
Nessuno
Metodi Didattici
CFU: 6
Ore totali del corso: 180
Ore per studio personale e altre attività formative di tipo individuale: 132
Ore relative alle attività in aula: 48
Ore relative ad attività di laboratorio (lezioni in laboratorio): 0
Numero di ore relative ad attività di esercitazioni (in laboratorio e in campo): 0
Numero di ore relative ad attività seminariali: 0
Numero di ore relative ad attività di stage: 0
Numero di ore per prove in itinere: 0
Altre Informazioni
Frequenza delle lezioni ed esercitazioni: Raccomandata
Strumenti a supporto della didattica UniFi E-Learning: http://e-l.unifi.it
Orario di ricevimento:
Prof. Andrea Bondavalli,
Su appuntamento. Contattare il docente tramite numero telefonico o e-mail (bondavalli@unifi.it).
DiMaI, Universita' di Firenze, Viale Morgagni, 65 - 50134 Firenze
Tel. 055 2751481
Dott. Andrea Ceccarelli,
Su appuntamento. Contattare il docente tramite numero telefonico o e-mail (andrea.ceccarelli@unifi.it).
DiMai, Universita' di Firenze, Viale Morgagni, 65 - 50134 Firenze
Tel. 055 2751487
Modalità di verifica apprendimento
La verifica dell'apprendimento è composta di due parti:
- elaborazione di un approfondimento o di un
progetto;
- prova orale.
Condizione per l'ammissione alla prova orale è l'accettazione della relazione sul progetto.
Programma del corso
Concetti di base di Dependability:
- Attributi della Dependability: reliability, availability, safety,...
- La catena guasto - errore – fallimento.
- I mezzi per la dependability: Fault prevention, Fault tolerance, Fault removal e Fault forecasting.
System dependability:
- Metodologie e fasi di progettazione. System Development Life Cycle, modelli Waterfall e V-shaped.
- HW Fault tolerance. Tecniche di rilevazione del guasto. Tecniche di ridondanza per mascheramento.
- SW Fault tolerance e SW dependability. Safety Net approach. Design diversity.
Strutture per Software Fault Tolerance: recovery blocks, n-version programming. Exception Handling ed esempi di supporti linguistici.
Aspetti di tempo reale:
- Sistemi critici realtime distribuiti.
- Tempo ed ordinamento degli eventi.
- Time base, Rs&A Clock, Cenni alla schedulazione.
- Modelli di sistema: modello sincrono ed asincrono.
- Il consenso ed il Teorema FLP
- Modelli intermedi: Failure detectors, Timed Asynchronous, Wormholes.
Aspetti di certificazione:
- Il processo di certificazione: gli attori coinvolti, le procedure e le tecniche.
- Safety Case.
- Norme di riferimento per la certificazione.
- IEC61508 Functional safety of
electrical/electronic/programmable
electronic safety-related systems.
- Standard internazionali relativi alla certificazione di sistemi critici nei diversi domini applicativi.
- Approfondimenti attraverso esempi e case studies: Il settore automotive (Cenelec 5012x) e lo standard ISO/IEC 26262 nel ferroviario.