Κυριακή, 1 Αυγούστου 2021

Σαν σήμερα... Ένα παραλειπόμενο της αποστολής του Apollo 11 (Για την Margaret Hamilton).

 

Margaret Hamilton

Είναι πολύ συνηθισμένο, κάνοντας ψάξιμο στο διαδίκτυο, να ξεστρατεύεις. Στο δρόμο συναντάς κάτι ενδιαφέρον που σε οδηγεί σε άλλο μονοπάτι και μετά σε άλλο μονοπάτι ... . Έτσι, αναζητώντας υλικό για την πρώτη επίσκεψη του ανθρώπου στη Σελήνη, έπεσα σ' ένα διαμαντάκι, για το οποίο δεν γνώριζα, ούτε είχα ακούσει ποτέ κάτι. Αυτό λοιπόν θέλω να μοιραστώ μαζί σας.

Το όνομα Margaret Hamilton (Μάργκαρετ Χάμιλτον) σας λέει κάτι; Μέχρι πριν μερικές μέρες, τουλάχιστον σε μένα, δεν ήταν καν ακουστό.

Το 2003, η NASA έδωσε στη δημοσιότητα κείμενο έκθεσης με τίτλο "2003 Annual Report of the NASA Inventions & Contributions Board" ("2003 Ετήσια Έκθεση του Συμβουλίου Εφευρέσεων και Συνεισφορών της NASA"). Στις σελίδες 13 και 14 της έκθεσης, ένα κείμενο με τίτλο "Συνεισφορές λογισμικού πτήσης για το Apollo $37,200" κατέληγε ως εξής: "Ο Απόλλων ζει σήμερα συνεχίζοντας να έχει επιπτώσεις στο σύγχρονο κόσμο εν μέρει μέσα από τις πολλές καινοτομίες που δημιούργησε και υποστήριξε η κα Χάμιλτον."

1969, η Μάργκαρετ Χάμιλτον στέκεται δίπλα σε μια στίβα
 με τον κώδικα του προγράμματος Apollo.   (ΜΙΤ)

Στις 20 Ιουλίου 2021, έκανα την ανάρτηση με τίτλο "Σαν σήμερα... 1969, η πρώτη επανδρωμένη μηχανή φτάνει στη Σελήνη. Το ταξίδι του Apollo 11 από τη Γη στο Φεγγάρι (1ο μέρος).", όπου μεταξύ άλλων είχα γράψει: "Μετά από πέντε λεπτά κι ενώ η σεληνάκατος ήταν 1800 μέτρα πάνω από την επιφάνεια της Σελήνης, μία προειδοποιητική λυχνία άρχισε να αναβοσβήνει στον πίνακα ελέγχου του Eagle: "Επικείμενη υπερφόρτιση του υπολογιστή". Ήταν η βλάβη με κωδικό συναγερμού 1202. Αμέσως στο Κέντρο Ελέγχου στο Χιούστον σήμανε κινητοποίηση.

Η σελίδα 45506-A του κώδικα που έφτιαξε η Χάμιλτον για το Apollo.

Τα μάτια όλων στράφηκαν σ' έναν 27χρονο ειδικό στο Κέντρο Ελέγχου στο Χιούστον, τον  Steve Bales (Στηβ Μπέιλς) που ήταν διευθυντής καθοδήγησης και από όλο το τεχνικό προωπικό, ακόμη και από τον Επικεφαλής Πτήσης Gene Kranz ήταν ο μοναδικός που είχε εμπειρία αντιμετώπισης του κωδικού 1202. Αυτός είχε λίγα λεπτά για να αποφασίσει εάν η αποστολή μπορούσε να συνεχίσει ή αν οι αστροναύτες θα έπρεπε να εγκαταλείψουν την προσπάθεια και να επιστρέψουν στο όχημα διακυβέρνησης. Τότε, ο μηχανικός ηλεκτρονικών υπολογιστών Jack Garman (Τζακ Γκάρμαν) δήλωσε στον Μπέιλς ότι ήταν ασφαλές για τη σεληνάκατο να συνεχίσει την κάθοδο. Αμέσως ο Μπέιλς έστειλε το μήνυμα: "Gο" ("Προχωρήστε") στον Gene Kranz και στον Charlie Duke, Υπεύθυνο Επικοινωνίας με το διαστημόπλοιο. Αυτή η αποφασιστικότητα και η λήψη της σωστής απόφασης από τον Μπέιλς, αργότερα τιμήθηκε από τον πρόεδρο Ρίτσαρντ Νίξον με το ίδιο μετάλλιο που έλαβαν και οι τρεις αστροναύτες."

