Dependability: Concetti base e terminologia Monica Bianchini Dipartimento di Ingegneria...

42
Dependability: Concetti base e Dependability: Concetti base e terminologia terminologia 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: Concetti base e terminologia Monica Bianchini Dipartimento di Ingegneria...

Page 1: Dependability: Concetti base e terminologia Monica Bianchini Dipartimento di Ingegneria dellInformazione Università degli Studi di Siena.

Dependability: Concetti base e Dependability: Concetti base e terminologiaterminologia

Monica BianchiniMonica Bianchini

Dipartimento di Ingegneria Dipartimento di Ingegneria dell’Informazionedell’Informazione

Università degli Studi di SienaUniversità degli Studi di Siena

Page 2: Dependability: Concetti base e terminologia Monica Bianchini Dipartimento di Ingegneria dellInformazione Università degli Studi di Siena.

IntroduzioneIntroduzione La DependabilityDependability (garanzia di funzionamento) di

un sistema di calcolo include gli attributi di affidabilitàaffidabilità, disponibilitàdisponibilità, sicurezzasicurezza e protezioneprotezione.

Le linee guida che ispirano la presentazione possono essere riassunte come segue:– Ricerca di un numero ridotto di concetti capaci di

esprimere gli attributi della dependability;– Dove possibile, uso di termini identici o simili a

quelli generalmente usati; di regola un termine il cui significato non sia altrimenti specificato corrisponde a quanto reperibile in un qualsiasi dizionario;

– Enfasi sull’integrazione (di contro alla specializzazione) delle definizioni, allo scopo di caratterizzare una classe di guasti.

Page 3: Dependability: Concetti base e terminologia Monica Bianchini Dipartimento di Ingegneria dellInformazione Università degli Studi di Siena.

Definizioni di base — 1Definizioni di base — 1 La dependability può essere definita come la credibilitàcredibilità di

un sistema di calcolo, ovvero il grado di fiducia che può essere ragionevolmente riposto nei servizi che esso offre.

Il servizio servizio offerto da un sistema di calcolo è rappresentato dal suo comportamento così come viene così come viene percepitopercepito dagli utenti; l'utenteutente, umano o fisico, rappresenta un sistema distinto che interagisce con il sistema di calcolo.

In dipendenza dai servizi che il sistema è chiamato a svolgere, più o meno enfasi può essere data ai vari attributi che vanno a fondersi nel concetto di dependability, ovvero la garanzia di funzionamento può essere interpretata in relazione a proprietà distinte, ma complementari, richieste al sistema.

Page 4: Dependability: Concetti base e terminologia Monica Bianchini Dipartimento di Ingegneria dellInformazione Università degli Studi di Siena.

Definizioni di base — 2Definizioni di base — 2 In relazione alla rapidità di rispostarapidità di risposta, o prontezza d’usoprontezza d’uso,

un sistema dependable (a funzionamento garantito) è rapidamente disponibiledisponibile.

In relazione alla continuità di serviziocontinuità di servizio, un sistema dependable è affidabileaffidabile.

In relazione alla garanzia di evitare situazioni garanzia di evitare situazioni catastrofiche sull'ambientecatastrofiche sull'ambiente, un sistema dependable è sicurosicuro.

In relazione alla prevenzione di accessi non autorizzati prevenzione di accessi non autorizzati e/o manipolazioni di informazioni privatee/o manipolazioni di informazioni private, un sistema dependable è protettoprotetto.

Una situazione di fallimentofallimento (system failuresystem failure ) si verifica quando i servizi offerti non corrispondono più alle specifiche preventivamente imposte al sistema. Un erroreerrore è quella parte dello stato del sistema esposta a provocare successivi failure: un errore di servizio è un'indicazione che un guasto è in atto, ovvero il/la pregresso/causa ipotizzata di un errore è un guastoguasto.

Page 5: Dependability: Concetti base e terminologia Monica Bianchini Dipartimento di Ingegneria dellInformazione Università degli Studi di Siena.

Definizioni di base — 3Definizioni di base — 3 Lo sviluppo di un sistema di calcolo a

funzionamento garantito presuppone l'utilizzo combinato di un insieme di metodi che sono relativi alla risoluzione delle seguenti problematiche:– Prevenzione dai guastiPrevenzione dai guasti (fault preventionfault prevention ): come

possono essere prevenute le occorrenze di guasti;– Tolleranza ai guastiTolleranza ai guasti (fault tolerancefault tolerance ): come

garantire un servizio che si mantenga conforme alle specifiche, nonostante i guasti;

– Eliminazione del guastoEliminazione del guasto (fault removalfault removal ): come ridurre l'occorrenza (numero, gravità) dei guasti;

– Predizione di guastiPredizione di guasti (fault forecastingfault forecasting ): come stimare il numero, la frequenza di incidenza, presente e futura, e le conseguenze dei guasti.

Page 6: Dependability: Concetti base e terminologia Monica Bianchini Dipartimento di Ingegneria dellInformazione Università degli Studi di Siena.

Definizioni di base — 4Definizioni di base — 4 Le tecniche di prevenzione e di tolleranza ai

