Dependability: Concetti base e terminologia
Monica Bianchini
Dipartimento di Ingegneria dell’Informazione
Università degli Studi di Siena
Introduzione


La Dependability (garanzia di funzionamento) di un
sistema di calcolo include gli attributi di
affidabilità, disponibilità, sicurezza e protezione.
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.
Definizioni di base — 1



La dependability può essere definita come la credibilità di
un sistema di calcolo, ovvero il grado di fiducia che può
essere ragionevolmente riposto nei servizi che esso offre.
Il servizio offerto da un sistema di calcolo è
rappresentato dal suo comportamento così come viene
percepito dagli utenti; l'utente, 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.
Definizioni di base — 2





In relazione alla rapidità di risposta, o prontezza d’uso, un
sistema
dependable
(a funzionamento garantito) è
rapidamente disponibile.
In relazione alla continuità di servizio, un sistema
dependable è affidabile.
In relazione alla garanzia di evitare situazioni catastrofiche
sull'ambiente, un sistema dependable è sicuro.
In relazione alla prevenzione di accessi non autorizzati e/o
manipolazioni di informazioni private, un sistema dependable
è protetto.
Una situazione di fallimento (system failure ) si verifica
quando i servizi offerti non corrispondono più alle specifiche
preventivamente imposte al sistema. Un errore è 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 guasto.
Definizioni 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 guasti (fault prevention ): come possono
essere prevenute le occorrenze di guasti;
– Tolleranza ai guasti (fault tolerance ): come garantire un
servizio che si mantenga conforme alle specifiche,
nonostante i guasti;
– Eliminazione del guasto (fault removal ): come ridurre
l'occorrenza (numero, gravità) dei guasti;
– Predizione di guasti (fault forecasting ): come stimare il
numero, la frequenza di incidenza, presente e futura, e
le conseguenze dei guasti.
Definizioni di base — 4



Le tecniche di prevenzione e di tolleranza ai guasti
garantiscono il conseguimento 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 validazione 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 valutazione del
sistema, condotta primariamente in relazione agli attributi
di dependability che sono pertinenti ai particolari servizi
richiesti.
Definizioni di base — 5

Le nozioni finora introdotte possono essere raggruppate nelle
seguenti tre categorie:
– Gli 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 mezzi 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 della dependability: disponibilità, affidabilità,
sicurezza e protezione: servono ad esprimere le caratteristiche
attese del sistema ed a formalizzarne le specifiche.
Dependability: impedimenti, mezzi, attributi
Impedimenti
Conseguimento
Dependability
Mezzi
Validazione
Attributi
Fault (guasto): guasto di un componente del sistema
Error (errore): stato non corretto del sistema
Failure (fallimento): il sistema non fornisce più il servizio
Fault prevention (prevenzione): sovradimensionamento o qualità
superiore dei componenti
Fault tolerance (tolleranza): metodi per fornire il servizio anche
in caso di guasto
Fault removal (rimozione): debugging hardware e software
Fault forecasting (previsione): valutazione dei guasti inevitabili
Reliability (affidabilità): sistema pronto ad essere usato
Availability (disponibilità): sistema che fornisce continuità
di servizio
Safety: assenza di conseguenze catastrofiche
Security: assenza di intrusioni
La dependability — 1

