Cassandra Crossing/ Storie di aerei caduti e del loro software

Perché i piloti dei Boeing 737 MAX precipitati non sono riusciti a controllare i loro aerei?



[ZEUS News - www.zeusnews.it - 16-03-2019]

737max

Fiumi di inchiostro e di bit ci hanno giustamente inondato a seguito dei disastri aerei che hanno coinvolto due aeromobili Boeing 737 MAX, aerei di concezione modernissima e praticamente nuovi di zecca.

Proprio a seguito di questo eccesso mediatico è possibile che la maggior parte dei lettori si sia perso il motivo principale delle catastrofi, ormai assodato per la prima, altamente probabile per la seconda.

Poiché è un problema di ingegneria del software, di interazione uomo-macchina e di documentazione tecnica, è molto interessante descriverlo nella maniera più breve e concisa possibile.

Tre premesse tecniche:

1) Le ali di un aereo spingono verso l'alto, e permettono all'aereo di volare, solo a partire da una certa velocità; se un aereo che sta volando tranquillamente scende sotto questa velocità cade in verticale, improvvisamente e senza nessun preavviso, come un ferro da stiro. Questo fenomeno, incubo di qualsiasi pilota, si chiama stallo, e la velocità a cui questo avviene si definisce velocità di stallo.

2) La velocità di cui si parla è quella relativa all'aria, non al suolo, quindi è influenzata da eventi imprevedibili come un cambio di velocità del vento; non è misurabile da strumenti come il GPS o il radar, che misurano invece la velocità assoluta rispetto al terreno.

3) Per questo motivo esistono sensori multipli che, misurando la velocità dell'aria in vari punti dell'aereo, scattano in maniera "rumorosa" appena ci si avvicina alla velocità di stallo.

Visto che gli aerei (e non solo) sono ormai comandati dal software, e i comandi dei piloti sono solo uno degli input che il software analizza, come si deve realizzare un avviso di stallo imminente nell'abitacolo del pilota con qualcosa che sia meno rozzo di un sirena assordante e una luce rossa lampeggiante?

E' semplice: integrandolo nell'interfaccia utente del pilota, già molto complessa, e asservendolo al software di bordo. E qui, pare, è nato il problema.

Si noti che quanto segue è il miglior riassunto possibile elaborato dall'autore senza avere accesso diretto alla documentazione tecnica e ai carteggi intercorsi tra Boeing e IATA. Potrebbero quindi esserci imprecisioni, incompletezze o errori, di cui eventualmente l'autore si scusa e che promette di correggere ove esistenti.

Tutti sanno che negli aeromobili esiste il pilota automatico, che permette all'aereo di volare senza l'interazione del pilota, sulla base di parametri preimpostati. Quando il pilota ha il controllo manuale dell'aeromobile, questo automatismo è disinserito.

Sondaggio
L'aggravarsi del tasso di inquinamento atmosferico fa assumere alle amministrazioni comunali la decisione di bloccare la circolazione delle auto. Cosa ne pensi?
Era ora: si tratta di una misura necessaria e urgente.
I blocchi del traffico sono inutili e peggiorano la vita delle persone.
Sono d'accordo, ma i provvedimenti dovrebbero essere più incisivi (o addirittura permanenti).
Sarei d'accordo solo se prima venissero potenziati i trasporti pubblici.
Non so.

Mostra i risultati (1302 voti)

Visto che è sempre il software che controlla l'aereo, è più preciso riassumere affermando che il software ignora gli input dei comandi quando è attiva la modalità pilota automatico, e invece li elabora e dà loro la precedenza quando è attiva la modalità volo manuale.

Nel Boeing 737 MAX l'allarme di stallo si è evoluto in un sottosistema software con un nome preciso: Maneuver Characteristics Augmentation System (MCAS), che è stato integrato nel software di bordo in questo modo: in modalità pilota automatico, MCAS partecipa a determinare le azioni del software di bordo come input supplementare; in volo manuale invece MCAS non è disinserito, non è nemmeno attivo solo come allarme, ma mantiene la sua funzione automatica, senza che di questo il pilota abbia particolare evidenza.