guasti garantiscono il conseguimentoconseguimento della dependability: come assicurare al sistema la capacità di fornire un servizio sempre fedele alle specifiche.

Le tecniche per evitare/prevedere i guasti rappresentano invece la validazionevalidazione della dependability: come essere ragionevolmente confidenti nella capacità del sistema di fornire un servizio secondo specifiche.

La fiducia ragionevolmente riposta nella stabilità di comportamento del sistema è basata sulla valutazionevalutazione del sistema, condotta primariamente in relazione agli attributi di dependability che sono pertinenti ai particolari servizi richiesti.

Page 7: Dependability: Concetti base e terminologia Monica Bianchini Dipartimento di Ingegneria dellInformazione Università degli Studi di Siena.

Definizioni di base — 5Definizioni di base — 5

Le nozioni finora introdotte possono essere raggruppate nelle seguenti tre categorie:– Gli impedimenti impedimenti alla dependability: guasti, errori,

insuccessi (failure); sono circostanze indesiderabili ma, in linea di principio, non inaspettate, che sono cause/effetti di comportamenti non dependable del sistema;

– I mezzimezzi per la dependability: prevenzione dai guasti, tolleranza ai guasti, eliminazione del guasto, previsione del guasto: sono metodi e tecniche capaci di prevedere servizi degni di fiducia e acquisire confidenza progressiva nell'affidabilità del sistema;

– Gli attributi attributi della dependability: disponibilità, affidabilità, sicurezza e protezione: servono ad esprimere le caratteristiche attese del sistema ed a formalizzarne le specifiche.

Page 8: Dependability: Concetti base e terminologia Monica Bianchini Dipartimento di Ingegneria dellInformazione Università degli Studi di Siena.

Dependability: impedimenti, mezzi, Dependability: impedimenti, mezzi, attributiattributi

Impedimenti

Mezzi

Attributi

Fault (guasto): guasto di un componente del sistemaError (errore): stato non corretto del sistemaFailure (fallimento): il sistema non fornisce più il servizio

Fault prevention (prevenzione): sovradimensionamento o qualità superiore dei componentiFault tolerance (tolleranza): metodi per fornire il servizio anche in caso di guasto

Fault removal (rimozione): debugging hardware e softwareFault forecasting (previsione): valutazione dei guasti inevitabili

Reliability (affidabilità): sistema pronto ad essere usatoAvailability (disponibilità): sistema che fornisce continuità di servizioSafety: assenza di conseguenze catastroficheSecurity: assenza di intrusioni

DependabiliDependabilityty

Validazione

Conseguimento

Page 9: Dependability: Concetti base e terminologia Monica Bianchini Dipartimento di Ingegneria dellInformazione Università degli Studi di Siena.

La dependability — 1La dependability — 1 In relazione ai concetti di affidabilitàaffidabilità, disponibilitàdisponibilità,

sicurezza sicurezza e protezioneprotezione… – Inizialmente fu sentita l'esigenza di garantire sistemi di

calcolo affidabili;– Nel momento in cui i sistemi di elaborazione sono divenuti

affidabili, i loro servizi sono stati usati e richiesti su base regolare: la loro disponibilità è divenuta essenziale;

– L'utilizzo di sistemi di calcolo per applicazioni critiche ha introdotto l’interesse per la sicurezza; il sistema più sicuro è spesso quello che ha maggiori limiti di utilizzo chi si occupava di sicurezza era portato a considerare l’affidabilità come un sottoproblema del problema della sicurezza;

– Infine, l'avvento dei sistemi distribuiti ha esacerbato il problema della protezione. Un sistema protetto deve comunque eseguire certe funzioni; inoltre eventuali violazioni alla protezione possono risultare catastrofiche coloro che studiano la protezione dei sistemi hanno quindi sviluppato la tendenza a credere che affidabilità e sicurezza siano solo sottoproblemi del problema fondamentale della protezione.

Page 10: Dependability: Concetti base e terminologia Monica Bianchini Dipartimento di Ingegneria dellInformazione Università degli Studi di Siena.

La dependability — 2La dependability — 2 I legami fra i concetti di affidabilità, sicurezza e

protezione sono molto più complessi di una semplice relazione di dipendenza.

Si considerino, come esempio, le cosiddette “softbombsoftbomb ” (bombe a tempo), cioè il guasto deliberatamente introdotto nel sistema di calcolo per provocare, in un momento preciso scelto dal “terrorista ”, e sotto il suo stretto controllo, un system failure, preferibilmente di conseguenze ritenute dall'utente non catastrofiche (fino a che non acquista coscienza delle cause).

L’esempio lega l'affidabilità del sistema, la sua sicurezza e protezione, secondo modalità complesse che possono essere percepite in maniera diversa da utenti distinti.

Comunque, l'utente non può, né deve, riporre fiducia nei servizi offerti dal sistema, che non è dependable.

Page 11: Dependability: Concetti base e terminologia Monica Bianchini Dipartimento di Ingegneria dellInformazione Università degli Studi di Siena.

Funzione, comportamento, struttura Funzione, comportamento, struttura e specifica del sistema — 1e specifica del sistema — 1