In relazione ai concetti di affidabilità, disponibilità, sicurezza
e protezione…
– 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.
La 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 “softbomb ”
(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.
Funzione, comportamento, struttura e
specifica del sistema — 1






Un sistema è 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’ambiente del
sistema considerato.
Un utente 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 servizio fornito dal sistema.
La funzione di un sistema è ciò che il sistema è inteso
fare.
Il comportamento di un sistema è ciò che il sistema fa.
La struttura del sistema è ciò che gli fa fare ciò che fa.
Funzione, comportamento, struttura e
specifica del sistema — 2





Un sistema, dal punto di vista strutturale, è un insieme di
componenti collegati per poter interagire. Un componente
è 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 stati.
Uno 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 del comportamento del sistema.
Un sistema, in generale, esegue più di una funzione e
fornisce più di un servizio.
Funzione, comportamento, struttura e
specifica del sistema — 3



Una funzione o servizio in tempo reale è una funzione o
servizio che deve essere fornito entro intervalli di tempo
dettati dall’ambiente.
Un sistema in tempo reale esegue almeno una funzione in
tempo reale o fornisce almeno un servizio in tempo reale.
La specifica 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 dovrebbe 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
dovrebbe accadere.
Funzione, comportamento, struttura e
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 nominale mentre il secondo è in relazione
al modo di operazione degradato, se le risorse rimanenti non
sono sufficienti a fornire il servizio nominale.


Un sistema può fallire rispetto
mantenendosi conforme ad altre.
È essenziale che le specifiche
concordate fra due persone o enti
sistema (progettista, costruttore,
utente umano.
ad alcune specifiche,
del sistema vengano
legali: il fornitore del
venditore) ed il suo
Funzione, comportamento, struttura e
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.
Gli impedimenti alla dependability: I guasti — 1


I guasti e le loro cause possono essere molto diversi;
vengono classificati secondo la loro natura, origine e
persistenza.
La natura dei guasti porta a distinguere:
– Guasti accidentali (accidental faults ), che si verificano o sono
creati fortuitamente;
– Guasti intenzionali (intentional faults ), che sono creati
deliberatamente, eventualmente con scopi malevoli.
Gli impedimenti alla dependability: I guasti — 2

L’origine dei guasti porta a distinguere:
– Le cause fenomenologiche che implicano…
• …Guasti fisici (phisical faults ), che sono dovuti a fenomeni fisici
avversi;
• …Guasti causati dall’uomo (human–made faults ), che sono dovuti
all’imperfezione umana;
– I confini del sistema che implicano…
• …Guasti interni (internal faults ), che sono parti dello stato del
sistema che, quando richiamate dall’attività di elaborazione,
produrranno un errore;
• …Guasti esterni (external faults ), che derivano dall’interferenza
dell’ambiente fisico nel sistema (perturbazioni elettromagnetiche,
radiazioni, temperatura, vibrazioni, etc.) o dall’interazione con
l’ambiente umano;
– La fase di creazione rispetto alla vita del sistema che implica…
• …Guasti di progetto (design faults ), che derivano da imperfezioni
che si verificano durante lo sviluppo del sistema o per modifiche
successive;
• …Guasti operativi (operational faults ), che si verificano durante
l’uso del sistema.
Gli impedimenti alla dependability: I guasti — 3

La persistenza dei guasti porta a distinguere:
– Guasti permanenti (permanent faults ), la cui presenza non è
in relazione a condizioni temporali puntuali, siano esse
interne (attività di elaborazione) o esterne (ambiente);
– Guasti temporanei (temporary 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’uomo; i guasti possono essere sia interni che
esterni; esempi tipici sono:
– Per quanto riguarda i guasti interni, l’inserimento di logica
maliziosa (per es., i “cavalli di Troia” ), che sono un guasto
di progetto intenzionale;
– Per quel che riguarda i guasti esterni, una intrusione, che è
un guasto operativo esterno.
Gli impedimenti alla dependability: I guasti — 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 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 tollerare.
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.
Gli impedimenti alla dependability: I guasti — 5

Se la ricorsione nella definizione di guasto non viene
terminata, un guasto al sistema è la conseguenza di un
fallimento di un altro sistema che ha fornito o sta
fornendo un servizio al sistema 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.
Gli impedimenti alla dependability: I guasti — 6

Il punto di vista della persistenza temporale merita i
seguenti commenti:
– I guasti esterni temporali che originano dall’ambiente fisico
sono spesso chiamati guasti transitori (transient faults );
– I guasti interni temporanei sono spesso chiamati guasti
intermittenti (intermittent 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 guasto di
progetto permanente.
Le classi di guasti
Guasti
Origine
Natura
Confini del
Causa
sistema
fenomenologica
Guasti interni
Persistenza
Fase di
creazione
Guasti esterni
Guasti
Guasti intenzionali
accidentali
Guasti
fisici
Guasti
causati
dall’uomo
Guasti permanenti
Guasti di
progetto
Guasti
operativi
Guasti
temporanei
Le classi di guasti che risultano da combinazioni
Natura
Guasti
accidentali
Causa
Fenomenologica
Guasti
intenzionali










Guasti
fisici
Guasti
causati
dall’uomo
Origine
Confini del
sistema
Guasti
interni








Guasti
esterni
Fase di
creazione
Guasti di
progetto
















Persistenza
Guasti
operativi
Guasti
permanenti









Guasti
temporanei
Guasti fisici
Guasti
transitori







Guasti
intermittenti
Guasti di
progetto


Nome
Guasti di
interazione
Logica
maliziosa


Intrusioni
Gli impedimenti alla dependability: Gli errori


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 (introdotta per fornire tolleranza al
guasto), che è esplicitamente intesa per prevenire che un errore
conduca ad un fallimento;
• Ridondanza 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.
Gli impedimenti alla dependability: I fallimenti — 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 fallimento possono essere
distinti:
– Fallimenti nel valore: il valore del servizio fornito non è
conforme alla specifica;
– Fallimenti nel tempo: la temporizzazione della fornitura del
servizio non è conforme alla specifica.

Tali definizioni generali (non conformità alla specifica) si
applicano a fallimenti arbitrari.
Gli impedimenti alla dependability: I fallimenti — 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 anticipo (early timing failures );
– Fallimento nel tempo per ritardo (early timing failures ).


Una classe di fallimenti che si riferisce sia al dominio del
valore che del tempo sono i fallimenti con blocco (stopping
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 omissione (omission failures ): non viene fornito alcun
servizio.
Gli impedimenti alla dependability: I fallimenti — 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 crash.
Un sistema i cui fallimenti possono essere solamente
fallimenti con blocco è un sistema fail–stop.
Un sistema i cui fallimenti possono essere solamente
fallimenti per omissione persistente è un sistema
fail–silent.
Gli impedimenti alla dependability: I fallimenti — 4

Quando un sistema ha diversi utenti, dal punto di vista
della percezione del fallimento, si possono distinguere:
– Fallimenti consistenti (consistent failures ): tutti gli utenti
del sistema hanno la stessa percezione dei fallimenti;
– Fallimenti inconsistenti (inconsistent failures ): gli utenti del
sistema possono avere percezioni differenti di un dato
fallimento;
– I fallimenti inconsistenti sono usualmente chiamati fallimenti
bizantini.
Gli impedimenti alla dependability: I fallimenti — 5


La 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 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 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–safe.
La criticità di un sistema è la gravità più elevata dei suoi
possibili modi di fallimento.
ESEMPIO

I livelli di criticità accettati in avionica sono definiti come
segue:
– CRITICO: funzioni per le quali l’occorrenza di un qualsiasi
fallimento impedisce la continuazione non pericolosa del volo
e dell’atterraggio dell’aereo;
– ESSENZIALE: 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 ESSENZIALE: funzioni per cui un fallimento non
degrada significativamente la capacità dell’aereo o la
capacità di azione dell’equipaggio.
Patologia del guasto — 1
…  Fallimento  Guasto  Errore  Fallimento  Guasto  …


I meccanismi di creazione e manifestazione di guasti,
errori e fallimenti possono riassumersi come segue.
GUASTI:
– Un guasto è attivo (active ) quando produce un errore. Un
guasto attivo è o un guasto interno che era in precedenza
inattivo (dormant ) 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.
Patologia del guasto — 2

ERRORI:
– Un errore può essere latente o rilevato. Un errore è latente
(latent ) quando non è stato riconosciuto come tale; un
errore è rilevato (detected ) 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:
– 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.
Patologia del guasto — 3

ESEMPI:
– Il risultato di un errore di un programmatore è un guasto
(inattivo ) nel software (istruzioni o dati guasti); alla
attivazione (ad es., attivando l’istruzione guasta), il guasto
diviene attivo e produce un errore; se e quando il dato
erroneo influenza il servizio fornito, si verifica un fallimento;
– Un corto circuito che si verifica in un circuito integrato è un
fallimento (rispetto alla specifica di servizio del circuito); la
conseguenza è un guasto che rimarrà inattivo finché il
circuito non viene utilizzato, etc.;
Patologia del guasto — 4

ESEMPI:
– Una perturbazione elettromagnetica di sufficiente energia è
un guasto, che può:
• Creare direttamente un errore, ad esempio per interferenza
elettromagnetica con le cariche elettriche che circolano nei
conduttori;
• Creare un ulteriore guasto interno; ad esempio, se la
perturbazione agisce sull’ingresso di memoria in posizione di
scrittura cambiando il valore di alcune cifre binarie, questi
errori rimarranno come guasti di memoria, e si manterranno
inattivi finché la posizione di memoria non viene letta;
– Una interazione scorretta uomo–macchina eseguita da un
operatore è un guasto (dal punto di vista del sistema); il
dato alterato, quando elaborato, è un errore;
– Un errore di chi scrive un manuale di manutenzione o
operativo può dar luogo ad un guasto nel manuale (direttive
sbagliate) che rimane inattivo finché il manuale non viene
consultato.
Patologia 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 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 servizio, un tipo particolare di
fallimento.
Patologia 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.
Stima dell’affidabilità — 1



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à
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))
Stima 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 affidabilità
(unreliability ) di un componente, denotata con F(t).
F(t) = Nf(t)/N = Nf(t)/(No(t)+Nf(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 Fallimento
Il tasso di fallimento (failure rate ) di un sistema è il
numero di fallimenti nell’unità di tempo.
Stima 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 occorrono frequentemente, principalmente legati alla presenza di
componenti difettosi.
La parte decrescente della
funzione è chiamata la regione
della “infant mortality ”.
La parte finale della curva (la
regione
wear–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 period ).
Distribuzione
dell’affidabilità

Tempo
Stima 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:
R(t) = 1-F(t) = 1-Nf(t)/N

Calcolando la derivata di R(t) nel tempo, otteniamo:
dR(t)/dt = (-1/N) dNf(t)/dt
da cui
dNf(t)/dt = -N dR(t)/dt
Stima 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:
z(t) = (1/No(t)) dNf(t)/dt


La funzione z(t) è chiamata funzione di distribuzione del
fallimento nel tempo (failure rate 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) = (-N/No(t)) dR(t)/dt = (-1/R(t)) dR(t)/dt
dato che N/No(t) è l’inversa della funzione R(t).
Stima dell’affidabilità — 6

Il risultato è un’equazione differenziale della forma:
dR(t)/dt = -z(t)R(t)
che, a regime, con tasso di fallimento costante , ha
soluzione
R(t) = e-t


La relazione esponenziale, fra la funzione di distribuzione
dell’affidabilità ed il tempo, è conosciuta come legge di
fallimento esponenziale, e afferma che, se il tasso di
fallimento è costante, l’affidabilità varia esponenzialmente in funzione del tempo.
La funzione F(t) può essere riscritta come F(t) = 1-e-t.
Scarica

La Dependability: Concetti e Terminologia