Prefazione
4
europee ad alta velocità. Si tratta di un sistema distribuito eterogeneo di tipo real-time, che
ben si presta ad essere studiato utilizzando un approccio ibrido di modellazione. A partire
dai requisiti funzionali, reperiti dal sito ufficiale dell’organo di standardizzazione, si è stila-
to un possibile modello ad oggetti del sistema, utilizzando il linguaggio UML, e, a partire
da questo, si sono modellati i singoli sottosistemi, utilizzando, per ciascuno di essi, i for-
malismi più adatti. Nel corso della modellazione, si è reso necessario operare delle scelte
progettuali che fossero al tempo stesso realistiche, affidabili e non eccessivamente onerose
da implementare, sia in termini architetturali che nella scelta dei parametri, pur consapevoli
del fatto che l’importanza dell’approccio risiedesse nella metodologia e non nei risultati,
fortemente dipendenti da scelte non facilmente prevedibili in questo contesto (costo dei
componenti, riuso delle tecnologie, ecc.). In ogni fase della tesi, dalla parte prettamente
compilativa a quella propriamente sperimentale, non sono mancati apporti originali. Nella
prima parte, l’originalità è consistita nel conferire il rigore della teoria dell’affidabilità alle
tecniche comunemente utilizzate per migliorare la disponibilità di un sistema di elabora-
zione; nella seconda, i contribuiti originali sono legati essenzialmente alla costruzione e
valutazione dei modelli, arricchita da considerazioni e scelte progettuali di carattere prati-
co, effettuate spesso più “cum grano salis” che giustificandole sulla base di risultati teorici.
Infine, l’iter seguito è stato generalizzato, inserendolo in un ciclo di sviluppo di sistemi di
elaborazione complessi per applicazioni critiche dal punto di vista dell’affidabilità e dei re-
quisiti real-time.
L’organizzazione dei capitoli è la seguente. Il I capitolo costituisce una sorta di introduzio-
ne alla teoria dell’affidabilità, corredata da esempi provenienti dal mondo informatico, in
cui si fa il punto, essenzialmente, sulla modellazione dei sistemi non riparabili (o conside-
rati tali), che sono alla base della costruzione di sistemi più complessi. Nel II capitolo, si
Prefazione
5
introduce il concetto di dependability in ambito informatico, illustrando le tipologie di gua-
sti, le conseguenze e le strategie di tolleranza ai guasti, con riferimento alle tecnologie più
diffuse per i sistemi general purpose e citando tecniche di analisi specifiche per i sistemi
embedded. Nel III capitolo, vengono descritti i formalismi utilizzati per descrivere sistemi
complessi a partire dai singoli componenti, viene introdotto il framework OsMoSys e de-
scritto l’approccio singolo-formalismo/multi-risolutore utilizzato per gli alberi dei guasti
riparabili. Nel IV capitolo, viene presentato e descritto il sistema ERTMS/ETCS, a partire
dalle specifiche pubbliche dello standard, sia dal punto di vista della struttura che del fun-
zionamento, e se ne riassumono i requisiti RAMS, stilandone, infine, un possibile modello
UML. Nel V capitolo, il sistema ERTMS/ETCS è modellato con strumenti formali, utiliz-
zando gli alberi dei guasti (riparabili) e le reti di Petri, rispettivamente per gli aspetti strut-
turali e per quelli comportamentali.
Introduzione alla teoria e all’ingegneria dell’affidabilità
9
Capitolo I
Introduzione alla teoria e all’ingegneria dell’affidabilità
In questo capitolo verranno forniti gli strumenti per lo studio e la modellazione
dell’affidabilità dei dispositivi, partendo dalle definizioni fondamentali fino ad introdurre i
modelli previsionali dell’affidabilità dei componenti, indispensabili per la composizione e
l’analisi di sistemi più complessi. Prima di dare alcune definizioni generali sulla teoria
dell’affidabilità che torneranno utili in seguito, è bene precisare che tutti i discorsi che si
faranno non possono prescindere dalla conoscenza dei concetti fondamentali della teoria
della probabilità e delle variabili aleatorie, dal momento che si ha a che fare con eventi, i
guasti, non prevedibili in maniera deterministica. Inoltre, data la genericità della trattazio-
ne, nelle definizioni preliminari si utilizzeranno spesso indifferentemente i termini unità,
componente, oggetto, sistema o dispositivo, intendendo in ogni caso l’oggetto della nostra
analisi. Man mano che si andrà avanti con la trattazione, il termine sistema assumerà sem-
pre più il significato di “sistema complesso”, ovvero costituito da più unità componenti,
mentre il termine dispositivo sarà utilizzato con il significato di unità componente un si-
stema più complesso. I termini guasto e malfunzionamento si intenderanno in maniera ge-
nerica, mentre si introdurrà un generico tipo di guasto per i sistemi complessi, costituito dal
cosiddetto “guasto di servizio”. In realtà, esiste tutta una serie di tipologie di guasti percet-
tibili agli utenti, una cui classificazione verrà introdotta soltanto nel prossimo capitolo, con
riferimento ai sistemi di elaborazione. Anche le tecniche utilizzate per migliorare la dispo-
nibilità di un sistema vengono trattate a scopo introduttivo, più per sancire la differenza tra
guasti localizzati e guasti propagati al sistema che per fornirne una descrizione esaustiva.
Introduzione alla teoria e all’ingegneria dell’affidabilità
10
Per quanto gli esempi presentati provengano essenzialmente dal campo informatico, la trat-
tazione preliminare che verrà fornita pone le sue basi esclusivamente sulla teoria
dell’affidabilità, dal momento che essa verrà particolarizzata per i sistemi di elaborazione,
attraverso l’introduzione del concetto di dependability, soltanto nel prossimo capitolo. In-
fine, per non appesantire il discorso, molti risultati saranno forniti omettendone la dimo-
strazione.
Il concetto di disponibilità: definizioni fondamentali
La funzione richiesta da un dispositivo è la funzione per cui esso è stato realizzato e che è
chiamato ad adempiere con continuità [2]. Tutte le valutazioni che si faranno saranno rela-
tive ad essa, dal momento che un guasto è potenzialmente in grado di alterare la funzione
richiesta. Per uno stesso sistema, la funzione richiesta può essere definita in termini di re-
quisiti più o meno stringenti.
Nella teoria dell’affidabilità si considerano due tipi di dispositivi:
Unità riparabili
Unità non riparabili
Alcune delle definizioni e delle analisi che si introdurranno si applicano solo ad una delle
due classi di dispositivi.
La disponibilità è il grado di continuità con cui un oggetto svolge la funzione richiesta, re-
lativamente ad un determinato istante o per un periodo di tempo prestabilito, e può essere
espressa in termini assoluti o percentuale. La disponibilità al tempo t rappresenta la proba-
bilità che il sistema S sia funzionante nell’istante di tempo considerato e si indica con A(t)
Introduzione alla teoria e all’ingegneria dell’affidabilità
11
(dall’inglese availability). Essa ha senso solo per unità riparabili ed è legata ai concetti di
affidabilità e tempo di riparazione.
L’affidabilità è la probabilità R(t) (dall’inglese reliability) che un dispositivo adempia alla
funzione richiesta per un tempo t prefissato, in determinate condizioni operative, mentre il
tempo di riparazione (TTR, Time to Repair), indicato con Tr, è la quantità di tempo neces-
saria per riportare il sistema in condizioni di funzionamento a seguito di un guasto ed in-
clude le seguenti fasi:
1. diagnosi;
2. localizzazione;
3. correzione;
4. verifica.
Il tempo medio di riparazione (MTTR, Mean Time To Repair) è la media (o valore atteso)
della variabile aleatoria Tr.
La funzione affidabilità gode delle seguenti proprietà:
è una funzione monotona descrescente con t;
in t=0 si ha che R(0)=1 (il dispositivo funziona);
S
DISPONIBILE
S
NON
DISPONIBILE
RIPARAZIONE
GUASTO
Introduzione alla teoria e all’ingegneria dell’affidabilità
12
per φ οt si ha che R(t) 0 ο.
L’affidabilità è legata alla probabilità di guasto al tempo t, indicata con F(t) e detta anche
inaffidabilità, dalla seguente relazione:
R(t) + F(t) = 1
(intuitivamente ciò rappresenta il fatto che in ogni istante di tempo il dispositivo o è guasto
o è funzionante).
Si osservi che la F(t) non è altro che la funzione di probabilità cumulata (CDF, Cumulative
Distribution Function) della variabile aleatoria tempo al guasto (TTF, Time to Fail, che
coincide con la durata di vita dell’oggetto nel caso di unità non riparabili), indicata di se-
guito con Tg o semplicemente con T. La F(t) ha un andamento del tipo mostrato in figura e
rappresenta la probabilità che il dispositivo si guasti in (0, t).
Esempi di diagrammi di )Pr()( tTtF δ e )Pr()( tTtR !
Introduzione alla teoria e all’ingegneria dell’affidabilità
13
Dalle proprietà della CDF risulta che la probabilità di guasto in un intervallo che non parte
dall’origine è data da: Pr(t
1
<Tg δt
2
)=R(t
1
)-R(t
2
).
Analogamente si può introdurre la CDF di Tr, indicata con M(t) (dall’inglese maintenaibi-
lity).
Il valore atteso della variabile aleatoria Tg è indicato con MTTF (Mean Time To Fail),
mentre il tempo medio tra due guasti consecutivi è indicato con MTBF (Mean Time Betwe-
en Failures). E’ evidente che il secondo indice ha senso solo nel caso di unità riparabili e
quando la distribuzione dei tempi al guasto non cambia in seguito ad una riparazione. Si
dice che, in tal caso, il processo stocastico dei tempi di guasto è un processo di rinnovo
(PR), che comprende come caso particolare il processo di Poisson omogeneo (PPO), quan-
do la suddetta distribuzione (anche detta distribuzione dei tempi di interarrivo) è di tipo
esponenziale. Un PR si applica in tutti i casi in cui il rischio di guasto è indipendente dal
tempo totale di funzionamento, ma dipende solo dal tempo trascorso dall’ultima riparazio-
ne. In altri termini, una riparazione rinnova completamente il sistema. A dispetto della dif-
ferenza concettuale appena illustrata, e specie nel gergo commerciale, spesso questi due
indici sono utilizzati in maniera indifferente (dal contesto si evincerà se l’unità può essere
considerata o meno riparabile).
Riassumiamo alcune delle definizioni date nella seguente tabella.
Introduzione alla teoria e all’ingegneria dell’affidabilità
14
Variabile aleatoria Descrizione CDF Media
Tg Tempo al guasto F(t) MTTF
Tr Tempo di riparazione M(t) MTTR
Si noti la differenza concettuale tra la funzione disponibilità e la funzione affidabilità: la
disponibilità A(t) esprime una probabilità di stato al tempo t, ovvero quella di trovare il si-
stema funzionante in tale istante di tempo, mentre l’affidabilità R(t) esprime la probabilità
che il sistema funzioni nell’intervallo (0, t).
In pratica, l’indice utilizzato è la disponibilità a regime )(lim tAA
t
, che coincide con la
disponibilità media A
T
nell’intervallo (0, T) quando φ οT .
La disponibilità espressa in termini assoluti è anche detta tempo disponibile (Td) :
Td = (Tempo totale in cui il sistema è alimentato) – (Tempo di manutenzione)
La disponibilità espressa in termini relativi è data dalla disponibilità a regime precedente-
mente introdotta in termini probabilistici e risulta pari, nell’ipotesi che la riparazione rin-
novi completamente il sistema, al rapporto tra il MTBF e il tempo totale di attività, dato
dalla somma MTBF+MTTR:
MTTRMTBF
MTBF
A
.
Introduzione alla teoria e all’ingegneria dell’affidabilità
15
In realtà, al posto di MTTR dovremmo specificare più correttamente un MDT (Mean
Down Time), ovvero un tempo medio di fuori servizio, che comprende le seguenti fasi:
1. individuazione del guasto (di durata MTTD, Mean Time To Diagnose);
2. riparazione vera e propria (di durata MTTR);
3. reintegrazione del componente riparato.
Per semplicità, spesso assumeremo che MTTR comprenda tutto il processo di riparazione
descritto.
Si osservi, ancora, che l’affidabilità non è sempre una caratteristica direttamente percettibi-
le dall’utente, mentre lo è la disponibilità. Infatti, un sistema complesso può garantire un
grado di disponibilità elevato anche se il livello di affidabilità dei componenti è basso, a
patto che il MTTR sia sufficientemente ridotto. E’ ovvio che vale anche il viceversa: un si-
stema costituito da componenti molto affidabili può risultare poco disponibile se i tempi di
ripartenza sono eccessivi. Questo implica che una corretta strategia di recupero dai guasti è
importante al pari dell’utilizzo di componenti molto affidabili (e quindi costosi), e ciò ri-
sulta fondamentale per una vantaggiosa allocazione dei costi.
A volte è utilizzato un ulteriore indice S(t) (dall’inglese safety), legato alla variabile aleato-
ria Tgc (tempo al guasto catastrofico, ovvero tale da implicare la completa interruzione del
servizio con conseguenze potenzialmente dannose per le persone e l’ambiente), che rappre-
senta la probabilità che non si verifichi un guasto catastrofico in (0, t). Il valore atteso di
Tgc si indica con MTTCF (Mean Time To Catastrophic Failure).
Si osservi come il guasto catastrofico costituisca un esempio di malfunzionamento “globa-
le” del sistema, che si differenzia da un guasto normale per il fatto che quest’ultimo non
Introduzione alla teoria e all’ingegneria dell’affidabilità
16
implica necessariamente l’indisponibilità del sistema o comunque un’incapacità parziale di
assolvere alla funzione richiesta. Infatti, un guasto può essere mascherato utilizzando tec-
niche opportune e non essere percettibile o essere solo in parte percettibile (ad esempio per
un calo di prestazioni) dall’utente. In altre parole, un guasto localizzato in un componente
non necessariamente impedisce al sistema di svolgere la funzione richiesta e, quindi, non
ne peggiora la disponibilità. In alcuni contesti, un guasto catastrofico può generare danni
gravissimi o essere fatale per l’incolumità delle persone, e quindi va evitato a tutti i costi.
In molti sistemi critici, un guasto catastrofico costituisce solo una delle numerose modalità
di malfunzionamento del sistema dal punto di vista degli utenti, essendo affiancato da nu-
merosi altri guasti spesso definiti come “parziali”.
Da quanto detto, l’espressione che segue risulta più adatta a descrivere la disponibilità di
un sistema riparabile complesso, in cui si è presa in considerazione una generica modalità
di malfunzionamento indicata con SF (Service Failure: guasto nell’erogazione del servi-
zio):
MDTMTTSF
MTTSF
A
La seguente figura illustra le conseguenze di un guasto non mascherato dalle cosiddette
“tecniche di fault-tolerance”, che verranno introdotte nel seguito, e riassume graficamente
parte delle definizioni date in precedenza.