Un sistemasistema è un’entità che ha interagito o interferito, interagente o interferente, o in grado di interagire o interferire con altre entità, cioè con altri sistemi.

Gli altri sistemi sono stati, sono o saranno l’ambienteambiente del sistema considerato.

Un utenteutente del sistema è quella parte dell’ambiente che interagisce con il sistema: l’utente fornisce ingressi e/o riceve uscite dal sistema, avendo come caratteristica distintiva l’uso del serviziouso del servizio fornito dal sistema.

La funzionefunzione di un sistema è ciò che il sistema è è inteso fareinteso fare.

Il comportamentocomportamento di un sistema è ciò che il sistema fafa. La strutturastruttura del sistema è ciò che gli fa fare ciò che fagli fa fare ciò che fa.

Page 12: Dependability: Concetti base e terminologia Monica Bianchini Dipartimento di Ingegneria dellInformazione Università degli Studi di Siena.

Funzione, comportamento, struttura Funzione, comportamento, struttura e specifica del sistema — 2e specifica del sistema — 2

Un sistema, dal punto di vista strutturale, è un insieme di componenti collegati per poter interagire. Un componentecomponente è un altro sistema, che incorpora le interrelazioni dei componenti di cui è composto.

In un sistema possono verificarsi variazioni strutturali causate da, o risultanti da, impedimenti alla garanzia di funzionamento. La struttura del sistema è a statiLa struttura del sistema è a stati.

Uno stato stato è una condizione di essere rispetto ad un insieme di circostanze, o di comportamenti o di strutture.

Dalla sua definizione, il servizio fornito da un sistema è una astrazione astrazione del comportamento del sistema.

Un sistema, in generale, esegue più di una funzione e fornisce più di un servizio.

Page 13: Dependability: Concetti base e terminologia Monica Bianchini Dipartimento di Ingegneria dellInformazione Università degli Studi di Siena.

Funzione, comportamento, struttura Funzione, comportamento, struttura e specifica del sistema — 3e specifica del sistema — 3

Una funzionefunzione o servizio in tempo realeservizio in tempo reale è una funzione o servizio che deve essere fornito entro intervalli di tempo dettati dall’ambientedettati dall’ambiente.

Un sistema in tempo realesistema in tempo reale esegue almeno una funzione in tempo reale o fornisce almeno un servizio in tempo reale.

La specificaspecifica di un sistema descrive ciò che ci si aspetta che un sistema faccia in termini di…– …funzione attesa e/o servizio atteso;– …condizioni in cui, o sotto cui, essi devono essere

eseguiti: ambiente, prestazioni, osservabilità, etc. La funzione e/o il servizio sono prima specificati

in termini di ciò che dovrebbedovrebbe essere eseguito o fornito per realizzare gli scopi primari del sistema.

Quando si considerano sistemi con garanzie di sicurezza e protezione, la specifica è completata con ciò che non dovrebbenon dovrebbe accadere.

Page 14: Dependability: Concetti base e terminologia Monica Bianchini Dipartimento di Ingegneria dellInformazione Università degli Studi di Siena.

Funzione, comportamento, struttura Funzione, comportamento, struttura e specifica del sistema — 4e specifica del sistema — 4

Le specifiche possono essere…– …espresse in accordo a diversi gradi di dettaglio:

specifica dei requisiti, specifica di progetto, specifica di realizzazione, etc.

– …decomposte in accordo all’assenza o alla presenza di malfunzionamenti di componenti; il primo caso si riferisce al modo di operazione nominalenominale mentre il secondo è in relazione al modo di operazione degradatodegradato, se le risorse rimanenti non sono sufficienti a fornire il servizio nominale.

Un sistema può fallire rispetto ad alcune specifiche, mantenendosi conforme ad altre.

È essenziale che le specifiche del sistema vengano concordate fra due persone o enti legali: il fornitore del sistema (progettista, costruttore, venditore) ed il suo utente umano.

Page 15: Dependability: Concetti base e terminologia Monica Bianchini Dipartimento di Ingegneria dellInformazione Università degli Studi di Siena.

Funzione, comportamento, struttura Funzione, comportamento, struttura e specifica del sistema — 5e specifica del sistema — 5

Non si può pretendere che una specifica sia immutabile, una volta stabilita.

I cambiamenti possono essere motivati dalla modifica dei requisiti del sistema: modifiche della funzione e/o del servizio, o correzione di qualche guasto.

Le nozioni di funzione, di servizio e della loro specifica si applicano ugualmente ai componenti del sistema: in fase di progetto, quando si inseriscono nel sistema componenti commerciali, sia hardware che software, l’interesse del progettista può focalizzarsi sulla funzione/servizio che sono in grado di offrire, piuttosto che sulle loro caratteristiche strutturali.

Page 16: Dependability: Concetti base e terminologia Monica Bianchini Dipartimento di Ingegneria dellInformazione Università degli Studi di Siena.

Gli impedimenti alla dependability: I Gli impedimenti alla dependability: I guasti — 1guasti — 1

I guasti e le loro cause possono essere molto diversi; vengono classificati secondo la loro naturanatura, origine origine e persistenzapersistenza.

