06
Sep
2022

Margaret Hamilton นำทีมซอฟต์แวร์ของ NASA ที่ลงจอดนักบินอวกาศบนดวงจันทร์

ซอฟต์แวร์คอมพิวเตอร์ที่ประสบความสำเร็จของ Apollo ได้รับการปรับให้เหมาะสมเพื่อจัดการกับปัญหาที่ไม่ทราบสาเหตุและขัดขวางงานหนึ่งเพื่อจัดการกับปัญหาที่สำคัญกว่า

เมื่อวันที่ 20 กรกฎาคม พ.ศ. 2512 ขณะที่โมดูลดวงจันทร์Eagleเข้าใกล้พื้นผิวดวงจันทร์ คอมพิวเตอร์ก็เริ่มแสดงข้อความเตือน ในช่วงเวลาหนึ่ง Mission Control เผชิญกับการตัดสินใจ “ไป / ไม่ไป” แต่ด้วยความมั่นใจอย่างสูงในซอฟต์แวร์ที่พัฒนาโดยนักวิทยาศาสตร์คอมพิวเตอร์Margaret Hamiltonและทีมของเธอ พวกเขาบอกนักบินอวกาศให้ดำเนินการต่อ ซอฟต์แวร์ซึ่งอนุญาตให้คอมพิวเตอร์จดจำข้อความแสดงข้อผิดพลาดและละเว้นงานที่มีลำดับความสำคัญต่ำ ยังคงแนะนำนักบินอวกาศ Neil Armstrong และ Buzz Aldrin เหนือเปลือกโลกที่เต็มไปด้วยฝุ่นของดวงจันทร์จนถึงจุดลงจอด

“มันชัดเจนขึ้นอย่างรวดเร็ว” เธอกล่าวในภายหลังว่า “ซอฟต์แวร์ [the] ไม่เพียงแต่แจ้งให้ทุกคนทราบว่ามีปัญหาเกี่ยวกับฮาร์ดแวร์เท่านั้น แต่ยังเป็นการชดเชยให้กับซอฟต์แวร์อีกด้วย” ในที่สุดการสอบสวนจะแสดงให้เห็นว่ารายการตรวจสอบของนักบินอวกาศมีความผิด โดยบอกให้พวกเขาตั้งค่าสวิตช์ฮาร์ดแวร์เรดาร์นัดพบอย่างไม่ถูกต้อง “โชคดีที่ผู้คนที่ Mission Control ไว้วางใจซอฟต์แวร์ของเรา” แฮมิลตันกล่าว และด้วยเชื้อเพลิงที่เพียงพอสำหรับการบินอีก 30 วินาที Neil Armstrong รายงานว่า “The Eagleได้ลงจอดแล้ว”

ความสำเร็จนี้เป็นงานที่ยิ่งใหญ่ในช่วงเวลาที่เทคโนโลยีคอมพิวเตอร์ยังอยู่ในช่วงเริ่มต้น: นักบินอวกาศสามารถเข้าถึงหน่วยความจำคอมพิวเตอร์ได้ เพียง 72 กิโลไบต์ (โทรศัพท์มือถือ 64 กิกะไบต์ในปัจจุบันมีพื้นที่จัดเก็บเพิ่มขึ้นเกือบล้านเท่า) โปรแกรมเมอร์ต้องใช้การ์ดเจาะกระดาษเพื่อป้อนข้อมูลลงในคอมพิวเตอร์ขนาดห้องโดยไม่มีส่วนต่อประสานหน้าจอ

เมื่อมีการลงจอด แฮมิลตัน ซึ่งตอนนั้นอายุ 32 ปี ได้เชื่อมต่อกับ Mission Control จาก MIT “ฉันไม่ได้มุ่งความสนใจไปที่ภารกิจเลย” แฮมิลตันสารภาพ “ฉันกำลังจดจ่ออยู่กับซอฟต์แวร์” หลังจากที่ทุกอย่างทำงานได้ดี น้ำหนักของช่วงเวลาก็กระทบเธอ “พระเจ้า. ดูสิ่งที่เกิดขึ้น เราทำได้. มันได้ผล มันน่าตื่นเต้น”

แฮมิลตันผู้ซึ่งนิยมใช้คำว่า “วิศวกรรมซอฟต์แวร์” ได้ใช้คำพูดเยาะเย้ย นักวิจารณ์กล่าวว่างานของเธอทำให้ความสำคัญของงานสูงขึ้นเกินจริง แต่วันนี้ เมื่อวิศวกรซอฟต์แวร์เป็นตัวแทนของกลุ่มแรงงานที่เป็นที่ต้องการอย่างมาก ไม่มีใครหัวเราะเยาะมาร์กาเร็ต แฮมิลตัน