Pur trattandosi di una novità, sembra che questo fatto non fosse nemmeno spiegato a sufficienza nel manuale di aggiornamento, destinato ai piloti che avessero già esperienza di volo su modelli simili di aereo e dovessero essere addestrati al volo sul nuovo modello.

MCAS, pare ormai assodato, non è stato in grado di reagire bene al malfunzionamento di uno dei sensori di velocità dell'aria di cui era dotato. Pare che MCAS non abbia rilevato il malfunzionamento di un singolo sensore, e che quindi abbia "pensato" che l'aereo stesse per entrare in condizioni di stallo.

Cosa deve fare, da sempre, un pilota in questi casi? Deve aumentare a tutti i costi la velocità dell'aeromobile; il modo più sicuro per farlo è farlo scendere, in modo che acquisti velocità.

In totale automatismo, come era progettato, il sottosistema software MCAS ha fatto questo, e si è quindi instaurata una lotta tra i piloti (che cercavano di risalire, non comprendendo da cosa era dovuta la pericolosa ed errata manovra) e MCAS (che cercava di scendere per salvare l'aeromobile).

Ha vinto il software. Anzi, ha stravinto.

La questione di fondo è se i piloti conoscessero davvero l'esistenza dell'MCAS, in particolare il fatto che era attivo anche durante il volo manuale e che, se necessario, doveva essere disattivato a parte. Sicuramente, i fatti lo hanno ahimè dimostrato, l'interfaccia utente del software non lo rendeva abbastanza evidente, e la documentazione non lo ha evidenziato in maniera sufficiente.

Così si scopre che due tragedie non sono state causate dal malfunzionamento di un sensore o del software dell'aeromobile nel suo complesso, ma a scelte precise (apparentemente ragionevoli ma errate) della progettazione del software di bordo e della documentazione per i piloti.

A questo punto, a coloro che specificatamente si occupano di sviluppo e integrazione di software di grandi dimensioni, vorrei porre due domande.

1) Le metodologie e le prassi di progettazione e di testing (non di sviluppo) sono affidabili in contesti di questa complessità? L'ordine di grandezza è di 100 milioni di linee di codice.

2) Lo stato dell'arte della progettazione delle interfacce utente di questi software è sufficiente per gestire in maniera sicura decisioni gravi e improvvise, quali la necessità di "strappare di mano" i comandi ai piloti?

In questo caso, verrebbe da concludere, le risposte dovrebbero essere ambedue negative.

Se questo articolo ti è piaciuto e vuoi rimanere sempre informato con Zeus News ti consigliamo di iscriverti alla Newsletter gratuita. Inoltre puoi consigliare l'articolo utilizzando uno dei pulsanti qui sotto, inserire un commento (anche anonimo) o segnalare un refuso.
© RIPRODUZIONE RISERVATA

Commenti all'articolo (ultimi 5 di 15)

I moderni aerei atterrano col pilota automatico.
24-3-2019 10:03

Bene, ho un'esperienza personale fresca, fresca al riguardo degli automatismi che fanno "i comodi loro": possiedo una XXX YYY (presa di 3a mano, che altrimenti mi potevo giusto comprare un paio di cerchioni di quell'auto, un'automatica 3.000 diesel), il livello di automazione del mezzo è tale che non sono ancora riuscito a... Leggi tutto
18-3-2019 18:50

Io ho preso i miei brevetti all'inizio degli anni 70 (e li ho lasciati scadere nel 93) ma ricordo che sin da allora (un eone fa dal punto di vista tecnologico) si parlava di sistemi di atterraggio automatico, sperimentali ma funzionanti... non riesco a credere quindi che ancora oggi gli aerei non siano dotati di dispositivi del genere...... Leggi tutto
18-3-2019 09:58

