Dependability I mezzi per la garanzia di funzionamento Monica Bianchini Dipartimento di Ingegneria...

50
Dependability — Dependability — I mezzi per la garanzia di I mezzi per la garanzia di funzionamento funzionamento Monica Bianchini Monica Bianchini Dipartimento di Ingegneria Dipartimento di Ingegneria dell’Informazione dell’Informazione Università degli Studi di Siena Università degli Studi di Siena

Transcript of Dependability I mezzi per la garanzia di funzionamento Monica Bianchini Dipartimento di Ingegneria...

Page 1: Dependability I mezzi per la garanzia di funzionamento Monica Bianchini Dipartimento di Ingegneria dellInformazione Università degli Studi di Siena.

Dependability — Dependability — I mezzi per la garanzia di I mezzi per la garanzia di funzionamentofunzionamento

Monica BianchiniMonica Bianchini

Dipartimento di Ingegneria Dipartimento di Ingegneria dell’Informazionedell’Informazione

Università degli Studi di SienaUniversità degli Studi di Siena

Page 2: Dependability I mezzi per la garanzia di funzionamento Monica Bianchini Dipartimento di Ingegneria dellInformazione Università degli Studi di Siena.

Dipendenza fra i mezzi per la Dipendenza fra i mezzi per la dependability — 1dependability — 1

Nonostante la prevenzione del guasto, per mezzo di metodologie di progetto e regole di costruzione, i guasti si verificano Per garantire la dependability, i guasti devono essere eliminati.

Anche le tecniche di eliminazione dei guasti sono imperfette, così come sono imperfetti i componenti commerciali, hardware e software, del sistema, e pertanto è importante la previsione del guasto.

La nostra crescente dipendenza dai sistemi di elaborazione porta al requisito della tolleranza al guasto, che a sua volta si basa su regole di costruzione; pertanto nuovamente eliminazione del guasto, previsione del guasto, etc.

Si noti che il processo è anche più ricorsivo: gli attuali sistemi di elaborazione sono così complessi che il loro progetto richiede strumenti computerizzati. Anche questi strumenti devono essere a funzionamento garantito, etc.

……guasto guasto errore errore fallimento fallimento ……

Page 3: Dependability I mezzi per la garanzia di funzionamento Monica Bianchini Dipartimento di Ingegneria dellInformazione Università degli Studi di Siena.

Dipendenza fra i mezzi per la Dipendenza fra i mezzi per la dependability — 2dependability — 2

L’eliminazione del guasto è strettamente associata con la prevenzione del guasto, a formare le tecniche per evitare i guasti (fault avoidancefault avoidance ).

Considerare l’eliminazione del guasto e la previsione del guasto come costituenti la validazione, permette la comprensione della nozione di coperturacopertura e del problema della ricorsione: la validazione della validazione della validazionevalidazione, ovvero come raggiungere la confidenza nei metodi e negli strumenti usati per avere confidenza nel sistema.

La coperturacopertura è una misura della rappresentatività delle situazioni a cui è sottoposto il sistema durante la validazione, in confronto alle reali condizioni operative.

Il concetto di copertura imperfettacopertura imperfetta rafforza la relazione fra eliminazione del guasto e previsione del guasto, perché la necessità di prevedere guasti deriva dalla copertura imperfetta dell’eliminazione del guasto.

Page 4: Dependability I mezzi per la garanzia di funzionamento Monica Bianchini Dipartimento di Ingegneria dellInformazione Università degli Studi di Siena.

Tolleranza al guasto — 1Tolleranza al guasto — 1 La tolleranza al guastotolleranza al guasto (fault tolerancefault tolerance ) è ottenuta

per mezzo del trattamento dell’erroretrattamento dell’errore e del trattamento del guastotrattamento del guasto.

Il trattamento dell’erroretrattamento dell’errore ha lo scopo di rimuovere gli errori dallo stato della computazione, preferibilmente prima del verificarsi di un fallimento.

Il trattamento dell’erroretrattamento dell’errore può essere eseguito per…– Recupero dell’erroreRecupero dell’errore, con cui uno stato esente da errore

viene sostituito allo stato erroneo; la sostituzione può avvenire con:

• Recupero indietroRecupero indietro, in cui la trasformazione dello stato erroneo consiste nel riportare il sistema in uno stato precedente al verificarsi dell’errore occorre determinare un punto di recuperopunto di recupero;

• Recupero in avantiRecupero in avanti, in cui la trasformazione dello stato erroneo consiste nell’evolvere in un nuovo stato dal quale il sistema possa operare, eventualmente in modo degradato.

– Compensazione dell’erroreCompensazione dell’errore, in cui lo stato erroneo contiene sufficiente informazione (ridondanza) per permettere la fornitura di un servizio esente da errore a partire dallo stato (interno) erroneo.

Page 5: Dependability I mezzi per la garanzia di funzionamento Monica Bianchini Dipartimento di Ingegneria dellInformazione Università degli Studi di Siena.

Quando si usa il recupero dall’errore, occorre che lo stato erroneo venga identificato prima di essere trasformato: questo è lo scopo del rilevamento dell’errore, da cui il termine comunemente utilizzato di rilevamento dell’errore e recuperorilevamento dell’errore e recupero.

Componenti con incorporati meccanismi di rilevamento dell’errore sono componenti autocontrollatiautocontrollati.

Quando si esegue una compensazione dell’errore in un sistema realizzato con componenti che si autocontrollano suddivisi in classi che eseguono gli stessi compiti (aree di confinamento dell’errorearee di confinamento dell’errore ), la trasformazione di stato è una commutazione da un componente fallito ad uno operativo approccio alla tolleranza al guasto noto come rilevamento dell’errore rilevamento dell’errore e compensazionee compensazione.

La compensazione può essere applicata sistematicamente, anche in assenza di errori, ottenendo il mascheramento del guastomascheramento del guasto, ad esempio nella votazione a maggioranza.

Tolleranza al guasto — 2Tolleranza al guasto — 2

Page 6: Dependability I mezzi per la garanzia di funzionamento Monica Bianchini Dipartimento di Ingegneria dellInformazione Università degli Studi di Siena.

Tolleranza al guasto — 3Tolleranza al guasto — 3 Le tecniche di recupero dall’errore indietro e in

