Il 22 Novembre del 2016, il Presidente Barack Obama consegnò ad una ottantenne signora, la Medaglia Presidenziale della Libertà, la più alta onorificenza civile degli Stati Uniti concessa a chi ha contribuito alla sicurezza, agli interessi, alla pace o alla cultura nel Paese. La signora è Margaret Hamilton, scienziata, ingegnera, imprenditrice.
Cosa ha fatto Margaret per meritarsi una tale onorificenza?
La storia comincia nel 1960, quando dopo la laurea in matematica e filosofia Margaret venne assunta al MIT di Boston come programmatrice, per un progetto che riguardava un sistema di previsioni del tempo.
Margaret si rese subito conto che i computer non erano presi molto sul serio, ma trattati come materia di seconda categoria, non certo al livello delle altre discipline ingegneristiche.
Gli scienziati e gli ingegneri guardavano al software come ad una cosa magica o artistica, e non certo come ad una scienza; ed è per questo che lasciavano usare i computer alle donne. Margaret dovette combattere in primis contro il maschilismo e poi contro lo scetticismo snob di quegli ingegneri per riuscire a fargli cambiare idea; lei che aveva sempre pensato che arte e scienza fossero i fondamenti della creazione di un software.

Come fare? Decise che andava dato risalto ad uno dei due fondamenti, e coniò il termine ingegneria del software per far capire che quella disciplina meritava rispetto e dignità scientifica. Elevare il software a livello di ingegneria era ritenuto per alcuni un offesa, per altri uno scherzo.
Nel 1965 Margaret venne nominata direttrice del laboratorio di sviluppo software del MIT, con l’incarico di sviluppare per la NASA il software di bordo delle missioni spaziali Apollo, il software che ne avrebbe regolato la navigazione nello spazio e l’allunaggio: l‘Apollo Guidance Computer (AGC).
Il suo titolo era Colossus Programming Leader
Il 20 luglio 1969 è una data storica per l’intera umanità: la missione Apollo 11 portò i primi umani sulla Luna. Il merito è ovviamente di centinaia di persone, ma se non fosse stato per il software egregiamente concepito da Margaret Hamilton forse oggi racconteremmo un’altra storia. Infatti, quando Neil Armstrong e Buzz Aldrin iniziarono la discesa con il Modulo Lunare Eagle, il computer di bordo fu saturato da un sovraccarico di dati in arrivo, segnalando tutta una serie di malfunzionamenti. Fortunatamente, Margaret aveva ingegnerizzato il software in modo che recuperasse funzionalità in caso di sovraccarico di dati. Così alcuni compiti meno prioritari furono annullati a favore di quelli con maggiore priorità. E l’allunaggio non fallì.
Ecco il racconto che fece Margaret di quell’evento.
« A causa di un errore nella checklist del manuale, l’interruttore
del radar di rendezvous era stato commutato nella posizione sbagliata. Questo causò l’invio di segnali erronei al computer. Il risultato fu che al computer fu richiesto di eseguire tutte le sue ordinarie funzionalità per l’atterraggio, mentre riceveva un carico aggiuntivo di dati spuri che assorbivano il 15% delle sue risorse. Il computer (o meglio, il software che stava eseguendo) era abbastanza intelligente da riconoscere che era richiesta l’esecuzione di più processi rispetto a quelli che poteva sostenere. Inviò quindi un allarme, che significava per gli astronauti “sono sovraccarico con più attività di quelle che potrei fare in questo momento e mi accingo a mantenere in esecuzione solo le più importanti”; ovvero, quelle richieste per l’atterraggio … In effetti il computer era programmato per fare di più che solo riconoscere le condizioni di errore. Un insieme completo di procedure di ripristino era incorporato. L’azione eseguita dal software, in questo caso, fu quella di eliminare i processi a priorità più bassa e ripristinare i più importanti … Se il computer non avesse riconosciuto questo problema e reagito di conseguenza, dubito che l’allunaggio dell’Apollo 11 sarebbe stato il successo che fu. »
Per le/i nerd interessati ecco il link su GitHub del software AGC.
[adriano parracciani aka CyberParra]
[End Of File - 1000011]