elenco   
        corso   

Sistemi Affidabili

Codice: AA288Crediti: 6Semestre: 2Sigla: SA 

Docente

Felicita Di Giandomenico   felicita.digiandomenico@isti.cnr.it

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 qualità, 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.
     

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.

Modalità di esame

Progettino e Prova Orale

home


email