avanti non sono mutuamente esclusive: può essere prima tentato un recupero indietro; se l’errore persiste, può essere tentato il recupero in avanti.

Nel recupero in avanti, è necessario valutare il valutare il dannodanno, causato dall’errore rilevato, o dagli errori propagati prima del rilevamento.

Il tempo aggiuntivo necessario per il trattamento dell’errore dipende fortemente dal metodo adottato:– Nel recupero dell’errore all’indietro, per esempio, è

relativo alla determinazione dei punti di recupero;– Nella compensazione dell’errore, il tempo aggiuntivo

è lo stesso, o quasi, sia in caso di presenza che di assenza di errore.

Page 7: Dependability I mezzi per la garanzia di funzionamento Monica Bianchini Dipartimento di Ingegneria dellInformazione Università degli Studi di Siena.

Tolleranza al guasto — 4Tolleranza al guasto — 4

La durata della compensazione dell’errore è molto più breve della durata del recupero dell’errore, a causa della maggiore quantità di ridondanza strutturale. Questa osservazione…– …condiziona la scelta della strategia di

trattamento dell’errore;– …ha introdotto una relazione fra il tempo

aggiuntivo e la ridondanza strutturale; un sistema ridondante ha sempre un comportamento ridondante, caratterizzato da un tempo aggiuntivo di operazione;

• Il tempo aggiuntivo può essere tanto breve da non essere percepibile dall’utente (che ha granularità temporale meno fine);

• Con una certa approssimazione, maggiore è la maggiore è la ridondanza strutturale minore è il tempo aggiuntivo ridondanza strutturale minore è il tempo aggiuntivo necessarionecessario.

Page 8: Dependability I mezzi per la garanzia di funzionamento Monica Bianchini Dipartimento di Ingegneria dellInformazione Università degli Studi di Siena.

Tolleranza al guasto — 5Tolleranza al guasto — 5 Il trattamento del guasto ha lo scopo di

prevenire l’attivazione di guasti ulteriori.

Il primo passo nel trattamento del guasto è la diagnosi del guastodiagnosi del guasto che consiste nel determinare le cause degli errori, sia in termini di locazione che di natura.

Seguono poi le azioni tese a prevenire che il guasto sia nuovamente attivato, tendendo a renderlo passivo: disattivazione del guastodisattivazione del guasto. Ciò è ottenuto…– …rimuovendo i componenti identificati come

guasti da ulteriori esecuzioni.

Se il sistema non è più capace di fornire lo stesso servizio di prima, allora può aver luogo una riconfigurazionericonfigurazione.

Page 9: Dependability I mezzi per la garanzia di funzionamento Monica Bianchini Dipartimento di Ingegneria dellInformazione Università degli Studi di Siena.

Tolleranza al guasto — 6Tolleranza al guasto — 6

Se si valuta che il trattamento dell’errore può rimuovere direttamente il guasto, o se la probabilità che si ripresenti è ragionevolmente bassa, la disattivazione del guasto può non essere eseguita.

Finché il guasto non viene disattivato, viene considerato come guasto deboledebole (softsoft ); eseguire la disattivazione del guasto implica considerarlo

forteforte o solidosolido (hardhard/solidsolid ). Un guasto è debole quando la diagnosi del guasto non ha successo.

Le nozioni di guasto debole/forte possono apparire sinonimi delle nozioni di guasto temporaneo/permanente:– La tolleranza ai guasti temporanei non necessita

del trattamento del guasto, poiché il recupero dell’errore dovrebbe rimuovere direttamente gli effetti del guasto, purché un guasto permanente non sia stato creato nel processo di propagazione.

Page 10: Dependability I mezzi per la garanzia di funzionamento Monica Bianchini Dipartimento di Ingegneria dellInformazione Università degli Studi di Siena.

Tolleranza al guasto — 7Tolleranza al guasto — 7

Nel trattare sistemi tolleranti al guasto, si incontrano frequentemente situazioni che coinvolgono guasti e/o fallimenti multipli. Considerando le loro cause si possono distinguere:– Guasti indipendenti,Guasti indipendenti, che sono attribuiti a cause

differenti;– Guasti correlatiGuasti correlati, che sono attribuiti ad una causa

comune; i guasti correlati causano in fallimenti a fallimenti a modo comunemodo comune.

La relazione temporale fra fallimenti multipli porta a distinguere:– Fallimenti simultaneiFallimenti simultanei, che si verificano entro una certa

finestra temporale predefinita;– Fallimenti sequenzialiFallimenti sequenziali, che non si verificano entro la

stessa finestra temporale.

Page 11: Dependability I mezzi per la garanzia di funzionamento Monica Bianchini Dipartimento di Ingegneria dellInformazione Università degli Studi di Siena.

Tolleranza al guasto — 8Tolleranza al guasto — 8

In un sistema tollerante al guasto, che è stato progettato per tollerare un guasto singolo alla volta, è necessario recuperare dagli effetti di un guasto prima che il sistema possa tollerare il guasto successivo.

La finestra temporale che separa i guasti simultanei da quelli sequenziali è l’intervallo di tempo necessario per il trattamento dell’errore e possibilmente il trattamento del guasto, durante il quale il sistema è vulnerabile.

Un aspetto importante della coordinazione delle attività di componenti multipli consiste nell’evitare che la propagazione degli errori influenzi le operazioni di componenti non falliti.

Page 12: Dependability I mezzi per la garanzia di funzionamento Monica Bianchini Dipartimento di Ingegneria dellInformazione Università degli Studi di Siena.

Tolleranza al guasto — 9Tolleranza al guasto — 9 Evitare effetti collaterali su componenti non falliti è

particolarmente importante quando un dato componente deve comunicare qualche informazione, che lui solo possiede, ad altri componenti: i componenti operativi devono raggiungere un accordoaccordo sul come usare l’informazione ottenuta in modo mutuamente consistente.

Attenzione specifica a questo problema è stata dedicata nel campo dei sistemi distribuitisistemi distribuiti.

Sistemi tolleranti al guasto, geograficamente localizzati, possono usare soluzioni al problema dell’accordo che sarebbero giudicate troppo costose in un sistema distribuito classico, composto da componenti che comunicano tramite messaggi.

Page 13: Dependability I mezzi per la garanzia di funzionamento Monica Bianchini Dipartimento di Ingegneria dellInformazione Università degli Studi di Siena.