เมื่อมีการวางแผนภารกิจ Apollo กระบวนการเขียนโค้ดเริ่มต้นบนกระดาษแผ่นใหญ่ ผู้ดำเนินการคีย์การ์ดจะสร้างรูในการ์ดกระดาษ โดยใส่รหัสลงในการ์ดที่เรียกว่าการ์ดเจาะรู Paul Ceruzziภัณฑารักษ์กิตติมศักดิ์ของพิพิธภัณฑ์อากาศและอวกาศแห่งชาติ ของ Smithsonian กล่าวว่า “มีคนจำนวนไม่มากที่รู้ว่าบัตรเจาะรูคืออะไร แต่นั่นคือวิธีที่คุณตั้งโปรแกรมไว้” กล่าวโดย Paul Ceruzzi

พิพิธภัณฑ์นี้มีคอลเล็กชันซอฟต์แวร์คอมพิวเตอร์แนะนำ Apollo Flight Guidance ที่สร้างขึ้นโดยแฮมิลตัน เอกสารสำคัญประกอบด้วยแผ่นงานพิมพ์ที่เรียกว่า “รายการ” ซึ่งแสดงผลการคำนวณสมการแนวทาง เมื่อผลลัพธ์ของคอมพิวเตอร์ไม่มีปัญหา วิศวกรซอฟต์แวร์จะ “จับตา” รายการดังกล่าว เพื่อตรวจสอบว่าไม่มีปัญหาใดที่ต้องให้ความสนใจ

เมื่อทุกอย่างดูดี รหัสจะถูกส่งไปยังโรงงาน Raytheon ซึ่งส่วนใหญ่เป็นผู้หญิง ซึ่งส่วนใหญ่เป็นพนักงานของโรงงานทอผ้าในนิวอิงแลนด์ ทอลวดทองแดงและแกนแม่เหล็กเป็น “เชือก” ยาว ด้วยการเข้ารหัสที่เขียนด้วยเลขหนึ่งและศูนย์ ลวดจึงผ่านแกนแม่เหล็กเล็กๆ เมื่อแทนค่าหนึ่ง และเคลื่อนที่ไปรอบๆ แกนเมื่อแทนค่าศูนย์ กระบวนการที่แยบยลนี้สร้างเชือกที่มีคำแนะนำซอฟต์แวร์ ผู้หญิงที่ทำงานนี้เป็นที่รู้จักในนาม LOL แฮมิลตันบอกกับ Ceruzzi ไม่ใช่เพราะพวกเขาตลก มันสั้นสำหรับ “หญิงชราตัวน้อย” แฮมิลตันถูกเรียกว่า“แม่เชือก”

เชือกชดเชยหน่วยความจำที่จำกัดของคอมพิวเตอร์ Apollo กระบวนการนี้สร้าง “ระบบที่แข็งแกร่งมาก” ตามที่Teasel Muir-Harmonyภัณฑารักษ์ที่พิพิธภัณฑ์อากาศและอวกาศและผู้แต่งหนังสือเล่มใหม่Apollo to the Moon: A History in 50 Objects นั่นเป็นเหตุผลหนึ่งที่ Apollo Guidance Computer ทำงานได้อย่างไม่มีที่ติในทุกภารกิจ”

แฮมิลตันผู้คลั่งไคล้คณิตศาสตร์ตั้งแต่อายุยังน้อยได้เปลี่ยนความสัมพันธ์ดังกล่าว กลายเป็นผู้เชี่ยวชาญในการเขียนซอฟต์แวร์และวิศวกรรมศาสตร์หลังจากออกจากวิทยาลัย เมื่อสามีของเธอเข้าเรียนโรงเรียนกฎหมายที่ฮาร์วาร์ดในปี 2502 เธอได้งานที่ MIT โดยเรียนรู้วิธีเขียนซอฟต์แวร์ที่จะทำนายสภาพอากาศ อีกหนึ่งปีต่อมา เธอเริ่มตั้งโปรแกรมระบบเพื่อค้นหาเครื่องบินข้าศึกในโครงการ Semi-Automatic Ground Environment (SAGE)