La naturanatura dei guasti porta a distinguere:– Guasti accidentaliGuasti accidentali (accidental faultsaccidental faults ), che si verificano

o sono creati fortuitamente;– Guasti intenzionaliGuasti intenzionali (intentional faultsintentional faults ), che sono

creati deliberatamente, eventualmente con scopi malevoli.

Page 17: Dependability: Concetti base e terminologia Monica Bianchini Dipartimento di Ingegneria dellInformazione Università degli Studi di Siena.

Gli impedimenti alla dependability: I Gli impedimenti alla dependability: I guasti — 2guasti — 2 L’origineorigine dei guasti porta a distinguere:

– Le cause fenomenologichecause fenomenologiche che implicano…• …Guasti fisiciGuasti fisici (phisical faultsphisical faults ), che sono dovuti a

fenomeni fisici avversi;• …Guasti causatiGuasti causati dall’uomodall’uomo (human–made faultshuman–made faults ), che

sono dovuti all’imperfezione umana;

– I confini del sistemaconfini del sistema che implicano…• …Guasti interniGuasti interni (internal faultsinternal faults ), che sono parti dello

stato del sistema che, quando richiamate dall’attività di elaborazione, produrranno un errore;

• …Guasti esterniGuasti esterni (external faultsexternal faults ), che derivano dall’interferenza dell’ambiente fisico nel sistema (perturbazioni elettromagnetiche, radiazioni, temperatura, vibrazioni, etc.) o dall’interazione con l’ambiente umano;

– La fasefase didi creazionecreazione rispetto alla vita del sistema che

implica…• …Guasti di progetto Guasti di progetto (design faultsdesign faults ), che derivano da

imperfezioni che si verificano durante lo sviluppo del sistema o per modifiche successive;

• …Guasti operativiGuasti operativi (operational faultsoperational faults ), che si verificano durante l’uso del sistema.

Page 18: Dependability: Concetti base e terminologia Monica Bianchini Dipartimento di Ingegneria dellInformazione Università degli Studi di Siena.

Gli impedimenti alla dependability: I Gli impedimenti alla dependability: I guasti — 3guasti — 3

La persistenzapersistenza dei guasti porta a distinguere:– Guasti permanentiGuasti permanenti (permanent faultspermanent faults ), la cui presenza

non è in relazione a condizioni temporali puntuali, siano esse interne (attività di elaborazione) o esterne (ambiente);

– Guasti temporaneiGuasti temporanei (temporary faultstemporary faults ), la cui presenza è in relazione a condizioni temporali puntuali; sono pertanto rilevabili per un periodo limitato di tempo.

Le violazioni alla protezione del sistema sono dovute (ma non limitate) a guasti intenzionali, che sono chiaramente causati dall’uomocausati dall’uomo; i guasti possono essere sia interni che esterni; esempi tipici sono:– Per quanto riguarda i guasti interni, l’inserimento di

logica maliziosalogica maliziosa (per es., i “cavalli di Troia” ), che sono un guasto di progettodi progetto intenzionale;

– Per quel che riguarda i guasti esterni, una intrusioneintrusione, che è un guasto operativo esternooperativo esterno.

Page 19: Dependability: Concetti base e terminologia Monica Bianchini Dipartimento di Ingegneria dellInformazione Università degli Studi di Siena.

Gli impedimenti alla dependability: I Gli impedimenti alla dependability: I guasti — 4guasti — 4

I guasti intenzionali possono avvantaggiarsi dei guasti accidentali; ad esempio, un’intrusione che sfrutta una breccia nella protezione causata da un guasto accidentale di progetto.

Introdurre le cause fenomenologichecause fenomenologiche nel criterio di classificazione dei guasti può portare ad una definizione ricorsiva di guasto: la ricorsione termina alla causa che si intende prevenire o causa che si intende prevenire o tolleraretollerare.

Questo punto di vista è consistente con la distinzione fra guasti fisici e causati dall’uomo: un sistema di elaborazione è un oggetto fatto dall’uomo e, come tale, qualsiasi guasto che si verifichi è, in ultima analisi, causato dall’uomo, poiché rappresenta l’incapacità umana a dominare tutti i fenomeni che governano il comportamento di un sistema.

Page 20: Dependability: Concetti base e terminologia Monica Bianchini Dipartimento di Ingegneria dellInformazione Università degli Studi di Siena.

Gli impedimenti alla dependability: I Gli impedimenti alla dependability: I guasti — 5guasti — 5 Se la ricorsione nella definizione di guasto non

viene terminata, un guasto al sistema è la un guasto al sistema è la conseguenza di un fallimento di un altro sistema conseguenza di un fallimento di un altro sistema che ha fornito o sta fornendo un servizio al che ha fornito o sta fornendo un servizio al sistema in oggettosistema in oggetto. Infatti…– …un guasto di progetto deriva da un fallimento del

progettista;– …un guasto fisico interno è dovuto al

malfunzionamento di un componente hardware, che a sua volta è conseguenza di un errore a livello elettrico o elettronico, a sua volta originato da disordini fisico–chimici, a loro volta originati dalla produzione dell’hardware, o dai limiti della nostra conoscenza nella fisica dei semiconduttori;