Tolleranza al guasto — 10Tolleranza al guasto — 10 La conoscenza di alcune proprietà del sistema

può limitare la quantità di ridondanza necessaria — tolleranza al guasto a basso costotolleranza al guasto a basso costo. Esempi di queste proprietà sono le regolarità di natura strutturale:– Codici rilevatori e correttori di erroreCodici rilevatori e correttori di errore;– Strutture dati robusteStrutture dati robuste;– Multiprocessori e reti di calcolatoriMultiprocessori e reti di calcolatori.

I guasti tollerati sono dipendenti dalle proprietà che si tengono in conto, in quanto esse intervengono direttamente nelle ipotesi di guasto.

È importante la segnalazione del fallimento di un componente ai suoi utenti gestione gestione dell’eccezionedell’eccezione.– Presente in alcuni linguaggi, costituisce un modo per

implementare il recupero in avanti dell’errore di un componente software.

Page 14: Dependability I mezzi per la garanzia di funzionamento Monica Bianchini Dipartimento di Ingegneria dellInformazione Università degli Studi di Siena.

Tolleranza al guasto — 11Tolleranza al guasto — 11 La tolleranza al guasto è un concetto ricorsivo:

è essenziale che i meccanismi tendenti ad implementare la tolleranza al guasto siano protetti nei confronti dei guasti che li possono influenzare. Esempi:– Replicazione dei votatori;– Controllori che si autocontrallano;– Memoria “stabilestabile” per il recupero di dati e programmi.

La tolleranza al guasto non è limitata ai guasti accidentali.

La protezione contro le intrusioni coinvolge tradizionalmente la crittografiacrittografia.

Esistono meccanismi di rilevazione di errore orientati sia ai guasti intenzionali, che accidentali (ad es., tecniche di protezione sugli accessi in memoria) e sono stati proposti schemi per la tolleranza sia alle intrusioni che ai guasti fisici, che alla logica maliziosa.

Page 15: Dependability I mezzi per la garanzia di funzionamento Monica Bianchini Dipartimento di Ingegneria dellInformazione Università degli Studi di Siena.

CrittografiaCrittografia Negli attuali sistemi informativi distribuiti, e più

in generale nel settore delle telecomunicazioni, la crittografiacrittografia ha assunto un rilievo ed un interesse crescenti nelle infrastrutture di sicurezza.

La ragione è evidente: un numero considerevole di messaggi viaggia sui canali più disparati, dalla posta al telefono, alle comunicazioni via etere, al telex, fino alle linee di trasmissione dati.

Altrettanto enorme è l’nformazione immagazzinata nelle memorie di massa dei calcolatori e nelle banche dati.

Se da un lato il progresso tecnologico agevola la manipolazione (e l'intercettazione) dei dati, dall'altro facilita anche l'applicazione della crittografia per proteggere l'informazione stessa.

Page 16: Dependability I mezzi per la garanzia di funzionamento Monica Bianchini Dipartimento di Ingegneria dellInformazione Università degli Studi di Siena.

Crittografia: Terminologia — 1Crittografia: Terminologia — 1

In un sistema crittografico, il testo in chiaro viene trasformato, secondo regole, nel testo in cifra o crittogrammacrittogramma; tale operazione si chiama cifraturacifratura.

Il testo cifrato viene quindi trasmesso al destinatario attraverso un opportuno canale di comunicazione. Il canale non sarà completamente affidabile: lungo il percorso può trovarsi una spia che può intercettare il crittogramma e tentare di decifrarlo.

Il destinatario legittimo decifra il crittogramma e riottiene il testo in chiaro: se il sistema di cifra, o cifrariocifrario, è ben congegnato, l'operazione di decifrazionedecifrazione o  decifratura deve risultare semplice al destinatario legittimo, ma di complessità proibitiva alla spia possibile in quanto gli interlocutori legittimi possiedono un'informazione che deve rimanere inaccessibile alla spia, la chiave del cifrariochiave del cifrario.

Page 17: Dependability I mezzi per la garanzia di funzionamento Monica Bianchini Dipartimento di Ingegneria dellInformazione Università degli Studi di Siena.

Crittografia: Terminologia — 2Crittografia: Terminologia — 2

Il modello delineato è schematizzato in figura:

Occorre notare la distinzione tra decifrazione e decrittazionedecrittazione: quest'ultima è l'operazione illegittima in cui non ci si può avvalere della chiave.

Cifratura (C), decifrazione (D1) e decrittazione (D2)Cifratura (C), decifrazione (D1) e decrittazione (D2)

Page 18: Dependability I mezzi per la garanzia di funzionamento Monica Bianchini Dipartimento di Ingegneria dellInformazione Università degli Studi di Siena.

Crittografia: Terminologia — 3Crittografia: Terminologia — 3 Il problema della distribuzione delle chiavi è un punto

di importanza cruciale in qualsiasi cifrario: si dice che la chiave è comunicata al destinatario tramite un corrierecorriere.

Per rendere nota la chiave segreta ci si può affidare ad un canale speciale assolutamente fidato, ma se così è, esso potrebbe essere usato per trasmettere il crittogramma o il messaggio in chiaro.     

In realtà, l'uso di un canale speciale è costoso inoltre esso potrebbe essere disponibile solo per brevi intervalli di tempo e/o in determinati momenti.

I metodi di costruzione di un cifrario non possono essere disgiunti dallo studio degli eventuali metodi per demolirlo, ovvero non ci si può occupare di crittografiacrittografia (la parte costruttiva) senza occuparsi di crittanalisicrittanalisi (la parte distruttiva): insieme esse costituiscono una disciplina unitaria detta crittologiacrittologia.

Nell'uso corrente si usa ""crittografiacrittografia"" là dove si dovrebbe dire ""crittologiacrittologia".".

Page 19: Dependability I mezzi per la garanzia di funzionamento Monica Bianchini Dipartimento di Ingegneria dellInformazione Università degli Studi di Siena.

Crittografia: Algoritmi — 1Crittografia: Algoritmi — 1 Alcuni sistemi crittografici si affidano

esclusivamente alla segretezza degli algoritmi utilizzati solo di interesse storico, inadeguati per le applicazioni reali.

Tutti i moderni algoritmi utilizzano una chiavechiave per controllare sia cifratura che decifratura; un messaggio può cioè essere letto solo se la chiave di decifrazione corrisponde in qualche modo a quella di cifratura.

Esistono due classi di algoritmi: – simmetricisimmetrici (o a chiave segreta): utilizzano la stessa

chiave per cifrare e decifrare (o la chiave di decifrazione è facilmente ottenibile a partire da quella di cifratura);

– asimmetrici asimmetrici (o a chiave pubblica): utilizzano due chiavi diverse e la chiave di decifrazione non può essere ricavata a partire dalle informazioni contenute nella chiave di cifratura.     

Page 20: Dependability I mezzi per la garanzia di funzionamento Monica Bianchini Dipartimento di Ingegneria dellInformazione Università degli Studi di Siena.

Crittografia: Algoritmi — 2Crittografia: Algoritmi — 2 Gli algoritmi simmetrici possono essere suddivisi

in cifrari di flussocifrari di flusso e cifrari di bloccocifrari di blocco. I cifrari di flusso possono crittare un singolo bit del messaggio in chiaro alla volta, mentre i cifrari di blocco trasformano l'informazione a blocchi di bit (tipicamente 64 bit ).

I cifrari asimmetrici permettono che la chiave di cifratura sia resa pubblica, consentendo a chiunque di cifrare messaggi con tale chiave, mentre solo il legittimo destinatario (colui che conosce la chiave di decifrazione) può decifrare il messaggio. La chiave di cifratura è anche detta chiave pubblicachiave pubblica e la chiave di decifrazione chiave privatachiave privata o chiave segreta.

In generale gli algoritmi simmetrici sono più rapidi di quelli asimmetrici; in pratica vengono utilizzati insieme.

Page 21: Dependability I mezzi per la garanzia di funzionamento Monica Bianchini Dipartimento di Ingegneria dellInformazione Università degli Studi di Siena.

Crittografia: Algoritmi — 3Crittografia: Algoritmi — 3

Il funzionamento di molti dei meccanismi di sicurezza per le transazioni in rete (commercio elettronico e applicazioni affini) infatti utilizzano un algoritmo a chiave pubblica per crittare una chiave di cifratura generata casualmente (detta chiave di sessione); quest'ultima è utilizzata per cifrare il vero messaggio usando un algoritmo simmetrico.

Questa soluzione offre buone garanzie di prestazioni e di sicurezza, visto che normalmente gli algoritmi simmetrici sono più rapidi e che la chiave di cifratura viene cambiata ad ogni sessione.

Esempio di trasmissione sicuraEsempio di trasmissione sicura

Page 22: Dependability I mezzi per la garanzia di funzionamento Monica Bianchini Dipartimento di Ingegneria dellInformazione Università degli Studi di Siena.

Esempio: l’algoritmo RSAEsempio: l’algoritmo RSA L'algoritmo RSA (così detto dai nomi

degli ideatori R. Rivest, A. Shamir, e L. Adleman) è un algoritmo a chiave pubblica e basa i meccanismi di cifratura e di generazione delle chiavi sulla aritmetica modulare.