Η Χάμιλτον στο ΜΙΤ στη διάρκεια της αποστολής του Apollo 11.

Όμως, τι ήταν αυτό που έσπρωξε τον Γκάρμαν να πει πολύ γρήγορα στον Μπέιλς ότι δεν υπήρχε πρόβλημα και μπορούσε να προχωρήσει η αποστολή του Apollo 11; Ήταν το υπολογιστικό πρόγραμμα που είχε σχεδιάσει η ομάδα πληροφορικής που ήταν υπεύθυνη για το όχημα διακυβέρνησης (Command Module - CM) και την προσεδάφιση στη Σελήνη.   

Αυτή η ομάδα εργαζόταν στο Εργαστήριο Charles Stark Draper του ΜΙΤ με επικεφαλής την μηχανικό πληροφορικών συστημάτων Μάργκαρετ Χάμιλτον. Το Εργαστήριο είχε υπογράψει σύμβαση με τη NASA για να αναπτύξει τo κατάλληλο λογισμικό. 

Η Χάμιλτον έχοντας σπουδάσει Μαθηματικά στο Πανεπιστήμιο του Μίσιγκαν και στο Κολέγιο του Earlham, το καλοκαίρι του 1959 μετακόμισε στο τμήμα μετεωρολογίας του MIT, δίπλα στον καθηγητή Edward Norton Lorenz. Εκείνη την εποχή, η επιστήμη των υπολογιστών και η δημιουργία λογισμικού δεν είχαν καθιερωθεί ως ανεξάρτητοι επιστημονικοί κλάδοι και όσοι εργάζονταν ως προγραμματιστές στηρίζονταν στην εμπειρία και την εξάσκηση που αποκτούσαν μέσα από τη δουλειά τους. Εκεί η Χάμιλτον, εργαζόμενη με υπολογιστές του τύπου LGP-30 και PDP-1 δημιούργησε λογισμικό για την πρόβλεψη του καιρού.

Η Χάμιλτον όταν εργαζόταν για το πρόγραμμα Apollo.

Από το 1961 έως το 1963, η Χάμιλτον εργάστηκε στο πρόγραμμα SAGE (Semi-Automatic Ground Environment) στο Εργαστήριο Lincoln του MIT. Το πρόγραμμα SAGE ξεκίνησε ως υπολογιστικό σύστημα πρόβλεψης καιρικών συστημάτων για την Αμερικάνικη Πολεμική Αεροπορία κι εξελίχτηκε σε πρόγραμμα αεροπορικής άμυνας από πιθανές επιθέσεις σοβιετικών αεροσκαφών, στην περίοδο του Ψυχρού Πολέμου. Η επιτυχημένη δουλειά της Χάμιλτον στα προηγούμενα προγράμματα, της έφερε την συνεργασία της με το Εργαστήριο Charles Stark Draper του ΜΙΤ για το πρόγραμμα Apollo, το 1964. 

Αρχικά η Χάμιλτον προσλήφθηκε ως προγραμματίστρια, αλλά σύντομα προχώρησε σε σχεδιασμό υπολογιστικών συστημάτων. Τελικά, ως υπεύθυνη για όλο το λογισμικό του οχήματος διακυβέρνησης, οδήγησε την ομάδα της στην ανάπτυξη του λογισμικού για τις αποστολές Apollo και Skylab. Η ίδια η Χάμιλτον σχεδίασε και ανέπτυξε λογισμικό ανίχνευσης σφαλμάτων και ανάκτησης-επαναφοράς, όπως στις  επανεκκινήσεις και στις ρουτίνες διεπαφής οθόνης (επίσης γνωστές ως οθόνες προτεραιότητας-priority display). Ασχολούμενη με το λογισμικό της αποστολής Apollo είχε εργαστεί στο σχεδιασμό συστημάτων και την ανάπτυξη λογισμικού, στη μοντελοποίηση επιχειρήσεων και διεργασιών, στην ανάπτυξη αυτοματοποιημένων συστημάτων, στη διασφάλιση ποιότητας, στην ανίχνευση σφαλμάτων και σε τεχνικές ανάκτησης, σε συστήματα διεπαφής ανθρώπου-μηχανής, σε τεχνικές δοκιμών από άκρο σε άκρο και τεχνικές διαχείρισης κύκλου ζωής. Όλα αυτά είχαν κάνει, το 40.000 γραμμών κώδικα της σεληνακάτου μαζί με τους αντίστοιχους κώδικες για το σέρβις και το όχημα διακυβέρνησης ένα απίστευτα αξιόπιστο λογισμικό και είχαν βοηθήσει τους προγραμματιστές να εντοπίζουν και να διορθώνουν ανωμαλίες που παρουσιάζονταν πριν γίνουν σημαντικά προβλήματα.

