At roughly 4pm on July 20, 1969, mankind was just minutes away from landing on the surface of the moon. But before the astronauts began their final descent, an emergency alarm lit up. Something was overloading the computer, and threatened to abort the landing.
20 Temmuz 1969'da tahminen saat 16.00'da insanlık ayın yüzeyine inişten sadece birkaç dakika uzaktı. Ancak astronotlar son inişlerine başlamadan önce bir acil durum alarmı çaldı. Bir şey bilgisayara aşırı yüklendi ve inişi iptal etmekle tehdit etti.
Back on Earth, Margaret Hamilton held her breath. She'd led the team developing the pioneering in-flight software, so she knew this mission had no room for error. But the nature of this last-second emergency would soon prove her software was working exactly as planned.
Dünya'da Margaret Hamilton nefesini tuttu. Ekibin öncü uçuş yazılımını geliştirmesine liderlik etmişti, bu yüzden bu görevde hataya yer olmadığını biliyordu. Ancak bu sondan ikinci acil durumun doğası yazılımının tam olarak planlandığı gibi çalıştığını ispatlayacaktır.
Born 33 years earlier in Paoli, Indiana, Hamilton had always been inquisitive. In college, she studied mathematics and philosophy, before taking a research position at the Massachusetts Institute of Technology to pay for grad school. Here, she encountered her first computer while developing software to support research into the new field of chaos theory.
33 yıl önce Indiana Paoli'de doğan Hamilton her zaman meraklıydı. Yüksek lisansını ödeyebilmek için Massachusetts Teknoloji Enstitüsü'nde araştırma pozisyonu almadan önce üniversitede matematik ve felsefe okudu. Burada yeni kaos teorisi alanındaki araştırmaları desteklemek için yazılım geliştirirken ilk bilgisayarıyla karşılaştı.
Next at MIT's Lincoln Laboratory, Hamilton developed software for America’s first air defense system to search for enemy aircraft. But when she heard that renowned engineer Charles Draper was looking for help sending mankind to the moon, she immediately joined his team.
Ardından Hamilton MIT Lincoln Laboratuvarı'nda, düşman uçaklarını aramak amacıyla Amerika'nın ilk hava savunma sistemi için yazılım geliştirdi. Ancak ünlü mühendis Charles Draper'ın insanlığın Ay'a gönderilmesinde yardım aradığını duyduğunda hemen ekibine katıldı.
NASA looked to Draper and his group of over 400 engineers to invent the first compact digital flight computer, the Apollo Guidance Computer. Using input from astronauts, this device would be responsible for guiding, navigating and controlling the spacecraft. At a time when unreliable computers filled entire rooms, the AGC needed to operate without any errors, and fit in one cubic foot of space.
NASA ilk küçültülmüş dijital uçuş bilgisayarı olan Apollo Rehberlik Bilgisayar'ını icat etmek için Draper ve 400'den fazla mühendis grubuna güvendi. Bu cihaz astronotlardan gelen girdileri kullanarak uzay aracını yönlendirmek, gezinmek ve kontrol etmekten sorumlu olacaktı. Güvenilmez bilgisayarların tüm odaları doldurduğu bir zamanda, ARB'nin hatasız çalışması ve bir metreküp alana sığması gerekiyordu.
Draper divided the lab into two teams, one for designing hardware and one for developing software. Hamilton led the team that built the on-board flight software for both the Command and Lunar Modules. This work, for which she coined the term “software engineering," was incredibly high stakes. Human lives were on the line, so every program had to be perfect. Margaret’s software needed to quickly detect unexpected errors and recover from them in real time.
Draper laboratuvarı biri donanım tasarlamak, diğeri yazılım geliştirmek için olmak üzere iki takıma ayırdı. Hamilton hem Komuta hem de Ay Modülleri için yerleşik uçuş yazılımını yapan takıma liderlik etti. “Yazılım mühendisliği” terimini icat ettiği bu çalışma inanılmaz derecede büyüktü. İnsan hayatları tehlikede olduğundan, her programın mükemmel olması gerekiyordu. Margaret’in yazılımı beklenmedik hataları hızlı bir şekilde algılamalı ve onlardan gerçek zamanlı olarak kurtarılmalıydı.
But this kind of adaptable program was difficult to build, since early software could only process jobs in a predetermined order. To solve this problem, Margaret designed her program to be “asynchronous,” meaning the software's more important jobs would interrupt less important ones. Her team assigned every task a unique priority to ensure that each job occurred in the correct order and at the right time— regardless of any surprises.
Ancak bu tür uyarlanabilir bir programın oluşturulması zordu çünkü erken yazılım işleri yalnızca belirlenmiş bir sırayla işleyebilirdi. Margaret bu sorunu çözmek için programını “eşzamansız” olarak tasarladı, yani yazılımın önemli işleri daha az önemli olanları kesintiye uğratacaktır. Ekibi her işin herhangi bir sürprizden bağımsız olarak, doğru sırayla ve doğru zamanda gerçekleşmesini sağlamak için her göreve benzersiz bir öncelik verdi.
After this breakthrough, Margaret realized her software could help the astronauts work in an asynchronous environment as well. She designed Priority Displays that would interrupt astronaut’s regularly scheduled tasks to warn them of emergencies. The astronaut could then communicate with Mission Control to determine the best path forward. This marked the first time flight software communicated directly— and asynchronously— with a pilot.
Bu atılımdan sonra Margaret yazılımının astronotların da eşzamansız bir ortamda çalışmasına yardımcı olabileceğini fark etti. Astronotları acil durumlarda uyarmak için düzenli olarak planlanan görevlerini kesintiye uğratacak Öncelik Göstergeleri tasarladı. Astronot daha sonra en iyi yolu belirlemek için Görev Kontrolü ile iletişim kurabilir. Bu, uçuş yazılımının ilk kez -ve eşzamansız olarak- bir pilotla iletişim kurduğu anlamına geliyordu.
It was these fail safes that triggered the alarms just before the lunar landing. Buzz Aldrin quickly realized his mistake— he’d inadvertently flipped the rendezvous radar switch. This radar would be essential on their journey home, but here it was using up vital computational resources. Fortunately, the Apollo Guidance Computer was well equipped to manage this. During the overload, the software restart programs allowed only the highest priority jobs to be processed— including the programs necessary for landing. The Priority Displays gave the astronauts a choice— to land or not to land. With minutes to spare, Mission Control gave the order.
Ay inişinden hemen önce alarmları tetikleyen bu tehlike güvenceleriydi. Buzz Aldrin hatasını hemen fark etti, yanlışlıkla buluşma radar anahtarını çevirmişti. Bu radar eve yolculukları için gerekli olacaktı ama burada hayati hesaplama kaynaklarını kullanıyordu. Neyse ki, Apollo Rehberlik Bilgisayarı bunu yönetmek için iyi donanımlıydı. Aşırı yükleme sırasında yazılım yeniden başlatma programları iniş için gerekli programlar da dahil olmak üzere yalnızca en yüksek öncelikli işlerin işlenmesine izin verdi. Öncelikli Göstergeler astronotlara iniş yapmak ya da yapmamak için bir seçenek sundu. Dakikalar dolduğunda Görev Kontrolü emri verdi.
The Apollo 11 landing was about the astronauts, Mission Control, software and hardware all working together as an integrated system of systems. Hamilton’s contributions were essential to the work of engineers and scientists inspired by President John F. Kennedy’s goal to reach the Moon. And her life-saving work went far beyond Apollo 11— no bugs were ever found in the in-flight software for any crewed Apollo missions.
Apollo 11'in inişi astronotlar, Görev Kontrolü, yazılım ve donanımın hepsinin entegre bir sistem olarak birlikte çalışmalarıyla alakalıydı. Hamilton’un katkıları Başkan John F.Kennedy’nin Ay'a ulaşma hedefinden esinlenen mühendis ve bilim adamlarının çalışması için çok önemliydi. Hayat kurtarıcı çalışması Apollo 11'in çok ötesine geçti, uçuş yazılımında mürettebatlı Apollo görevleri için hiçbir hata bulunamadı.
After her work on Apollo, Hamilton founded a company that uses its unique universal systems language to create breakthroughs for systems and software. In 2003, NASA honored her achievements with the largest financial award they’d ever given to an individual. And 47 years after her software first guided astronauts to the moon, Hamilton was awarded the Presidential Medal of Freedom for changing the way we think about technology.
Hamilton Apollo'daki çalışmalarından sonra sistemler ve yazılımlar için atılımlar yaratmak amacıyla benzersiz evrensel sistem dilini kullanan bir şirket kurdu. 2003 yılında NASA bir kişiye verdikleri en büyük finansal ödülle başarılarını onurlandırdı. Yazılımı astronotları aya ilk kez yönlendirdikten 47 yıl sonra teknoloji hakkında düşünme şeklimizi değiştirdiği için Başkanlık Özgürlük Madalyası ile ödüllendirildi.