# Concetti base di affidabilità dei sistemi

In questa lezione introduciamo alcuni concetti e termini molto usati in tutte le materie ingegneristiche in cui i sistemi necessitano di un certo grado di affidabilità. La lingua italiana manca di distinguere alcuni termini presenti invece in inglese. Ad esempio reliability e dependability sono concetti diversi che in italiano si traducono entrambi con affidabilità; per questo motivo utilizzeremo i termini inglesi.

## Proprietà del sistema

Il concetto più generale è la dependability, che rappresenta il concetto più generale per tutti i sistemi critici:
La dependability rappresenta quindi il grado di fiducia che l'utente pone nel sistema, cioè il grado con cui è confidente che il sistema funzioni come previsto.
Come detto la dependability è composta da varie proprietà più specifiche, ma comunque non funzionali, che dipendono non solo dal singolo sottosistema, ma anche dall'interoperazione e dalle relazioni (volute o meno) tra essi. Analizzeremo questo proprietà nelle sezioni seguenti.

### Reliability

Definiamo la reliability come:
La reliability è quindi legata alle condizioni in cui il sistema opera e da un periodo di tempo: un sistema viene garantito sempre per questi due aspetti, limiti entro il quale può operare e tempo di vita.
Introdotta ora informalmente, definiamo in formule la reliability di un sistema:
    $R(t)\ :=\ P({\text{funziona sempre nell'intervallo }}[0,t])$
assunto che funzioni al tempo $t=0$.
Specularmente definiamo unreliability come: $Q(t)\ :=\ 1-R(t)$
Si noti che $R(t)$ è una funzione non decrescente, assume valori nell'intervallo $[0;1]$ e $\lim _{t\to \inf }R(t)=1$ a mostrare che prima o poi, il sistema si guasterà.

### Availability

Definiamo l'availability come:
Introdotta ora informalmente, definiamo in formule l'availability di un sistema:
    $A(t)\ :=\ P({\text{funziona al tempo }}t)$
e si può calcolare la disponibilità media come:
    $A\ :=\ {\frac {\text{UPTIME}}{{\text{UPTIME}}+{\text{DOWNTIME}}}}$
Specularmente definiamo unavailability come: $U(t)\ :=\ 1-A(t)$
Si noti che se il sistema non è riparabile $A(t)=R(t)$, altrimenti $A(t)\geq R(t)$.

### Maintainability

La maintainability (manutenibilità) è l'abilità di un sistema di essere riparato o modificato. In formule è definito come:
    $M(t)\ :=\ P({\text{riparato entro l'intervallo }}[0,t])$
Come per la reliability $M(t)$ è una funzione non decrescente, assume valori nell'intervallo $[0;1]$ e $\lim _{t\to \infty }M(t)=1$. Se così non fosse, il sistema è considerato non riparabile.

### Altri concetti

Altre proprietà del sistema, solitamente meno usate, sono brevemente mostrate in questa sezione. Troviamo:
* performability: $P(t,L)$ probabilità che le prestazioni di un sistema siano almeno a un certo livello $L$ al tempo $t$;
* integrity: assenza di impropri stati di un sistema; comprende l'abilità di un sistema di rilevare i guasti e disattivarsi o comunque segnalare il problema;
* safety: assenza di catastrofiche conseguenze sull'utente o l'ambiente operativo;
* security: abilità del sistema di resistere a interferenze esterne, comprese intrusioni accidentali o deliberate e azioni errate degli attori coinvolti.
* survivability: abilità del sistema di continuare a offrire il proprio servizio durante attacchi accidentali o delibrati e in caso del fallimento di alcuni componenti (resilienza);
* testability: abilità del sistema di essere testato per certe proprietà.
Definiamo introltre graceful degradation (degradazione graduale, poco usato in italiano) come l'abilità di un sistema di dimuire gradualmente il suo livello di performance a seguito di guasti.

## Terminologia accessoria
### Fault - Error - Failure

Spesso i tre termini nel titolo vengono confusi e non utilizzati propriamente, inoltre la lingua italiana non aiuta. Provvediamo a definirli in modo corretto:
* Fault: un difetto del sistema (non rilevabile dall'output del sistema).
* Error: una deviazione dal normale funzionamento del sistema (rilevabile, ma non necessariamente rilevato).
* Failure: il sistema smette di eseguire la funzione per il quale è stato studiato.
Si noti che i 3 valori sono in ordine cronologico di avvenimento e successivamente è possibile aggiungere:
* Hazard: stato del sistema nel quale è considerato rischioso, con potenziali danni.
* Accident: incidente vero e proprio.

### Rischio

Il rischio è definito come potenzialità che un guasto porti a un danno o ad un evento indesiderabile. Può essere definito come:
    ${\text{Rischio}}(t)=\sum P({\text{incidente}})*{\text{costo}}({\text{incidente}})={\text{Hazard}}*{\text{Valore}}*{\text{Vulnerabilita'}}$

## Indici

Spesso nelle applicazioni ingegneristiche si preferisce usare degli indici "Mean time ...". In questa sezione analizzeremo in particolare i più importanti e citeremo altri indici spesso usati.

### MTTF, MTBF e MTTR

* L'MTTF (Mean Time To Failure) è, come dice l'acronimo, il tempo medio al primo fallimento del sistema.
* L'MTBF (Mean Time Between Failure) è, come dice l'acronimo, il tempo medio tra un guasto e il successivo.
* L'MTTR (Mean Time To Repair) è, come dice l'acronimo, il tempo medio tra il guasto e la rimessa in funzione del sistema.
Inoltre definiamo:
* MUP (Mean UP time): tempo medio di funzionamento del sistema
* MDT (Mean Down Time): tempo medio di non funzionamento del sistema
Si noti che $MDT\geq MTTR$ perché $MDT$ comprende anche il tempo di detection, identificazione del guasto e rimessa in servizio dopo la riparazione.
L'MTBF può essere calcolato come $MTBF={\frac {\text{tempo totale}}{\text{numero di guasti}}}={\frac {1}{\lambda }}$ (dove $\lambda$ è il rateo di guasto). Se inoltre assumiamo che se avviene un secondo guasto il sistema lo riconosce, allora: $MTBF=MTTF=\int _{-inf}^{T}R(t)dt$
Spesso l'MTBF è anche indicato come FIT ovvero il numero di guasti per milione di ore di funzionamento.

### Altri indici

* MTBMA: Mean Time Between Maintainance Actions
* MTSM: Mean Time for Scheduled Maintanance
* MTLA: Mean Time for Logistic Actions (es. trovare il componente sostitutivo in magazzino)
* MTBMA (alternativa): Mean Time Between Mission Abort