Το 2017, η Lego παρουσίασε μια φιγούρα της Μάργκαρετ Χάμιλτον,
 ως μέρος της συλλογής "Γυναίκες της NASA".  

Τελικά αποδείχτηκε ότι δεν είχε υπάρξει κάποιο πραγματικό πρόβλημα. Απλά, οι αστροναύτες είχαν αφήσει ακούσια το ραντάρ των ραντεβού ενεργοποιημένο κι αυτό προκάλεσε την ενεργοποίηση του συναγερμού. Οι οθόνες συναγερμού προτεραιότητας της Χάμιλτον διέκοψαν τις κανονικές οθόνες των αστροναυτών για να τους προειδοποιήσουν ότι υπήρχε κατάσταση έκτακτης ανάγκης "δίνοντας στους αστροναύτες μία απόφαση go / no go (να προσγειωθεί ή να μην προσγειωθεί)". Ο υπολογιστής ήταν υπερφορτωμένος με διακοπές, κάτι που σήμαινε ότι δεν μπορούσε να ολοκληρώσει όλες τις εργασίες του σε πραγματικό χρόνο και έπρεπε να αναβάλει ορισμένες από αυτές. 

Η ίδια η Χάμιλτον είχε σημειώσει σ' ένα άρθρο της για το θέμα: "Ο υπολογιστής (ή μάλλον το λογισμικό σε αυτόν) ήταν αρκετά έξυπνος για να αναγνωρίσει ότι του ζητήθηκε να εκτελέσει περισσότερες εργασίες από ό,τι θα έπρεπε να εκτελεί. Στη συνέχεια, έστειλε έναν συναγερμό, ο οποίος σήμαινε για τον αστροναύτη: «Είμαι υπερφορτωμένος με περισσότερες εργασίες από ό,τι θα έπρεπε να κάνω αυτή τη στιγμή και θα κρατήσω μόνο τα πιο σημαντικά καθήκοντα». Δηλαδή, αυτά που χρειάζονται για την προσγείωση... Στην πραγματικότητα, ο υπολογιστής ήταν προγραμματισμένος να κάνει περισσότερα από το να αναγνωρίζει τις συνθήκες σφάλματος. Ένα πλήρες σύνολο προγραμμάτων αποκατάστασης ενσωματώθηκε στο λογισμικό. Η δράση του λογισμικού, σε αυτή την περίπτωση, ήταν να εξαλείψει τα καθήκοντα χαμηλότερης προτεραιότητας και να επαναφέρει τα πιο σημαντικά ... Αν ο υπολογιστής δεν είχε αναγνωρίσει αυτό το πρόβλημα και δεν είχε αναλάβει δράση αποκατάστασης, αμφιβάλλω αν το Apollo 11 θα είχε τελικά μια επιτυχή προσσελήνωση."

H Μάργκαρετ Χάμιλτον τιμάται από την Google το 2019.

Για να ξαναγυρίσουμε στο Κέντρο Ελέγχου στο Χιούστον στις 20 Ιουλίου 1969, ο Τζακ Γκάρμαν γνώριζε ότι η Μάργκαρετ Χάμιλτον είχε φροντίσει να δημιουργήσει ένα πρόγραμμα έκτακτης ανάγκης που θα αντιμετώπιζε αυτόματα ένα πρόβλημα ακριβώς σαν κι αυτό που είχε εμφανιστεί. H Χάμιλτον είχε δουλέψει πολύ και σκληρά για μια τέτοια περίπτωση. Π.χ. αν εμφανιζόταν κάποιος συναγερμός και ο Όλντριν αντιδρούσε πολύ γρήγορα πατώντας ένα κουμπί στην οθόνη προτεραιότητας, ενδέχεται να έπαιρνε μια "λογική" απάντηση. Γι' αυτό η πρόταση της Χάμιλτον ήταν: όταν εμφανιστεί μια οθόνη προτεραιότητας, πρώτα μέτρα μέχρι το πέντε (δηλαδή μη βιαστείς). 

