Oggi la triste notizia del tamponamento di due treni della metropolitana a Roma. Il primo pensiero è di cordoglio per la vittima e di auguri per la famiglia.
Poi guardo la prima ricostruzione dell'accaduto e mi fuma il cervello dalla rabbia. Non importa se sia errore umano o tecnico. Anche l'ipotesi più assurda, se ad esempio il conducente avesse spinto a kamikaze il treno al massimo, l'incidente non sarebbe dovuto accadere.
Domani mi appresto a tenere la sessione di architettura sulla sicurezza. Ovviamente parlo di software ma i concetti di principio valgono in tutti i campi.
Non ci si può affidare ad un solo componente o a una sola contromisura per evitare un problema di sicurezza. E questo la valutazione del rischio (cosa ben nota in automotive) deve far crescere il numero di contromisure da adottare.
Il problema è quindi di pensare alla sicurezza in ogni singola fase del progetto. Ed anche l'utente deve pensare in termini di sicurezza, come Microsoft Japan ha ben riassunto nel video "Think Security".
Da patito di elettronica, mi sono venuti in mente una decina di sistemi economici per evitare che due treni si possano scontrare/tamponare. Ogni volta che vedo un incidente ferroviario (a cui in Italia siamo tristemente abituati) mi salta in mente un sistema o una variante nuova.
Ma dico, possibile che non ci sia un sistema che rilevi la distanza dall'ostacolo che la vettura ha di fronte? Possibile che non ci sia un sistema che monitorizzi la vicinanza e la velocità delle vetture in modo centralizzato? E se anche fosse un problema di freni di una vettura, non è accettabile che il guasto si propaghi anche a tutte le altre.
Poi Microsoft viene presa in giro per i bug ... ma queste cose invece vengono viste come un ineluttabile accadimento del fato. Dannazione non mi sta bene.