In particolare, l‘algoritmo RSA sfrutta l'elevamento a potenza in modulo per cifrare e decifrare messaggi costituiti dall'equivalente numerico di un qualsiasi messaggio testuale.

1. Vengono scelti due numeri primi R, S molto grandi;

2. Viene calcolato N=RS e la funzione di Eulero J(N) = (R-1)(S-1) dopo di che i due primi R, S vengono eliminati;

3. Si sceglie un intero P<J(N) e primo con esso;

4. Viene calcolato l'intero K così da avere PK = 1 mod J(N);

5. Vengono resi pubblici i valori P, N che costituiscono la chiave pubblica e mantenuto segreto K che, utilizzato con N rappresenta la chiave privata.

Page 23: Dependability I mezzi per la garanzia di funzionamento Monica Bianchini Dipartimento di Ingegneria dellInformazione Università degli Studi di Siena.

Eliminazione del guasto — 1Eliminazione del guasto — 1 L’eliminazione del guasto è composta da tre fasi:

verificaverifica, diagnosidiagnosi e correzionecorrezione. La verifica verifica è il processo di controllo di aderenza

del sistema alle proprietà, dette condizioni di condizioni di verificaverifica.

Se il sistema non rispetta le condizioni di verifica occorre quindi diagnosticare i guasti che ne hanno impedito il rispetto ed eseguire le correzioni necessarie.

Dopo la correzione, il processo deve riprendere per poter controllare che l’eliminazione del guasto non abbia conseguenze indesiderate: verifica di non verifica di non regressioneregressione.

Le condizioni di verifica possono essere…– …condizioni generali, che si applicano ad una data

classe di sistemi e sono relativamente indipendenti dalla specifica (ad es., assenza di deadlock, conformità alle regole di progetto e di realizzazione);

– …condizioni particolari per il sistema considerato, dedotte direttamente dalle sue specifiche.

Page 24: Dependability I mezzi per la garanzia di funzionamento Monica Bianchini Dipartimento di Ingegneria dellInformazione Università degli Studi di Siena.

Eliminazione del guasto — 2Eliminazione del guasto — 2 Le tecniche di verifica possono essere

classificate a seconda che esse comportino o no la messa in esercizio del sistema.

La verifica di un sistema senza effettiva esecuzione è staticastatica, e può essere effettuata:

– Sul sistema stesso, nella forma di• Analisi staticaAnalisi statica (analisi del flusso di dati, analisi di

complessità, controlli a tempo di compilazione);• Prova di correttezzaProva di correttezza;

– Su un modello di comportamento del sistema (ad es., reti di Petri, automi a stati finiti), per ottenere un’analisi di comportamentoanalisi di comportamento.

Page 25: Dependability I mezzi per la garanzia di funzionamento Monica Bianchini Dipartimento di Ingegneria dellInformazione Università degli Studi di Siena.

Eliminazione del guasto — 3Eliminazione del guasto — 3 Verificare un sistema tramite la sua messa in

esercizio, costituisce la verifica dinamicadinamica; gli ingressi forniti al sistema possono essere sia simbolici, nel caso di esecuzione simbolicaesecuzione simbolica, che con valori, come nel caso del test di verificatest di verifica.