– …un guasto esterno fisico o causato dall’uomo è di fatto un guasto di progetto: l’incapacità di prevedere tutte le situazioni che il sistema incontrerà durante la sua vita operativa, o il rifiuto di considerare alcune di esse, ad esempio per ragioni economiche.

Page 21: Dependability: Concetti base e terminologia Monica Bianchini Dipartimento di Ingegneria dellInformazione Università degli Studi di Siena.

Gli impedimenti alla dependability: I Gli impedimenti alla dependability: I guasti — 6guasti — 6 Il punto di vista della persistenza temporalepersistenza temporale

merita i seguenti commenti:– I guasti esterni temporali che originano

dall’ambiente fisico sono spesso chiamati guasti guasti transitoritransitori (transient faultstransient faults );

– I guasti interni temporanei sono spesso chiamati guasti intermittentiguasti intermittenti (intermittent faultsintermittent faults ); tali guasti derivano dalla presenza di combinazioni di condizioni che si verificano raramente; esempi sono

• guasti “sensibili allo schema” in memorie a semiconduttore;

• cambiamenti dei parametri in un componente hardware;• situazioni che si verificano quando il carico del

sistema raggiunge livelli critici.– I guasti transienti sono di fatto guasti permanenti

la cui condizione di attivazione non può essere riprodotta, o può verificarsi solo molto raramente.

Qualunque guasto può essere considerato un Qualunque guasto può essere considerato un guasto di progetto permanenteguasto di progetto permanente.

Page 22: Dependability: Concetti base e terminologia Monica Bianchini Dipartimento di Ingegneria dellInformazione Università degli Studi di Siena.

Le classi di guastiLe classi di guasti

Natura

Guasti causati

dall’uomo

Guasti

OriginePersistenza

Confini del sistemaCausa

fenomenologica

Fase di creazione

Guasti permanenti

Guasti esterni

Guasti temporan

ei

Guasti intenzionali

Guasti interni

Guasti accidentali

Guasti operativi

Guasti fisici

Guasti di progetto

Page 23: Dependability: Concetti base e terminologia Monica Bianchini Dipartimento di Ingegneria dellInformazione Università degli Studi di Siena.

Le classi di guasti che risultano da Le classi di guasti che risultano da combinazionicombinazioni

Guasti accidentali

Guasti intenzion

ali

Guasti

fisici

Guasti causati

dall’uomo

Guasti interni

Guasti esterni

Guasti di progetto

Guasti operativi

Guasti permanen

ti

Guasti temporane

i

Guasti fisici

Guasti transitori

Guasti intermitten

ti

Guasti di progetto

Guasti di interazione

Logica maliziosa

Intrusioni

OrigineNomeNatura PersistenzaFase di

creazioneCausa

Fenomenologica

Confini del sistema

Page 24: Dependability: Concetti base e terminologia Monica Bianchini Dipartimento di Ingegneria dellInformazione Università degli Studi di Siena.

Gli impedimenti alla dependability: Gli Gli impedimenti alla dependability: Gli errorierrori Un errore è il responsabile dell’evoluzione del

sistema verso un fallimento successivo. Se un errore porterà effettivamente ad un

fallimento dipende da tre fattori principali:– La composizione del sistema e la natura della

ridondanza esistente:• Ridondanza intenzionale Ridondanza intenzionale (introdotta per fornire

tolleranza al guasto), che è esplicitamente intesa per prevenire che un errore conduca ad un fallimento;

• Ridondanza non intenzionaleRidondanza non intenzionale (è difficile costruire un sistema che ne è privo), che può avere lo stesso risultato, non atteso, della ridondanza intenzionale.

– L’attività del sistema: un errore può essere compensato prima di provocare un danno.

– La definizione di un fallimento dal punto di vista dell’utente: ciò che è un fallimento per un dato utente può essere una sopportabile noia per un altro.

Page 25: Dependability: Concetti base e terminologia Monica Bianchini Dipartimento di Ingegneria dellInformazione Università degli Studi di Siena.

Gli impedimenti alla dependability: I Gli impedimenti alla dependability: I fallimenti — 1fallimenti — 1

Un sistema non può fallire, e generalmente non fallisce, sempre nello stesso modo.

I modi in cui un sistema può fallire sono i suoi modi di fallimento, che possono essere caratterizzati secondo tre punti di vista: dominio, percezione da parte dell’utente del sistema e conseguenze sull’ambiente.

Dal punto di vista del dominio di fallimentodominio di fallimento possono essere distinti:– Fallimenti nel valoreFallimenti nel valore: il valore del servizio fornito

non è conforme alla specifica;– Fallimenti nel tempoFallimenti nel tempo: la temporizzazione della

fornitura del servizio non è conforme alla specifica. Tali definizioni generali (non conformità alla

specifica) si applicano a fallimenti arbitrarifallimenti arbitrari.

Page 26: Dependability: Concetti base e terminologia Monica Bianchini Dipartimento di Ingegneria dellInformazione Università degli Studi di Siena.

Gli impedimenti alla dependability: I Gli impedimenti alla dependability: I fallimenti — 2fallimenti — 2 Si possono fare distinzioni più sottili riguardo ai

