Programmazione.it v6.4
Ciao, per farti riconoscere devi fare il login. Non ti sei ancora iscritto? Che aspetti, registrati adesso!
Info Pubblicità Collabora Autori Sottoscrizioni Preferiti Bozze Scheda personale Privacy Archivio Libri Corsi per principianti Forum
Disastri informatici, il lancio di Ariane 5
Scritto da Alessandro Vinciarelli il 04-09-2008 ore 15:12
Seminario Intel
Tra i disastri informatici che meritano di essere ricordati per la loro appariscenza, sicuramente quello del razzo spaziale Ariane 5 merita un posto di rilievo. In questo caso, l’errore, o per meglio dire il bug, è di carattere puramente implementativo.

Un banale errore di programmazione ha mandato in fumo gli sforzi di una moltitudine di persone, oltre chiaramente ad un ingente somma di denaro, la cui stima non è esattamente calcolabile. C’è chi fa riferimento alle sole componenti non assicurate, come alcuni satelliti scientifici presenti all’interno del razzo dal valore di 500 milioni di dollari, e chi si spinge oltre, arrivando anche a 8 miliardi di dollari.

Correva l’anno 1996 quando venne lanciato nello spazio il vettore spaziale Arianne 5, che per lungo tempo era stato sponsorizzato con entusiasmo dall’Europa e dal suo programma spaziale. Più precisamente era il 4 giugno e Ariane 5 con tutto il suo carico parte per non ritornare mai a terra (perlomeno nella sua interezza), dato che dopo solo 39 secondi il suo volo viene interrotto dal sistema di autodistruzione.

Praticamente la causa del disastro, fortunatamente solo economico visto che non vi era equipaggio e che quanto rimase del razzo cadde in una zona non abitata della Guiana francese, è da imputare ad una parte di codice che voleva inserire un numero a 64 bit in uno pazio a 16 bit. Il problema risiedeva nel fatto che il sistema non era in grado di memorizzare e gestire i parametri più performanti del suo successore.

Nella pratica il sistema di conversione della velocità laterale del missile non fu in grado di trasformare correttamente quanto rilevato in un numero a 16 bit causando, per l’assenza di un controllo di gestione, lo spegnimento del sistema di guida primario e il trasferimento di tutte le responsabilità al sistema di guida secondario. Quest’ultimo, progettato con gli stessi crismi del primo, tentò di effettuare la stessa operazione restituendo chiaramente il medesimo risultato.

Quindi, qualche secondo dopo il decollo, il razzo si trovò privo di controllo e non dovette passare troppo tempo prima che i sistemi di autodistruzione entrassero in gioco. Il risultato fu quello riportato dalle cronache dell’epoca, ovvero "il più costoso fuoco d'artificio della storia".

Tra l’altro, la sorte volle che la funzione che generò la disfatta non aveva particolare utilità, in quanto interessava, per scelta dei progettisti, solamente i primi 40 secondi di volo. Una volta partito infatti il vettore non aveva alcun bisogno di quella routine, che era rimasta in vita solo per facilitare il riavvio del sistema, se si fosse verificata una breve interruzione nel conto alla rovescia.
Precedente: Aggiornato il tutorial su JavaFX (1/2)
Successiva: Sistemi informativi territoriali e cartografia
Copyright Programmazione.it™ 1999-2014. Alcuni diritti riservati. Testata giornalistica iscritta col n. 569 presso il Tribunale di Milano in data 14/10/2002. Pagina generata in 0.191 secondi.