# IEC 61508

Lo IEC 61508 è uno standard internazionale che disciplina l'intero ciclo di vita dei prodotti e dei sistemi elettrici, elettronici o elettronici programmabili (E/E/PE) relativi alla sicurezza, inclusi la loro applicazione, progettazione, utilizzo e manutenzione. È sviluppato dalla Commissione elettrotecnica internazionale (IEC) e ha come titolo Sicurezza funzionale dei sistemi elettrici / elettronici / elettronici programmabili relativi alla sicurezza.
L'IEC 61508 è uno standard generale che si applica a tutti i settori industriali. Esso definisce la sicurezza funzionale come parte della sicurezza complessiva di un sistema o di un'apparecchiatura sotto controllo, che dipende dal corretto funzionamento dei sistemi E/E/PE di sicurezza, da altri sistemi tecnologici di sicurezza e da misure di riduzione del rischio. Del sistema o dell'apparecchiatura sotto controllo viene valutato il livello di rischio di guasto con un approccio probabilistico, e cioè come funzione della frequenza o probabilità di accadimento del guasto e della gravità delle conseguenze del guasto stesso. Il rischio di guasto viene poi ridotto a un valore accettabile tramite funzioni di sicurezza che possono essere di tipo strumentale (E/E/PE, o Safety Instrumented Functions, o SIF), dispositivi meccanici o di altro tipo. L'IEC 61508 pone molta enfasi sui requisiti delle varie funzioni di sicurezza, ma in particolare su quelle elettroniche programmabili (Parte 3 dello standard).
Il concetto fondamentale è che un sistema relativo alla sicurezza deve funzionare correttamente oppure guastarsi in modo prevedibile e sicuro. L'approccio alla base dell'IEC 61508 è il seguente:
* il rischio zero non può essere raggiunto, ma solo ridotto a un livello accettabile;
* i livelli di rischio non accettabili devono essere ridotti (ALARP);
* l'approccio alla valutazione e alla riduzione dei guasti è di tipo probabilistico, e tiene conto dell'impatto sulla sicurezza dei guasti dei sistemi E/E/PE;
* un livello di sicurezza ottimale, anche dal punto di vista dei costi, viene raggiunto se pensato sull'intero ciclo di vita dei sistemi: lo standard introduce analisi e tecniche per evitare errori in tutte le fasi del ciclo di vita del sistema (concetto iniziale, analisi di rischio, progettazione, installazione, manutenzione, smantellamento e smaltimento), che potrebbero compromettere anche la più affidabile delle protezioni. Il Ciclo di Vita di Sicurezza (SLC – Safety Life-Cycle): è un processo ideato per ottimizzare la progettazione dei sistemi di sicurezza e per accrescere la sicurezza del sistema nel suo complesso, minimizzando la probabilità di introdurre guasti e/o errori sistematici nel sistema e preservandone l'integrità della sicurezza. Il Ciclo di Vita di Sicurezza definito nell'IEC-61508 è un processo ad anello chiuso, che prosegue fino alla dismissione del sistema e i cui controlli e analisi vengono continuamente eseguiti fintantoché il sistema è in esercizio e soprattutto ogniqualvolta il sistema viene modificato o aggiornato.
Il ciclo di vita globale di sicurezza proposto dall'IEC 61508 copre l'intero arco di vita del sistema ed è caratterizzato da 16 fasi collegate alla funzione di sicurezza del sistema (le fasi da 1 a 5 riguardano le attività di analisi, quelle da 6 a 13 le attività di realizzazione e quelle da 14 a 16 le attività di esercizio del sistema). Per ogni singola fase la norma prescrive le attività ed i passi che devono essere eseguiti, stabilisce l'informazione necessaria per compiere ogni passo e la documentazione che deve essere prodotta e indica le metodologie e le tecniche che debbono essere utilizzate.
L'IEC 61508 è formato da sette parti:
* Parti 1–3: requisiti generali
* Parte 4: definizioni
* Parti 5–7: linee guida ed esempi

