Sempre di più la nostra società fa affidamento sul corretto funzionamento di sistemi informatici predisposti al controllo di attività critiche, il cui fallimento può avere conseguenze catastrofiche sull’uomo e l’ambiente.
Il corso si propone di introdurre le problematiche relative alla progettazione, validazione e certificazione di sistemi con requisiti di criticità e di tempo. Fornisce la conoscenza dei concetti alla base dei sistemi dependable e presenta le principali tecniche sia al livello d
Siewiorek, D.P, Swarz R."Reliable Computer Systems: Design and Evaluation", 3rd edition, A. K. Petres, Ltd., 1998
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
Lyu, M., ed., "Software Fault Tolerance", John Wiley & Sons, 1995
B. Randell, "System Structure for Software Fault Tolerance," IEEE TSE, Vol. SE-1, pp. 220-232, 1975.
Bondavalli,A. Di Giandomenico, F. and Xu, J. ,"A Cost-Effective and Flexible Scheme for Software Fault Tolerance," Journal of Computer Systems Science and Engineering, Vol. 8, pp. 234-244, 1993.
P.G. Bishop, F.D. Pullen, "Failure Masking: a Source of Failure Dependency in Multiversion Programs", in Dependable Computing for Critical Applications, Santa Barbara, 1989, pp. 25-32
U. Voges, editor, Software Diversity in Computerized Control Systems, Springer Verlag, 1988
D. Powell Ed., "A Generic Fault-Tolerant Architecture for Real-Time Dependable Systems", Kluwer Academic Publishers, 2001.
T. Anderson & P.A. Lee, Fault Tolerance - Principles and Practice, Prentice-Hall International, INC, 1981
ISO 26262 International Standard - Road vehicles — Functional Safety — Parts 1 -10
F.Fabbrini, M.Fusani, G.Lami, Concepts and Practice of Software Certification, Proc. of 5rd Int.l Symposium on Software Process Improvement, Recife, 2003.
Fabbrini F., Fusani M., Lami G., Panaroni P., Sartori G., Safety in Automotive Software: an Overview of Current Practices, Int.l Workshop on Software Engineering Challenges in Automotive Domain. COMPSAC 2008 Proceedings. IEEE, 2008.
International Organization for Standardization. ISO/IEC 15504 International Standard, Information Technology – Software Process Assessment, 2008.
Automotive SPICE, Process Assessment Model (PAM) v2.5, 2010.
Automotive SPICE, Process Reference Model (PRM) v4.5, 2010.
Software Engineering Institute, +SAFE, V1.2 A Safety Extension to CMMI-DEV, V1.2, Technical Note CMU/SEI-2007-TN006. 2007.
GUPFI-ISMA Metriche del software Esperienze e ricerche, Franco Angeli ed., 2006.
Obiettivi Formativi
Sempre di più la nostra società fa affidamento sul corretto funzionamento di sistemi informatici 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
Altre Informazioni
Strumenti di supporto della didattica:
UniFi E-Learning: http://e-l.unifi.it
Modalità di verifica apprendimento
La modalità di verifica dell'apprendimento consta 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:
• Tecniche di rilevazione del guasto:
• Tecniche di ridondanza per mascheramento.
Software dependability:
• Safety Net approach.
• Design diversity.
• Strutture per Software Fault Tolerance: recovery blocks, n-version programming.
• Problemi con design diversity: votatori inesatti, mascheramento degli errori
Esempi di architetture per sistemi dependable
• SIFT, GUARDS
Certificazione:
• Concetti e tecniche per la valutazione della qualità del software
• Il processo di certificazione: gli attori coinvolti, le procedure e le tecniche
• Perimetro e validità della certificazione
• Norme di riferimento per la certificazione
• Oggetto della certificazione: sistema, software, processo
• Certificazione vs. qualità
Standard internazionali relativi alla certificazione di sistemi critici nei diversi domini applicativi
Approfondimenti attraverso esempi e case studies:
• Il settore automotive e lo standard ISO/IEC 26262