Il test esaustivo di un sistema rispetto a tutti i suoi possibili ingressi è, in genere, troppo costoso. Le configurazioni di test devono essere opportunamente selezionate, utilizzando criteri…– …per la scelta degli ingressi di test,– …per la generazione degli ingressi di test.

Page 26: Dependability I mezzi per la garanzia di funzionamento Monica Bianchini Dipartimento di Ingegneria dellInformazione Università degli Studi di Siena.

Eliminazione del guasto — 4Eliminazione del guasto — 4 I criteri per la scelta degli ingressi di test

possono essere considerati in base a:– Lo scopo del test: il controllo se il sistema soddisfa le

sue specifiche funzionali prende il nome di test di test di conformitàconformità, mentre il test teso al rilevamento dei guasti si chiama test di individuazionetest di individuazione;

– Il modello del sistema: a seconda se i criteri sono relativi alla funzione o alla struttura del sistema, essi portano rispettivamente al test funzionaletest funzionale e al test test strutturalestrutturale;

– L’esistenza di un modello di guasto: viene condotto il test basato sul guasto, teso a rilevare particolari classi di guasti (guasti nella produzione dell’hardware, guasti fisici che influenzano il set di istruzioni di un microprocessore, guasti di progetto nel software, etc.).

La possibilità di definire un modello di guasto è strettamente correlata allo stadio del processo di sviluppo: più avanzato è lo stadio, più alta è la possibilità di definire un modello di guasto.

Page 27: Dependability I mezzi per la garanzia di funzionamento Monica Bianchini Dipartimento di Ingegneria dellInformazione Università degli Studi di Siena.

Eliminazione del guasto — 5Eliminazione del guasto — 5 La generazione degli ingressi di test può

essere deterministica o probabilistica:– Nel test deterministicotest deterministico, le configurazioni di test

sono predeterminate da una scelta selettiva secondo i criteri adottati;

– Nel test casualetest casuale o statisticostatistico, le configurazioni di test sono scelte in accordo con una distribuzione di probabilità definita rispetto al dominio degli ingressi.

Osservare le uscite del test e decidere se soddisfano o no le condizioni di verifica è noto come problema dell’oracoloproblema dell’oracolo.

Le condizioni di verifica si possono applicare all’intero insieme delle uscite o ad una funzione compatta che le rappresenti.

Page 28: Dependability I mezzi per la garanzia di funzionamento Monica Bianchini Dipartimento di Ingegneria dellInformazione Università degli Studi di Siena.

Eliminazione del guasto — 6Eliminazione del guasto — 6

Poiché la verifica deve essere eseguita durante l’intero sviluppo del sistema, le tecniche precedenti si applicano naturalmente alle varie forme assunte dal sistema durante il suo sviluppo: prototipo, componente, etc.

Verificare che il sistema non possa fare di più di ciò non possa fare di più di ciò per cui è specificatoper cui è specificato è particolarmente importante rispetto ai guasti intenzionali.

Progettare un sistema in modo da facilitare la sua verifica è ciò che si definisce progetto per la progetto per la verificabilitàverificabilità.

L’eliminazione del guasto durante la fase operativa della vita di un sistema è la manutenzione manutenzione correttivacorrettiva, tesa a preservare o migliorare la

capacità del sistema a fornire un servizio in accordo con la specifica.

Page 29: Dependability I mezzi per la garanzia di funzionamento Monica Bianchini Dipartimento di Ingegneria dellInformazione Università degli Studi di Siena.

Eliminazione del guasto — 7Eliminazione del guasto — 7 La manutenzione correttiva può assumere due forme:

– Manutenzione curativaManutenzione curativa, tesa a rimuovere guasti che abbiano prodotto uno o più errori e che siano stati registrati;

– Manutenzione preventivaManutenzione preventiva, tesa a rimuovere guasti prima che producano errori; i guasti possono essere…

• Guasti fisici, che si siano verificati dalle ultime azioni di manutenzione preventiva,

• Guasti di progetto, che abbiano portato ad errori in altri sistemi similari.

Queste definizioni si applicano sia a sistemi non tolleranti il guasto che a sistemi tolleranti il guasto, che possono essere manutenibili in linea (senza interrompere la fornitura del servizio) o fuori linea.

La frontiera fra manutenzione correttiva e trattamento del guasto è relativamente arbitraria; la manutenzione curativa può essere considerata come un mezzo estremo per ottenere tolleranza al guasto.

Page 30: Dependability I mezzi per la garanzia di funzionamento Monica Bianchini Dipartimento di Ingegneria dellInformazione Università degli Studi di Siena.

Previsione del guasto — 1Previsione del guasto — 1 La previsione del guasto si effettua eseguendo

una valutazionevalutazione del comportamento del sistema rispetto all’occorrenza o all’attivazione del guasto.

La vita di un sistema è percepita dal suo utente come un’alternanza fra due stati del servizio fornito, rispetto alla specifica:– Servizio correttoServizio corretto, quando il servizio fornito è in accordoè in accordo

con la specifica;– Servizio non correttoServizio non corretto, quando il servizio fornito non non

è in accordoè in accordo con la specifica. CorrettoCorretto può essere il servizio fornito dal

sistema: difficilmente esistono sistemi non guasti, semplicemente possono non avere ancora fallito.

Un fallimento è una transizione da un servizio corretto ad un servizio non corretto, e la transizione da un servizio non corretto ad uno corretto è un ripristinoripristino.

Page 31: Dependability I mezzi per la garanzia di funzionamento Monica Bianchini Dipartimento di Ingegneria dellInformazione Università degli Studi di Siena.

Previsione del guasto — 2Previsione del guasto — 2 Quantificare l’alternanza fra servizio fornito corretto e

non corretto permette di definire l’affidabilità e la disponibilità come misure della dependability:– AffidabilitàAffidabilità: una misura della fornitura continua di

servizio corretto o, analogamente, del tempo altempo al fallimento;

– DisponibilitàDisponibilità: una misura della fornitura di servizio corretto rispetto all’alternanzarispetto all’alternanza fra servizio corretto e non corretto.

Una terza misura, la manutenibilitàmanutenibilità, viene di solito considerata, ed è definita come una misura del tempo al ripristino dall’ultimo fallimento o, analogamente, della fornitura continua di servizio non corretto.