modi di fallimento nel tempo, che attestano quando un servizio è stato fornito troppo presto o troppo tardi:– Fallimento nel tempo per anticipoFallimento nel tempo per anticipo (early timing early timing

failuresfailures );– Fallimento nel tempo per ritardoFallimento nel tempo per ritardo (early timing failuresearly timing failures ).

Una classe di fallimenti che si riferisce sia al dominio del valore che del tempo sono i fallimenti con bloccofallimenti con blocco (stopping failuresstopping failures ): l’attività del sistema non è più percepibile dagli utenti e viene fornito un servizio a valore costante (l’ultimo valore corretto, un valore predeterminato, etc.).

Un caso particolare di fallimento per blocco è il fallimento per omissionefallimento per omissione (omission failuresomission failures ): non viene fornito alcun servizio.

Page 27: Dependability: Concetti base e terminologia Monica Bianchini Dipartimento di Ingegneria dellInformazione Università degli Studi di Siena.

Gli impedimenti alla dependability: I Gli impedimenti alla dependability: I fallimenti — 3fallimenti — 3 Un fallimento per omissione è un caso limite

comune sia per fallimenti nel valore (valore nullo), che per fallimenti nel tempo (fallimento per ritardo infinito).

Un fallimento per omissione persistente è un crashcrash.

Un sistema i cui fallimenti possono essere solamente fallimenti con blocco è un sistema sistema fail–stopfail–stop.

Un sistema i cui fallimenti possono essere solamente fallimenti per omissione persistente è un sistema fail–silentsistema fail–silent.

Page 28: Dependability: Concetti base e terminologia Monica Bianchini Dipartimento di Ingegneria dellInformazione Università degli Studi di Siena.

Gli impedimenti alla dependability: I Gli impedimenti alla dependability: I fallimenti — 4fallimenti — 4

Quando un sistema ha diversi utenti, dal punto di vista della percezione del fallimentopercezione del fallimento, si possono distinguere:

– Fallimenti consistentiFallimenti consistenti (consistent failuresconsistent failures ): tutti gli utenti del sistema hanno la stessa percezione dei fallimenti;

– Fallimenti inconsistentiFallimenti inconsistenti (inconsistent failuresinconsistent failures ): gli utenti del sistema possono avere percezioni differenti di un dato fallimento;

– I fallimenti inconsistenti sono usualmente chiamati fallimenti bizantinifallimenti bizantini.

Page 29: Dependability: Concetti base e terminologia Monica Bianchini Dipartimento di Ingegneria dellInformazione Università degli Studi di Siena.

Gli impedimenti alla dependability: I Gli impedimenti alla dependability: I fallimenti — 5fallimenti — 5 La gravitàgravità del fallimento risulta dalle

conseguenze dei fallimenti sull’ambiente del sistema.

Esistono sistemi i cui modi di fallimento possono essere raggruppati in due classi di gravità

considerevolmente differenti:– Fallimenti benigniFallimenti benigni, per cui le conseguenze sono dello

stesso ordine di grandezza (in genere in termini di costo) del beneficio prodotto dal servizio fornito in assenza di fallimento;

– Fallimenti catastroficiFallimenti catastrofici, per cui le conseguenze sono incommensurabilmente più grandi del beneficio prodotto dal servizio fornito in assenza di fallimento.

Un sistema i cui fallimenti possono essere soltanto benigni è un sistema fail–safefail–safe.

La criticitàcriticità di un sistema è la gravità più elevata dei suoi possibili modi di fallimento.

Page 30: Dependability: Concetti base e terminologia Monica Bianchini Dipartimento di Ingegneria dellInformazione Università degli Studi di Siena.

ESEMPIOESEMPIO

I livelli di criticità accettati in avionica sono definiti come segue:– CRITICOCRITICO: funzioni per le quali l’occorrenza di un

qualsiasi fallimento impedisce la continuazione non pericolosa del volo e dell’atterraggio dell’aereo;

– ESSENZIALEESSENZIALE: funzioni per cui l’occorrenza di un qualsiasi fallimento riduce la capacità dell’aereo o la possibilità dell’equipaggio a fronteggiare condizioni operative avverse;

– NON ESSENZIALENON ESSENZIALE: funzioni per cui un fallimento non degrada significativamente la capacità dell’aereo o la capacità di azione dell’equipaggio.

Page 31: Dependability: Concetti base e terminologia Monica Bianchini Dipartimento di Ingegneria dellInformazione Università degli Studi di Siena.

Patologia del guasto — 1 Patologia del guasto — 1

I meccanismi di creazione e manifestazione di guasti, errori e fallimenti possono riassumersi come segue.

GUASTI:GUASTI:– Un guasto è attivoattivo (activeactive ) quando produce un

errore. Un guasto attivo è o un guasto interno che era in precedenza inattivoinattivo (dormantdormant ) e che è stato attivato dal processo di elaborazione, o un guasto esterno;

– La maggior parte dei guasti interni può ciclare fra lo stato attivo e lo stato inattivo;

– I guasti fisici possono influenzare direttamente soltanto i componenti hardware;

– I guasti causati dall’uomo possono influenzare qualsiasi componente.