ในช่วงกลางทศวรรษ 1960 แฮมิลตันได้ยินว่า MIT “ได้ประกาศว่าพวกเขากำลังหาคนเขียนโปรแกรมเพื่อส่งมนุษย์ไปดวงจันทร์ และฉันก็คิดว่า ‘ว้าว ฉันต้องไปที่นั่นแล้ว’” เธอมีแผนที่จะเริ่มต้นบัณฑิตวิทยาลัยที่ Brandeis University เพื่อศึกษาระดับปริญญาในวิชาคณิตศาสตร์เชิงนามธรรม แต่โครงการอวกาศของสหรัฐฯ ชนะใจเธอ ต้องขอบคุณความสำเร็จในการทำงานของเธอที่ SAGE เธอจึงเป็นโปรแกรมเมอร์คนแรกที่ได้รับการว่าจ้างให้เข้าร่วมโครงการ Apollo ที่ MIT ในปีพ.ศ. 2508 เธอเป็นหัวหน้าทีมของตัวเองที่ MIT Instrumentation Laboratory (ภายหลังรู้จักกันในชื่อ Draper Laboratory) ซึ่งทุ่มเทให้กับการเขียนและทดสอบซอฟต์แวร์สำหรับคอมพิวเตอร์ 70 ปอนด์ของ Apollo 11 จำนวน 2 เครื่อง โดยเครื่องหนึ่งใช้โมดูลคำสั่งColumbiaและอีกเครื่องหนึ่ง บนโมดูลดวงจันทร์Eagle.

“สิ่งที่ฉันคิดเมื่อนึกถึงมาร์กาเร็ต แฮมิลตันคือคำพูดของเธอที่ว่า ‘ไม่มีทางเลือกอื่นนอกจากต้องเป็นผู้บุกเบิก’ เพราะฉันคิดว่านั่นสะท้อนให้เห็นตัวตนของเธอและความสำคัญของเธอในรายการนี้” Muir-Harmony กล่าว “เธอเป็นผู้บุกเบิกในการพัฒนาวิศวกรรมซอฟต์แวร์และ . . . ผู้บุกเบิกในฐานะผู้หญิงในที่ทำงานที่มีส่วนร่วมในโครงการประเภทนี้โดยรับบทบาทประเภทนี้”

ในตอนนี้ วิศวกรซอฟต์แวร์ส่วนใหญ่เป็นผู้ชาย แต่เธอไม่เคยปล่อยให้สิ่งนั้นมาขวางทางเธอ “เธอมีความคิดที่ว่าควรจะมีสิทธิเท่าเทียมกันและเข้าถึงได้เท่าเทียมกัน และไม่เกี่ยวกับผู้ชายและผู้หญิง มันเกี่ยวกับผู้คนที่สามารถไล่ตามประเภทของงานที่พวกเขาต้องการที่จะไล่ตามและรับมือกับความท้าทายที่พวกเขาต้องการทำ” Muir-Harmony กล่าว “เธอยังกว้างขวางมากในฐานะโปรแกรมเมอร์ คิดหาวิธีแก้ปัญหา สร้างสรรค์มาก คิดนอกกรอบ ฉันคิดว่านั่นสะท้อนให้เห็นในการเลือกอาชีพของเธอและงานที่เธอทำในห้องทดลอง”

ในการพยายามทำให้ซอฟต์แวร์มีความน่าเชื่อถือมากขึ้น แฮมิลตันพยายามออกแบบซอฟต์แวร์ของ Apollo ให้สามารถจัดการกับปัญหาที่ไม่ทราบสาเหตุและมีความยืดหยุ่นเพียงพอที่จะขัดขวางงานหนึ่งเพื่อจัดการกับปัญหาที่สำคัญกว่า ในการค้นหาวิธีใหม่ในการดีบักระบบ เธอตระหนักว่าเสียงสามารถใช้เป็นตัวตรวจจับข้อผิดพลาดได้ โปรแกรมของเธอที่ SAGE เธอตั้งข้อสังเกต ฟังดูเหมือนชายทะเลตอนที่มันกำลังดำเนินอยู่ ครั้งหนึ่ง เธอถูกเพื่อนร่วมงานปลุกให้ตื่น โดยบอกว่ารายการของเธอ “ไม่เหมือนชายทะเลอีกต่อไป!” เธอรีบเร่งทำงานเพื่อค้นหาปัญหาและเริ่มใช้การดีบักรูปแบบใหม่นี้กับงานของเธอ

ในฐานะแม่ที่ทำงาน เธอพาลูกสาวตัวน้อยไปที่ MIT Instrumentation Laboratory กับเธอในตอนกลางคืนและวันหยุดสุดสัปดาห์ อยู่มาวันหนึ่ง ลูกสาวของเธอตัดสินใจ “เล่นเป็นนักบินอวกาศ” และกดปุ่มจำลองที่ทำให้ระบบล่ม แฮมิลตันรู้ทันทีว่าความผิดพลาดเป็นสิ่งที่มนุษย์อวกาศสามารถทำได้ ดังนั้นเธอจึงแนะนำให้ปรับซอฟต์แวร์เพื่อจัดการกับมัน แต่เธอได้รับคำสั่งว่า: “นักบินอวกาศได้รับการฝึกฝนว่าจะไม่ทำผิดพลาด”

หน้าแรก

Share

You may also like...

Leave a Reply

Your email address will not be published. Required fields are marked *