Lo stato del servizio corretto e lo stato del servizio conseguente a fallimenti benigni costituiscono lo stato di funzionamento sicurostato di funzionamento sicuro (esente da danni catastrofici, non dal pericolo).

Page 32: Dependability I mezzi per la garanzia di funzionamento Monica Bianchini Dipartimento di Ingegneria dellInformazione Università degli Studi di Siena.

Previsione del guasto — 3Previsione del guasto — 3

La sicurezza sicurezza (di funzionamentodi funzionamento, safety, safety ) è una misura della sicurezza di funzionamento continuo

o, analogamente, del tempo al fallimento

catastrofico può considerarsi come l’affidabilità rispetto ai fallimenti catastrofici.

Una estensione diretta della disponibilità, non fornirebbe una misura significativa: quando un fallimento catastrofico si è verificato, le conseguenze sono talmente importanti che il ripristino del servizio non è di primaria importanza, perché…– …è secondario rispetto alla riparazione delle

conseguenze catastrofiche;– …il lungo periodo prima di permettere la ripresa

delle operazioni condurrebbe a valori numerici insignificanti.

Page 33: Dependability I mezzi per la garanzia di funzionamento Monica Bianchini Dipartimento di Ingegneria dellInformazione Università degli Studi di Siena.

Previsione del guasto — 4Previsione del guasto — 4 Una misura “ibrida” affidabilità–disponibilità può

comunque essere definita: una misura della fornitura del servizio corretto rispetto all’alternanza del servizio corretto e del servizio non corretto dopo fallimenti benigni.

Fornisce una quantificazione della disponibilità del sistema primaprima del verificarsi di un fallimento catastrofico, e permette di quantificare il compromesso affidabilità/ disponibilità e sicurezza di funzionamento.

Nel caso di sistemi ad operazioni multiple, possono essere distinti diversi modi di fornitura del servizio, dalla piena operatività alla completa inoperatività: misure di dependability per tali sistemi sono misure di prestazione/ affidabilità prestazione/ affidabilità congiuntecongiunte (performabilityperformability ).

Page 34: Dependability I mezzi per la garanzia di funzionamento Monica Bianchini Dipartimento di Ingegneria dellInformazione Università degli Studi di Siena.

Previsione del guasto — 5Previsione del guasto — 5 Gli approcci principali alla previsione del guasto

sono di natura probabilistica, tesi cioè a derivare stime quantitative della dependability, e sono il modellamentomodellamento ed il testtest (di valutazione).

I due approcci sono complementari, poiché il modellamento necessita di dati relativi ai processi base modellati (processo di fallimento, processo di manutenzione, processo di attivazione del sistema, etc.), che possono essere ottenuti per mezzo del test.

Nel caso del modellamento, si distinguono:– Affidabilità stabileAffidabilità stabile: la capacità del sistema di

fornire servizio corretto è preservata (identità stocastica dei tempi al fallimento successivi);

– Crescita di affidabilitàCrescita di affidabilità: la capacità del sistema di fornire servizio corretto è aumentata (incremento stocastico dei tempi al fallimento successivi).

Page 35: Dependability I mezzi per la garanzia di funzionamento Monica Bianchini Dipartimento di Ingegneria dellInformazione Università degli Studi di Siena.

Previsione del guasto — 6Previsione del guasto — 6 ESEMPIESEMPI

– Affidabilità stabileAffidabilità stabile: ad un dato ripristino il sistema è identico a quello precedente il ripristino. Corrisponde alle seguenti situazioni:

• Nel caso di un fallimento hardware, il componente fallito viene sostituito da un componente operativo identico;

• Nel caso di fallimento software, il sistema viene riavviato con una configurazione di ingresso differente da quella che ha portato al fallimento.

– Crescita di affidabilitàCrescita di affidabilità: il guasto la cui attivazione ha portato al fallimento è diagnosticato come guasto di progetto (dell’hardware o del software) ed è rimosso.

Page 36: Dependability I mezzi per la garanzia di funzionamento Monica Bianchini Dipartimento di Ingegneria dellInformazione Università degli Studi di Siena.

Previsione del guasto — 7Previsione del guasto — 7 La valutazione della dependability dei sistemi

in affidabilità stabile è composta da due fasi principali:

– Costruzione del modello del sistema a partire dai processi stocastici elementari che modellano il comportamento dei componenti del sistema e le loro interazioni;

– Elaborazione del modello per poter ottenere le espressioni ed i valori delle misure di dependability del sistema.

La dependability di un sistema è fortemente dipendente dal suo ambiente, nel senso più ampio del termine, o, più specificamente, dal suo carico.

Quando si valutano sistemi dependable, la copertura dei meccanismi di trattamento dell’errore e del guasto ha una influenza molto significativa; la valutazione può essere effettuata o tramite modellamento o tramite test, chiamato allora iniezione del guastoiniezione del guasto.

Page 37: Dependability I mezzi per la garanzia di funzionamento Monica Bianchini Dipartimento di Ingegneria dellInformazione Università degli Studi di Siena.

Gli attributi della dependability — 1Gli attributi della dependability — 1

Gli attributi della dependability sono stati definiti in accordo a proprietà differenti, che assumono diversi significati in dipendenza della particolare applicazione del sistema di elaborazione:

– La disponibilità è sempre richiesta, sebbene ad un livello che dipende dall’applicazione;

– L’affidabilità, la sicurezza e la protezione possono o no essere richieste a seconda dell’applicazione.

Una proprietà addizionale, che è un prerequisito per l’ottenimento delle altre proprietà, è l’integritàintegrità, cioè la condizione del sistema di non essere deteriorato, sia per dati che programmi, rispetto a guasti accidentali o intenzionali.

Page 38: Dependability I mezzi per la garanzia di funzionamento Monica Bianchini Dipartimento di Ingegneria dellInformazione Università degli Studi di Siena.

Gli attributi della dependability — 2Gli attributi della dependability — 2 Le variazioni sull’enfasi da porre sugli attributi

della dependability hanno influenza diretta sul giusto bilanciamento delle tecniche da usare perché il sistema risultante sia dependable.

Questo è un problema difficile: alcuni degli attributi sono antitetici (ad es., disponibilità e sicurezza, disponibilità e protezione), necessitando di compromessi per essere attuati.