… Fallimento Guasto Errore Fallimento Guasto …

Page 32: Dependability: Concetti base e terminologia Monica Bianchini Dipartimento di Ingegneria dellInformazione Università degli Studi di Siena.

Patologia del guasto — 2Patologia del guasto — 2 ERRORI:ERRORI:

– Un errore può essere latente o rilevato. Un errore è latentelatente (latentlatent ) quando non è stato riconosciuto come tale; un errore è rilevatorilevato (detecteddetected ) da un algoritmo o meccanismo di rilevamento;

– Un errore può scomparire prima di essere rilevato;– Un errore può propagarsi e, in generale, si

propaga; propagandosi crea altri errori. FALLIMENTI:FALLIMENTI:

– Un fallimento si verifica quando un errore attraversa l’interfaccia sistema–utente ed influenza il servizio fornito dal sistema;

– Il fallimento di un componente da luogo ad un guasto nel sistema che lo contiene e dal punto di vista degli altri componenti con cui interagisce;

– I modi di fallimento del componente divengono tipi di guasto per i componenti che interagiscono con esso.

Page 33: Dependability: Concetti base e terminologia Monica Bianchini Dipartimento di Ingegneria dellInformazione Università degli Studi di Siena.

Patologia del guasto — 3Patologia del guasto — 3

ESEMPIESEMPI:

– Il risultato di un errore di un programmatore è un guasto guasto (inattivoinattivo ) nel software (istruzioni o dati guasti); alla attivazione (ad es., attivando l’istruzione guasta), il guasto diviene attivo attivo e produce un erroreerrore; se e quando il dato erroneo influenza il servizio fornito, si verifica un fallimentofallimento;

– Un corto circuito che si verifica in un circuito integrato è un fallimentofallimento (rispetto alla specifica di servizio del circuito); la conseguenza è un guastoguasto che rimarrà inattivo finché il circuito non viene utilizzato, etc.;

Page 34: Dependability: Concetti base e terminologia Monica Bianchini Dipartimento di Ingegneria dellInformazione Università degli Studi di Siena.

Patologia del guasto — 4Patologia del guasto — 4 ESEMPI:ESEMPI:

– Una perturbazione elettromagnetica di sufficiente energia è un guastoguasto, che può:

• Creare direttamente un erroreerrore, ad esempio per interferenza elettromagnetica con le cariche elettriche che circolano nei conduttori;

• Creare un ulteriore guasto guasto interno; ad esempio, se la perturbazione agisce sull’ingresso di memoria in posizione di scrittura cambiando il valore di alcune cifre binarie, questi errorierrori rimarranno come guastiguasti di memoria, e si manterranno inattivi finché la posizione di memoria non viene letta;

– Una interazione scorretta uomo–macchina eseguita da un operatore è un guastoguasto (dal punto di vista del sistema); il dato alterato, quando elaborato, è un erroreerrore;

– Un erroreerrore di chi scrive un manuale di manutenzione o operativo può dar luogo ad un guasto guasto nel manuale (direttive sbagliate) che rimane inattivo finché il manuale non viene consultato.

Page 35: Dependability: Concetti base e terminologia Monica Bianchini Dipartimento di Ingegneria dellInformazione Università degli Studi di Siena.

Patologia del guasto — 5Patologia del guasto — 5 I guasti causati dall’uomo possono essere

accidentali o intenzionali. L’esempio relativo all’errore del programmatore e

le sue conseguenze possono essere rifrasati come segue:– Una bomba logicabomba logica viene creata da un

programmatore malizioso;– Essa rimarrà inattiva fino a quando un evento

non ne provocherà l’attivazione (presumibilmente in un momento predeterminato);

– Essa introdurrà un errore che può portare ad utilizzo illecito della memoria o al rallentamento dei processi in esecuzione;

– Si verificherà un rifiuto di serviziorifiuto di servizio, un tipo particolare di fallimento.

Page 36: Dependability: Concetti base e terminologia Monica Bianchini Dipartimento di Ingegneria dellInformazione Università degli Studi di Siena.

Patologia del guasto — 6Patologia del guasto — 6 Un fallimento risulta spesso dall’azione combinata

di diversi guasti, in particolare quando si considerino argomenti connessi alla protezione di un sistema.

Un passaggio–trappola (cioè qualche mezzo per superare il controllo d’accesso) che sia inserito in un sistema di elaborazione, accidentalmente o intenzionalmente, è un guasto di progetto.

Il guasto può rimanere inattivo fino a quando qualche persona maliziosa fa uso di esso per introdursi nel sistema: una connessione intrusiva è un guasto di interazione intenzionale.

Quando l’intruso è connesso può deliberatamente creare un errore, ad esempio modificando il contenuto dei file (attacco all’integrità).

Quando il file viene usato da un utente autorizzato, verrà influenzato il servizio, e si verificherà un fallimento.

Page 37: Dependability: Concetti base e terminologia Monica Bianchini Dipartimento di Ingegneria dellInformazione Università degli Studi di Siena.

Stima dell’affidabilità — 1Stima dell’affidabilità — 1 Definizione di AffidabilitàDefinizione di Affidabilità L’affidabilità

