| | | corso | | | |
Sistemi di Elaborazione dell'Informazione: Sistemi Affidabili
(Corso di Laurea in Informatica (quinquennale))
Codice: | 4I093 | Crediti: | 6 | Semestre: | 2 | Sigla: | SSA | |
Docente
Felicita Di Giandomenico
Obiettivi di apprendimento
Questo corso si propone di introdurre le problematiche legate alla Dependability
(garanzia di funzionamento) dei sistemi di elaborazione (hardware-software).
Sistemi critici con elevati requisiti di affidabilitą e disponibilitą sono sempre pił
diffusi. Questo corso mira a fornire le conoscenze fondamentali per la
progettazione e la validazione di sistemi con adeguate caratteristiche di
affidabilitą, disponibilitą e sicurezza.
Descrizione
Verranno introdotti i concetti di dependability (proprietą di un sistema di
elaborazione che permette di riporre fiducia in modo giustificato nel servizio
che questo fornisce) dei sistemi di elaborazione (hardware-software) e alcune
tecniche di prevenzione, tolleranza, eliminazione e previsione dei guasti che
devono essere usate in modo combinato nella progettazione e validazione di
sistemi dependable.
English Description
This course introduces the concept of Dependability of computer systems
(hardware and software). Dependability is that property of a computer system
such that reliance can justifiably be placed on the services it delivers. The
course will thus show (some of) the techniques for fault prevention, tolerance,
removal and forecasting, which must be combined together to design and
validate dependable systems.
Programma
Introduzione
Concetti di base di tolleranza ai guasti ed affidabilitą: guasti, errori e fallimenti.
Prevenzione del guasto, tolleranza al guasto, eliminazione del guasto e
previsione del guasto.
Tecniche di progetto di sistemi hardware affidabili
Tecniche di prevenzione del guasto: variazioni ambientali, variazioni di qualita',
livello di integrazione dei componenti. Tecniche di rilevazione del guasto:
duplicazione, codici rilevatori di errore, logica self-checking e fail safe.
Tecniche di ridondanza per mascheramento - statica: ridondanza N modulare
con votazione, codici correttori di errore - dinamica: riconfigurazione e
recovery.
Software Dependability
Approccio 'Safety Net': asserzioni eseguibili con exception handling e strutture
dati robuste. Programmazione difensiva.
Principio di design diversity. 'Structured' software fault tolerance: recovery
blocks e loro evoluzione, programmazione ad n-versioni e relativa metodologia.
Tecniche intermedie e/o combinate: programmazione n-self-checking, SCOP,
recovery blocks distribuiti ecc. Problemi associati alla applicazione di design
diversity: Votatori inesatti, mascheramento degli errori. Impatto architetturale
della software fault tolerance.
Valutazione delle prestazioni ed affidabilitą
Definizioni statistiche associate alla prestazione di un sistema e alle sue
caratteristiche di affidabilitą. Modellazione della dependability ed interazioni con
le altre tecniche di fault forecasting quali testing e fault injection. Packages
automatizzati di calcolo di affidabilitą: ULTRASAN e DEEM.
Architettura di sistemi commerciali affidabili di medie e grandi
dimensioni
Verrą esaminata l' architettura del sistema GUARDS, quale esempio di
architettura generica per sistemi affidabili in tempo reale.
Ore lezione: | 25 | Ore esercitazione: | 15 | | | |
Bibliografia
- Siewiorek, D.P, Swarz R."Reliable Computer Systems: Design and
Evaluation", Prentice Hall, 1992
- Anderson, T, Lee P.A., "Fault-Tolerance: Principles and Practice",
Springer-Verlag, 1991
- Lyu, M., ed., "Software Fault Tolerance", John Wiley & Sons, 1995
- J. C. Laprie, "Dependability - its Attributes, Impairments and Means," in
"Predictably Dependable Computing Systems", B. Randell, J. C. Laprie, H.
Kopetz and B. Littlewood Ed., Springer-Verlag, 1995, pp. 1-28.
- Articoli vari forniti dal docente
Modalità di esame
Scritto e orale