La manutenibilità, inoltre, può essere considerata come un ulteriore attributo della dependability, relativo alla facilità con cui possono essere eseguite le azioni di manutenzione.

Page 39: Dependability I mezzi per la garanzia di funzionamento Monica Bianchini Dipartimento di Ingegneria dellInformazione Università degli Studi di Siena.

Gli attributi della dependability — 3Gli attributi della dependability — 3 La definizione di protezione — prevenzione dagli

accessi non autorizzati e/o gestione non autorizzata della informazione — la caratterizza come la combinazione di…– confidenzialitàconfidenzialità (prevenzione dalla divulgazione

non autorizzata di informazione), – integritàintegrità (prevenzione da cancellazione o variazione

non autorizzata di informazione), – disponibilità disponibilità (prevenzione dalla allocazione non

autorizzata di informazione). Si noti che:

– Un accesso o gestione di informazione non autorizzato

può derivare sia da guasto accidentale che intenzionale e alcuni meccanismi per proteggere contro gli accessi non autorizzati sono comuni ad entrambi i tipi di guasto;

– Rispetto ai guasti intenzionali, la nozione di autorizzazione deve essere intesa in senso lato: una persona autorizzata che abusa della propria autorità, viola, eseguendo azioni illegittime, l’autorizzazione che le era stata concessa.

Page 40: Dependability I mezzi per la garanzia di funzionamento Monica Bianchini Dipartimento di Ingegneria dellInformazione Università degli Studi di Siena.

Gli attributi della dependability — 4Gli attributi della dependability — 4 L’attendibilitàattendibilità (trustabilitytrustability ) è la capacità dei sistemi

fault–tolerant (dovuta alla presenza di procedure di rilevamento dell’errore) di fornire agli utenti informazione di correttezza sul servizio fornito.

La valutazione della dependability va oltre le tecniche di validazione descritte, per almeno tre motivi (limitazioni):– Controllare con certezza la copertura del progetto o le

ipotesi di validazione rispetto alla realtà, implicherebbe

una conoscenza ed un dominio della tecnologia usata, dell’uso effettivo del sistema, etc., che vanno ben oltre ciò che è normalmente ottenibile.

– Eseguire la valutazione di un sistema secondo alcuni attributi di dependability rispetto a qualche classe di guasto è attualmente considerato non possibile o non

significativo: le basi teoriche probabilistiche non esistono/non sono largamente accettate;

– Le specifiche “contro” le quali viene eseguita la validazione non sono esenti da guasti (come qualsiasi altro sistema).

Page 41: Dependability I mezzi per la garanzia di funzionamento Monica Bianchini Dipartimento di Ingegneria dellInformazione Università degli Studi di Siena.

Gli attributi della dependability — 5Gli attributi della dependability — 5 Fra le conseguenze di questo stato di cose, si

citano…– L’enfasi posta sul processo di sviluppo e di produzione

quando si valuti un sistema: metodi e tecniche utilizzati e modalità di utilizzo; in alcuni casi viene assegnato un voto al sistema secondo…

• …la natura dei metodi e delle tecniche usati,• …una valutazione della loro utilizzazione.

– La presenza, in aggiunta ai requisiti probabilistici in termini di misura di dependability, del numero di guasti che devono essere tollerati; tale specifica non sarebbe necessaria se le limitazioni menzionate potessero essere superate.

ESEMPIESEMPI:– Per la sicurezza in avionica: i sistemi sono classificati da

A1 (“progetto verificato”) a D (“protezione minima”); i software per aerei per trasporto civile sono classificati come Livello 1, 2 o 3 in base alla criticità delle funzioni che devono essere espletate (critiche, essenziali, o non essenziali).

– Per le applicazioni aerospaziali: viene specificato il numero max di guasti tollerati, sotto la forma di requisiti di “fallimento operativo” o “fallimento non pericoloso”.

Page 42: Dependability I mezzi per la garanzia di funzionamento Monica Bianchini Dipartimento di Ingegneria dellInformazione Università degli Studi di Siena.

Modelli per valutare l’affidabilità di un Modelli per valutare l’affidabilità di un sistema:sistema:Guasti indipendenti — 1Guasti indipendenti — 1 Nel caso in cui i guasti dei componenti di un sistema

sono indipendenti, possono essere usati modelli combinatori.

Tecniche di calcoloTecniche di calcolo Questi modelli associano ad ogni componente i del

sistema una funzione del tempo Ri (t). Lo scopo è quello di derivare la funzione Rsistema (t) che denota la distribuzione di affidabilità del sistema in funzione del tempo. I modelli possono essere applicati sotto le seguenti condizioni:

I fallimenti dei moduli sono indipendenti; Una volta che il modulo è fallito, si assume che produca

sempre risultati scorretti; Il sistema è considerato guasto se non soddisfa le

condizioni di funzionamento di un numero minimo di moduli;

Se il sistema è fallito, successivi fallimenti non riportano mai il sistema in uno stato corretto.

I modelli combinatori più usati sono per sistemi serie/parallelo e sistemi k–of–n.

Page 43: Dependability I mezzi per la garanzia di funzionamento Monica Bianchini Dipartimento di Ingegneria dellInformazione Università degli Studi di Siena.

Modelli per valutare l’affidabilità di un Modelli per valutare l’affidabilità di un sistema:sistema:Guasti indipendenti — 2Guasti indipendenti — 2 Modelli per descrivere sistemiModelli per descrivere sistemi

Il sistema con componenti in serie funziona correttamente solo se tutti i componenti operano correttamente. Se Ri (t) è l’affidabilità di ogni singolo componente i,

R1(t)

Rn-1(t) Rn(t)

Modello con componenti in Modello con componenti in serieserie

Rserie (t) = i = 1,n Ri

(t)dove indica il prodotto. Inoltre la distribuzione di fallimento F, per un sistema in serie, è:Fserie (t) = 1-Rserie (t) = 1-i = 1,n Ri (t) = 1-i = 1,n [1-Fi (t)]

Page 44: Dependability I mezzi per la garanzia di funzionamento Monica Bianchini Dipartimento di Ingegneria dellInformazione Università degli Studi di Siena.

Modelli per valutare l’affidabilità di un Modelli per valutare l’affidabilità di un sistema:sistema:Guasti indipendenti — 3Guasti indipendenti — 3

Il sistema con componenti in parallelo funziona