di un sistema è la misura del tempo continuativo in cui viene fornito un servizio corretto.

Definizione di Distribuzione dell’Affidabilità Definizione di Distribuzione dell’Affidabilità La distribuzione dell’affidabilità R(T) di un sistema è definita come la probabilità condizionale che il sistema funzioni correttamente nell’intervallo [t0,t], se era correttamente funzionante al tempo t0.

Supponiamo di avere N componenti identici e di metterli in funzione al tempo t0. Sia Nf(t) il numero di componenti guasti al tempo t e No(t) il numero dei componenti operativi allo stesso tempo (Nf(t)+No(t)=N). Supponendo che un componente guasto rimanga guasto per sempre, la distribuzione di affidabilità dei componenti è data da

R(t) = No(t)/N = No(t)/(No(t)+Nf(t))

Page 38: Dependability: Concetti base e terminologia Monica Bianchini Dipartimento di Ingegneria dellInformazione Università degli Studi di Siena.

Stima dell’affidabilità — 2Stima dell’affidabilità — 2 R(t) esprime la probabilità che un

componente, correttamente funzionante al tempo t0, sia correttamente funzionante al tempo t.

R(t) è una funzione monotona decrescente con valore iniziale 1.

In modo analogo possiamo esprimere la non non affidabilitàaffidabilità (unreliabilityunreliability ) di un componente, denotata con F(t).

In ogni momento, vale R(t)+F(t)=1. F(t) denota la distribuzione del tempo di

fallimento del sistema. Definizione di Tasso di FallimentoDefinizione di Tasso di Fallimento

Il tasso di fallimento (failure ratefailure rate ) di un sistema è il numero di fallimenti nell’unità di tempo.

F(t) = Nf(t)/N = Nf(t)/(No(t)+Nf(t))

Page 39: Dependability: Concetti base e terminologia Monica Bianchini Dipartimento di Ingegneria dellInformazione Università degli Studi di Siena.

Stima dell’affidabilità — 3Stima dell’affidabilità — 3 L’esperienza ha mostrato che

il tasso di fallimento di un componente elettronico evolve secondo la figura a lato.

Durante i primi anni di vita del componente, i fallimenti occor-rono frequentemente, principal-mente legati alla presenza di componenti difettosi.

La parte decrescente della funzione è chiamata la regione della “infant mortalityinfant mortality

”. La parte finale della curva (la

regione wear–outwear–out ) invece rappresenta il verificarsi di fallimenti dopo che il sistema è rimasto funzionante per molto tempo.

Nella regione intermedia, il tasso di fallimento è costante: è il periodo di vita utile di un componente (useful life useful life periodperiod ).

Tempo

Distribuzione dell’affidabilità

Page 40: Dependability: Concetti base e terminologia Monica Bianchini Dipartimento di Ingegneria dellInformazione Università degli Studi di Siena.

Stima dell’affidabilità — 4Stima dell’affidabilità — 4 Il tasso di fallimento è denotato dal simbolo .

Normalmente, è espresso in fallimenti per ore. Se assumiamo un fallimento ogni 2000 ore di funzionamento allora = 1/2000.

La funzione di distribuzione dell’affidabilità può essere riscritta come:

Calcolando la derivata di R(t) nel tempo, otteniamo:

R(t) = 1-F(t) = 1-Nf(t)/N

da cui

dR(t)/dt = (-1/N) dNf(t)/dt

dNf(t)/dt = -N dR(t)/dt

Page 41: Dependability: Concetti base e terminologia Monica Bianchini Dipartimento di Ingegneria dellInformazione Università degli Studi di Siena.

Stima dell’affidabilità — 5Stima dell’affidabilità — 5 La derivata dNf(t)/dt è il tasso istantaneo di

fallimento di un componente. Al tempo t, vi sono No(t) componenti

funzionanti; dividendo dNf(t)/dt per No(t), si ottiene:

La funzione z(t) è chiamata funzione di distribuzione del fallimento nel tempodistribuzione del fallimento nel tempo (failure failure rate functionrate function ). L’unità di misura per z(t) sono i fallimenti nell’unità di tempo.

La relazione fra la funzione z(t) e la funzione di distribuzione dell’affidabilità è

z(t) = (1/No(t)) dNf(t)/dt

dato che N/No(t) è l’inversa della funzione R(t).

z(t) = (-N/No(t)) dR(t)/dt = (-1/R(t)) dR(t)/dt

Page 42: Dependability: Concetti base e terminologia Monica Bianchini Dipartimento di Ingegneria dellInformazione Università degli Studi di Siena.

Stima dell’affidabilità — 6Stima dell’affidabilità — 6 Il risultato è un’equazione differenziale della forma:

La relazione esponenziale, fra la funzione di distribuzione dell’affidabilità ed il tempo, è conosciuta come legge di fallimento esponenzialelegge di fallimento esponenziale, e afferma che, se il tasso di fallimento è costante, l’affidabilità varia esponenzialmen-te in funzione del tempo.

La funzione F(t) può essere riscritta come F(t) = 1-e-

t.

che, a regime, con tasso di fallimento costante , ha soluzione

R(t) = e-t

dR(t)/dt = -z(t)R(t)