## Analisi di rischio

L'IEC 61508 richiede un'analisi di rischio del sistema o dell'apparecchiatura sotto controllo e una valutazione del rischio accettabile per ciascuna modalità di guasto pericoloso. L'analisi di rischio può essere sia qualitativa sia quantitativa. Come base per le analisi di tipo qualitativo vengono suggerite delle categorie per la frequenza/probabilità di guasto e per la gravità delle conseguenze, riportate nelle prime due delle seguenti tabelle, che vengono poi combinate nelle categorie di rischio riportate nella terza tabella.

### Categorie di frequenza di accadimento

| Categoria | Definizione | Intervallo (guasti per anno) |
| Frequente | Può accadere molte volte durante il ciclo di vita del sistema | > 10$^{−3}$ |
| Probabile | Può accadere alcune volte durante il ciclo di vita del sistema | 10$^{−3}$ to 10$^{−4}$ |
| Occasionale | Può accadere una volta durante il ciclo di vita del sistema | 10$^{−4}$ to 10$^{−5}$ |
| Remoto | Improbabile che accada durante il ciclo di vita del sistema | 10$^{−5}$ to 10$^{−6}$ |
| Improbabile | Molto improbabile che accada | 10$^{−6}$ to 10$^{−7}$ |
| Incredibile | Non può accadere | < 10$^{−7}$ |

### Categorie di gravità delle conseguenze

| Categoria | Definizione |
| Catastrofico | Perdita di molte vite umane |
| Critico | Perdita di una vita umana |
| Marginale | Lesioni gravi a una o più persone |
| Trascurabile | Lesioni lievi |
Frequenze e conseguenze vengono combinate in una matrice di rischio, come da esempio seguente:
| | Conseguenze | Conseguenze | Conseguenze | Conseguenze |
| Frequenze | Catastrofico | Critico | Marginale | Trascurabile |
| Frequente | I | I | I | II |
| Probabile | I | I | II | III |
| Occasionale | I | II | III | III |
| Remoto | II | III | III | IV |
| Improbabile | III | III | IV | IV |
| Incredibile | IV | IV | IV | IV |
Dove:
* Classe I: Rischio Inaccettabile in qualunque caso;
* Classe II: Indesiderabile: tollerabile solo se implementare delle misure di riduzione del rischio risulta impraticabile o se i relativi costi sono decisamente sproporzionati rispetto al miglioramento che ne conseguirebbe;
* Classe III: Tollerabile se il costo delle misure di riduzione del rischio risulta eccessivo rispetto al miglioramento che ne conseguirebbe;
* Classe IV: Accettabile, sebbene venga richiesto comunque un monitoraggio.

## Safety integrity level

Il Safety Integrity Level (SIL) rappresenta un livello di affidabilità per ciascuna funzione di sicurezza. Il SIL richiesto a ciascuna funzione di sicurezza viene determinato attraverso un'analisi di rischio, e rappresenta un target da raggiungere attraverso i seguenti tre parametri:
1. La capacità di sistema, che rappresenta una misura della qualità della progettazione della funzione di sicurezza. Il SIL della funzione di sicurezza corrisponde alla capacità di sistema più bassa tra i dispositivi utilizzati nella funzione di sicurezza. I requisiti per la capacità di sistema sono presentati nella Parte 2 e Parte 3 dell'IEC 61508, e comprendono controlli di qualità appropriati, processi di gestione, tecniche di validazione e verifica, analisi dei guasti ecc. in modo da giustificare che un sistema di sicurezza può garantire il livello di SIL richiesto.
2. Requisiti architetturali, cioè i livelli minimi di ridondanza valutati attraverso due metodi presentati nello standard - Route 1h e Route 2h.
3. Analisi della probabilità di guasti pericolosi. I valori di probabilità utilizzati nell'analisi dipendono dal fatto che il componente funzionale sia chiamato a intervenire con alta o bassa frequenza (high o low demand) e di conseguenza:
* per sistemi che operano in modo continuo o frequente il livello SIL corrisponde a una frequenza ammissibile di guasto pericoloso,
* per sistemi che operano in modo discontinuo o intermittente il livello SIL corrisponde a una probabilità ammissibile che il sistema stesso non risponda su richiesta di intervento.
| SIL | Sistemi discontinui (Low demand mode): probabilità media di mancato intervento su richiesta | Sistemi continui (High demand mode): probabilità di guasto pericoloso per ora |
| 1 | ≥ 10$^{−2}$ to < 10$^{−1}$ | ≥ 10$^{−6}$ to < 10$^{−5}$ |
| 2 | ≥ 10$^{−3}$ to < 10$^{−2}$ | ≥ 10$^{−7}$ to < 10$^{−6}$ |
| 3 | ≥ 10$^{−4}$ to < 10$^{−3}$ | ≥ 10$^{−8}$ to < 10$^{−7}$ |
| 4 | ≥ 10$^{−5}$ to < 10$^{−4}$ | ≥ 10$^{−9}$ to < 10$^{−8}$ |