correttamente se almeno uno dei componenti funziona correttamente. La distri- buzione di fallimento è:

R2(t)

Rn-1(t)

Rn(t)

R1(t)

Modello con componenti in Modello con componenti in paralleloparallelo

L’affidabilità del sistema è:

Rparallelo (t) = 1-Fparallelo (t) = 1-i = 1,n Fi (t) = 1-i = 1,n [1-Ri

(t)]

Fparallelo (t) = i = 1,n Fi (t)

Page 45: Dependability I mezzi per la garanzia di funzionamento Monica Bianchini Dipartimento di Ingegneria dellInformazione Università degli Studi di Siena.

Modelli per valutare l’affidabilità di un Modelli per valutare l’affidabilità di un sistema:sistema:Guasti indipendenti — 4Guasti indipendenti — 4

I modelli chiamati k–of–nk–of–n servono per descrivere situazioni in cui il sistema è guasto se k degli n componenti si guastano, e dove i componenti sono indipendenti ed hanno la stessa distribuzione di fallimento.

La figura:

mostra una connessione di componenti sia in serie che in parallelo.

a

c

b

t2

d

t1

Page 46: Dependability I mezzi per la garanzia di funzionamento Monica Bianchini Dipartimento di Ingegneria dellInformazione Università degli Studi di Siena.

Modelli per valutare l’affidabilità di un Modelli per valutare l’affidabilità di un sistema:sistema:Guasti indipendenti — 5Guasti indipendenti — 5

Supponiamo che la configurazione funzioni correttamente se almeno uno fra i componenti a e c e b e d, rispettivamente in parallelo, funziona correttamente si ha una relazione 1–of–21–of–2, sia per il primo che per il secondo gruppo di componenti.

Supponiamo tutti i componenti identici, indipendenti e con la stessa Ri (t). L’espressione per la distribuzione di fallimento è:

i = k,n(kn) k

Fsys = Fi (1-Fi )n-k

Page 47: Dependability I mezzi per la garanzia di funzionamento Monica Bianchini Dipartimento di Ingegneria dellInformazione Università degli Studi di Siena.

Modelli per valutare l’affidabilità di un Modelli per valutare l’affidabilità di un sistema:sistema:Guasti indipendenti — 6Guasti indipendenti — 6

Supponiamo di avere componenti indipendenti, ma diversi fra loro, ad esempio p processori e m

memorie condivise. Se il sistema funziona

correttamente, nel caso in cui almeno una memoria ed un processore sono funzionanti si ha:

Nell’esempio precedente, se a e c sono processori e b e d sono memorie:

dove Fm è la distribuzione di fallimento delle memorie e Fp è la distribuzione di fallimento dei processori.

Fsys = 1-Fm Fp = 1-(1-i = 1,p Ri (t)) (1-j = 1,m Rj (t))

Fsys = 1-(1-Rp ) (1-Rm ) = Rp + Rm – Rp Rm2 2 22 22

Page 48: Dependability I mezzi per la garanzia di funzionamento Monica Bianchini Dipartimento di Ingegneria dellInformazione Università degli Studi di Siena.

Modelli per valutare l’affidabilità di un Modelli per valutare l’affidabilità di un sistema:sistema:Guasti correlati — 1Guasti correlati — 1

Nel caso in cui esiste una relazione fra l’occorrenza dei guasti nei singoli componenti, occorre usare modelli basati sulle catene di Markovcatene di Markov (Markov Markov chainschains ).

Tecniche di calcoloTecniche di calcolo Una catena di Markov è un processo stocastico in cui

il futuro dipende solo dal presente e non dal passato. DefinizioneDefinizione

Un processo stocastico X={ Xn: n } è una catena

di Markov, se P { Xn+1=j | X0,…,Xn}= P { Xn+1=j | Xn},

j,n.

Page 49: Dependability I mezzi per la garanzia di funzionamento Monica Bianchini Dipartimento di Ingegneria dellInformazione Università degli Studi di Siena.

Modelli per valutare l’affidabilità di un Modelli per valutare l’affidabilità di un sistema:sistema:Guasti correlati — 2Guasti correlati — 2

Modelli MarcovianiModelli Marcoviani Ogni stato della catena è

una coppia (i,j ), dove i indica il numero di memorie funzio-nanti e j indica il numero di processori funzionanti. Nello stato (3,2), tutti i compo-nenti sono funzionanti, mentre nello stato (2,2) una delle tre memorie si è guastata. La catena ha 10 stati. La condizione di fun-zionamento del sistema è che esista almeno una memoria ed un processore funzionan-te. Questo è modellato nella catena di Markov tramite gli stati (0,1), (0,2), (1,0), (2,0) e (3,0) che sono stati assorbentiassorbenti, cioè corrispon-denti a fallimento.

proc

mem

proc

mem

mem

10

32 22 12 02

01112131

30 20

Catene di Markov per il sistema Catene di Markov per il sistema con memorie condivisecon memorie condivise

Reliability Block Reliability Block DiagramDiagram

Page 50: Dependability I mezzi per la garanzia di funzionamento Monica Bianchini Dipartimento di Ingegneria dellInformazione Università degli Studi di Siena.

La dependabilityLa dependability Sempre di più, individui ed organizzazioni

stanno sviluppando o acquistando sofisticati sistemi di elaborazione, sui cui servizi devono riporre assoluta fiducia, per…– …servire distributori automatici di denaro,– …calcolare orbite di satelliti,– …controllare un aereo o un impianto nucleare,– …mantenere la confidenzialità di una base di dati

riservata. In circostanze differenti, l’attenzione viene posta

su proprietà diverse dei servizi forniti: il tempo medio di risposta, la probabilità di produrre i risultati richiesti, la capacità di evitare fallimenti catastrofici per l’ambiente del sistema, la capacità di prevenire intrusioni.

La nozione di dependability fornisce un mezzoLa nozione di dependability fornisce un mezzo molto conveniente per circoscrivere le varie molto conveniente per circoscrivere le varie richieste in un quadro concettualerichieste in un quadro concettuale unico,unico,

includendo,includendo, qualiquali casi particolari, proprietà come casi particolari, proprietà come l’affidabilità, la disponibilità, la sicurezza e la l’affidabilità, la disponibilità, la sicurezza e la protezione.protezione.