Έτσι, το πρόγραμμα της Χάμιλτον επέτρεψε στον Γκάρμαν να αποφασίσει πολύ γρήγορα ότι δεν υπήρχε πραγματικός κίνδυνος από την εμφάνιση του κωδικού 1202, τέτοιος που να οδηγούσε στην ματαίωση της αποστολής. Το λογισμικό πρόγραμμα της Χάμιλτον επέτρεψε στον Γκάρμαν να δώσει το «πράσινο φως» στον Μπέιλς να προχωρήσει ομαλά η εκτέλεση της αποστολής του Apollo 11.

H Μάργκαρετ Χάμιλτον τιμάται από τον Μπαράκ Ομπάμα το 2016.

Και που βρισκόταν η Μάργκαρετ Χάμιλτον αυτή την ώρα της δύσκολης απόφασης; Σίγουρα δεν βρισκόταν στην αίθουσα του Κέντρου Ελέγχου του Χιούστον, αφού δεν είχε επιτραπεί σε γυναίκες (πλην της μηχανικού αεροδιαστημικής JoAnn H. Morgan) να βρίσκονται μέσα στην αίθουσα!

Κλείνοντας αυτό το παραλειπόμενο της αποστολής του Apollo 11, να σημειώσω ότι η Μάργκαρετ Χάμιλτον έχει γεννηθεί στις 17 Αυγούστου 1936 στο Paoli της Ιντιάνα και (μεταξύ πολλών άλλων τιμητικών εκδηλώσεων) το 2016 βραβεύτηκε από τον Πρόεδρο Μπαράκ Ομπάμα με το Presidential Medal of Freedom (Προεδρικό Μετάλλιο της Ελευθερίας). To 1964 η Χάμιλτον χρησιμοποίησε για πρώτη φορά τον όρο "software engineering" ("μηχανική λογισμικού"). 

  • Βίντεο - καρτούν των Ματ Πόρτερ και Μάργκαρετ Χάμιλτον με τίτλο "Το λογισμικό που έστειλε τους ανθρώπους στη Σελήνη", από το TED-Ed (με ελληνικούς υπότιτλους, 4:40).
  • Βίντεο με τίτλο "Great Minds: Margaret Hamilton" ("Μεγάλα Μυαλά: Μάργκαρετ Χάμιλτον") από το κανάλι SciShow (αγγλικά, 4:35).
  • O κώδικας για το λογισμικό του Apollo 11 στο κανάλι github.
  • Βίντεο με την Χάμιλτον να θυμάται στο κανάλι MAKERS (αγγλικά, 4:36).
Πληκτρολόγιο οθόνης (DSKY) των διαστημοπλοίων του 
προγράμματος Apollo, που σχεδιάστηκε από την Raytheon
 Corporation. Βρίσκεται στο National Air and Space Museum
από το 1972 που δόθηκε από τη NASA.
  • Βίντεο με την Χάμιλτον να θυμάται στο κανάλι Christie's (αγγλικά, 4:07).
  • Από τη NASA για την Μάργκαρετ Χάμιλτον.
  • Αφιέρωμα του Περιοδικού WIRED στην Μάργκαρετ Χάμιλτον.
  • 2018, International Conference on Software Engineering (ICSE), η Μάργκαρετ Χάμιλτον απαντά σε ερωτήσεις ακροατών(-τριών) του Συνεδρίου.
  • Βίντεο της Google που τιμά την Χάμιλτον και τα 50 χρόνια της αποστολής Apollo 11.
  • Κείμενο από την Μάργκαρετ Χάμιλτον για "Το λογισμικό της πτήσης του Apollo".
  • Από το History of Recent Science and Technology, μια συνέντευξη της Μάργκαρετ Χάμιλτον στον καθηγητή του ΜΙΤ David Mindell.

Πηγή: smithsonianmagwikipedia,  openculture,  futurism,  computer,  bluesyemre