## Certificazione secondo IEC 61508

Un prodotto, un processo o un sistema può ottenere una certificazione da parte di un Ente Certificatore indipendente, che attesti che tutti i requisiti richiesti dall'IEC 61508 sono ottemperati. Gli Enti Certificatori sono accreditati per condurre audit, valutazioni e test dagli organismi dedicati presenti nei vari paesi, e che sono membri dell'International Accreditation Forum (IAF) se si tratta di gestione di sistemi, prodotti, servizi e personale, o dell'International Laboratory Accreditation Cooperation (ILAC) se si tratta di laboratori. Un Accordo di mutuo riconoscimento permette di riconoscere in paesi diversi i risultati delle valutazioni della conformità effettuati in un singolo paese. Per quanto riguarda la sicurezza funzionale, diversi Enti Certificatori globali hanno preparato i loro programmi di certificazione basati sull'IEC 61508 e altri standard, ciascuno dei quali elenca gli standard di riferimento e specifica le procedure seguite per gestire i test, gli audit, le politiche di pubblica documentazione e altri specifici aspetti.

## Versioni dello standard per specifici settori industriali o applicazioni
### Software nel settore automobilistico

L'ISO 26262 è un adattamento dell'IEC 61508 per i sistemi Elettrici/Elettronici nel settore automobilistico, ampiamente adottato dai principali produttori di auto.

### Software nel settore ferroviario

Lo standard IEC 62279 è un adattamento dell'IEC 61508 per applicazioni nel settore ferroviario, in particolare per lo sviluppo del software di controllo e protezione e dei sistemi di comunicazione e segnalazione.

### Industria di processo

Il settore dell'industria di processo comprende raffinerie, impianti di tipo petrochimico, chimico, farmaceutico, della carta, nonché centrali elettriche. L'IEC 61511 è lo standard tecnico alla base dei sistemi strumentali che assicurino la sicurezza di tali processi industriali.

### Centrali nucleari

L'IEC 61513 contiene requisiti e raccomandazioni per strumenti e controlli relativi alla sicurezza degli impianti nucleari, coprendo in particolare i sistemi che comprendono sia dispositivi convenzionali cablati, sia dispositivi computerizzati, sia una combinazione dei due tipi.

### Macchine

Lo IEC 62061 è lo standard specifico sull'implementazione dell'IEC 61508 alle macchine.

## Test del software

Il software scritto in accordo all'IEC 61508 può essere sottoposto a Unit testing, a seconda del livello di SIL richiesto. Il requisito principale nello Unit Testing è quello di assicurarsi che il software sia completamente testato a livello di funzione. Per le applicazioni con un livello di SIL richiesto alto, i requisiti sulla copertura del codice ("Code Coverage") sono più stringenti e richiedono l'utilizzo di un criterio di "Modified Condition/Decision Coverage" attraverso un "Software Module Testing tool".