# Sistema critico

Un sistema critico (dall'inglese critical system) è un generico sistema che, in caso di mancato funzionamento, può provocare danni inaccettabili. Essi si distinguono tra sistemi critici per la sicurezza e sistemi critici per la missione, meglio noti con i loro rispettivi termini inglesi safety-critical e mission-critical. L'ingegneria della sicurezza e l'ingegneria dell'affidabilità sono le branche dell'ingegneria che si occupano della coordinazione delle attività di progettazione di questi sistemi.
Un sistema critico per la sicurezza è definito come un sistema il cui fallimento può portare a:
* morte o ferimento di persone
* perdita o grave danneggiamento di mezzi e impianti di particolare valore
* gravi danni ambientali.
Esempi di questi sistemi includono dispositivi medici, sistemi avionici, razzi o missili, impianti nucleari.
Un sistema critico per la missione è definito come un sistema il cui fallimento può causare danni economici potenzialmente irreparabili per l'azienda che produce e/o usa il sistema. Un esempio di questi sistemi sono i satelliti artificiali o i sistemi bancari.

## Classificazione dei sistemi
### Regimi di affidabilità

Una distinzione tra sistemi critici riguarda il loro comportamento previsto in caso di guasti. Diversi termini e classificazioni sono stati proposti, tra i quali i più comuni sono:
* Fail-operational systems: il sistema nel suo complesso continua ad operare correttamente anche quando un sotto-sistema (o un componente) presenta un guasto. In questa categoria rientrano svariate tipologie di apparati, tra cui alcuni sistemi automotive, i sistemi fly-by-wire e i sistemi di protezione delle centrali nucleari.
* Fail-safe systems: il sistema o una parte di esso, diventa non funzionante ma si trova in uno stato sicuro. Molti strumenti medici rientrano in questa categoria, come gli apparati per la trasfusione di sangue, i quali impediscono l'ingresso di bolle di gas nel sistema circolatorio del paziente anche quando smettono di funzionare. Altro esempio classico sono alcuni sistemi ferroviari, che azionano i freni di emergenza in caso di guasto.
* Fail-soft systems: a seguito di un guasto, il sistema è in grado di fornire solo alcune funzionalità oppure tutte le funzionalità ma con performance ridotte.
* Fail-passive systems: termine intermedio tra fail-safe e fail-operational. Se un sottosistema fallisce, non causa problemi al sistema più grande, ma tipicamente un'azione esterna deve essere presa per poter consentire il funzionamento del sistema completo. Questa modalità è tipica degli autopiloti: se il sistema di autoland fallisce, è garantito che non causa problemi al volo, ma richiede l'intervento umano del pilota per consentire l'atterraggio.
* Fail-secure systems: concetto simile a fail-safe, ma la sicurezza si intende contro attacchi da parte di terzi. Un esempio sono le serrature elettroniche, che in caso di mancanza di alimentazione rimangono bloccate (stato sicuro).
Non è sempre possibile classificare a priori dell'analisi dei requisiti di sicurezza il regime di affidabilità richiesto da un sistema. Per esempio, un autopilota può essere classificato semplicemente fail-passive, perché il suo malfunzionamento può essere gestito dai piloti, ma deve essere fail-operational se offre funzionalità di atterraggio completamente automatico, dove i piloti non avrebbero sufficiente tempo per reagire a un guasto dell'autopilota.

## Ingegnerizzazione della probabilità di guasto

Essendo materialmente impossibile costruire un sistema che non si guasti mai, l'ingegnerizzazione dei sistemi critici prevede il controllo della probabilità di guasto o più in generale la riduzione del rischio. Per ottenere questi risultati si applicano approfondite analisi (ad esempio analisi dei materiali) e miglioramento dei sistemi di sicurezza. Quando non è possibile migliorare ulteriormente un dato componente, o nel caso sia non vantaggioso da un punto di vista economico, si applicano tecniche di ridondanza.

### I requisiti di un sistema critico

Secondo la norma IEC 61508 i requisiti in termini di probabilità di guasto di un sistema critico si esprimono attraverso:
* PFH - Probabilità di guasto catastrofico per unità di tempo
* PFD - Probabilità di guasto catastrofico on-demand
La scelta tra i due requisiti dipende dal la frequenza con la quale la funzione critica del sistema viene attivata. Se essa è continua, si sceglierà PFH, se essa è da considerarsi sporadica, il requisito sarà espresso da PFD. La volutamente non oggettiva distinzione lascia al progettista, e all'eventuale ente certificatore, la valutazione di quale requisito è più appropriato.
Un valore tipico utilizzato per i sistemi aeronautici critici è un $PFH=10^{-9}/hour$, ovvero ogni ora un incidente catastrofico deve avvenire con una probabilità minore di $10^{-9}$. In altre parole, il tempo medio al primo guasto catastrofico è di circa 100.000 anni.

### Stima della probabilità di guasto

Uno dei modelli più utilizzato per stimare la probabilità di guasto di un sistema è la curva a vasca da bagno.

### Resilienza ai guasti
## Sistemi critici informatici

Nei moderni sistemi critici, i sistemi informatici svolgono un ruolo fondamentale per il funzionamento e la sicurezza del sistema stesso. La maggior parte di questi sistemi sono solitamente classificabili come sistemi real-time, perché il funzionamento di detti sistemi è determinato anche dal tempo di risposta degli stessi. Questo richiede che il tempo di esecuzione peggiore di un programma sia stimato correttamente.