{utente anonimo}
L'unica certezza è che la nefanda pratica di usare gli utenti finali come beta tester si è estesa anche dove è in gioco la vita umana, che purtroppo non si puo ripristinare con un formattone.
17-3-2019 23:48

La liberta' di parola e' un diritto inviolabile, ma nei forum di Zeus News vige un regolamento che impone delle restrizioni e che l'utente e' tenuto a rispettare. I moderatori si riservano il diritto di cancellare o modificare i commenti inseriti dagli utenti, senza dover fornire giustificazione alcuna. Gli utenti non registrati al forum inoltre sono sottoposti a moderazione preventiva. La responsabilita' dei commenti ricade esclusivamente sui rispettivi autori. I principali consigli: rimani sempre in argomento; evita commenti offensivi, volgari, violenti o che inneggiano all'illegalita'; non inserire dati personali, link inutili o spam in generale.
E' VIETATA la riproduzione dei testi e delle immagini senza l'espressa autorizzazione scritta di Zeus News. Tutti i marchi e i marchi registrati citati sono di proprietà delle rispettive società. Informativa sulla privacy. I tuoi suggerimenti sono di vitale importanza per Zeus News. Contatta la redazione e contribuisci anche tu a migliorare il sito: pubblicheremo sui forum le lettere piu' interessanti.
Sondaggio
Quale di questi comportamenti ritieni che sia da evitare in assoluto?
Essere fuori sincrono: quando voce, tono, ritmo, posizione e movimenti non comunicano la stessa cosa si genera confusione e si viene ritenuti poco affidabili o sinceri.
Gesticolare eccessivamente: fare ampi gesti con le mani oppure giocare per esempio con i capelli o il telefono comunica insicurezza.
Tenere un'espressione neutra: la mancanza di un feedback dato dall'espressione facciale fa pensare all'interlocutore che l'argomento non interessi.
Evitare il contatto visivo: non guardare l'altro negli occhi comunica una sensazione di debolezza e lascia pensare che si stia nascondendo qualcosa.
Sbagliare la stretta di mano: non deve essere né troppo debole né troppo forte, o genererà in entrambi i casi un'impressione errata (servilismo o aggressività).
Inviare segnali verbali e non verbali opposti: se l'espressione facciale è opposta a ciò che le parole dicono, l'interlocutore non si fiderà.
Non sorridere: il sorriso comunica sicurezza, apertura, calore ed energia, e spinge a sorridere di rimando. Ugualmente errato sorridere sempre.
Roteare gli occhi: è un segno di frustrazione, esasperazione e fastidio; comunica aggressività.
Usare il cellulare durante una conversazione: lascia pensare che l'argomento non interessi e sia certamente meno importante dell'oggetto tra le mani.
Incrociare le braccia: l'interlocutore penserà che siamo sulla difensiva. Inoltre, se le mani non sono in vista crederà che abbiamo qualcosa da nascondere.

Mostra i risultati (1446 voti)
Maggio 2019
Gmail, una pagina segreta tiene traccia di tutti gli acquisti fatti
Sedicenne si uccide dopo sondaggio su Instagram
Falla in WhatsApp: basta una telefonata per ritrovarsi uno spyware sul telefono
Il primo processore completamente inviolabile
Il ransomware che ti regala l'antivirus (mentre cripta i file)
Windows 10 disporrà di un vero kernel Linux
Apple beccata a barare sulla durata delle batterie (ma non è la sola)
Ricaricate lo smartphone di notte? La batteria durerà meno
Programmatore autodidatta risolve puzzle del MIT con 15 anni d'anticipo
Aprile 2019
Windows 10, aumentano i requisiti minimi di sistema
Mark Zuckerberg: entro cinque anni avremo due Facebook
Windows, si allunga la lista di antivirus che bloccano il Pc
Aspen, il browser per navigare in sicurezza secondo Avast
Ex studente distrugge i computer della scuola con un USB killer
Galaxy Fold, lo schermo pieghevole si rompe quasi subito
Tutti gli Arretrati


web metrics