Amerikalı bilgisayar bilimci Margaret Hamilton, Apollo programında geliştirdiği uçuş yazılımlarıyla insanların Ay’a ulaşmasına katkı sağlayan öncü mühendislerden biri olarak tarihe geçti. 1969’daki Apollo 11 görevi sırasında astronotların güvenli inişinde kritik rol oynayan yazılım sistemlerinin geliştirilmesine liderlik eden Hamilton, 30 Eylül’ 90 yaşında hayatını kaybetti. Yazılım mühendisliği kavramının yaygınlaşmasına katkıda bulunan Hamilton’ın çalışmaları, günümüzde güvenilir hata toleranslı sistemlerin tasarımını etkilemeyi sürdürüyor.
Margaret Hamilton Apollo Yazılımlarının Geliştirilmesine Liderlik EttiMargaret Hamilton, 1965 yılında Massachusetts Teknoloji Enstitüsünün (MIT) Enstrümantasyon Laboratuvarı bünyesine katılarak Apollo görevleri için yazılım geliştirmeye başladı. İlk çalışmalarından biri, Ay görevlerinin iptal edilmesi gereken durumlarda devreye girecek yazılımı hazırlamaktı. Ekipteki bazı kişiler böyle senaryonun gerçekleşmeyeceğini düşündüğü için görevi deneyimsiz mühendise vermeyi tercih etmişti.
Hamilton, söz konusu programı “Forget It” adıyla geliştirdi. İnsansız uçuş sırasında görev iptali yaşanınca program devreye girdi Hamilton’ın ekip içindeki konumu güçlendi. Bilgisayar Tarihi Müzesine verdiği röportajda yaşadığı süreci anlatan Hamilton, olayın ardından gecede uzman olarak görülmeye başladığını ifade.
Hamilton’ın Apollo programındaki sorumlulukları zamanla genişledi. İlk aşamada mürettebatsız görevler için yazılım hazırlayan mühendis, daha sonra astronotların katıldığı uçuşlarda kullanılacak sistemlerin geliştirilmesini yönetti. Apollo komuta modülü Ay modülünün uçuş yazılımları, görevlerin karmaşık hesaplama kontrol süreçlerinde temel işlev üstlendi.
Apollo 11’in 1969 yılında Ay yüzeyine yaklaştığı sırada yönlendirme bilgisayarı beklenmedik alarmlar verdi. İnişin son dakikalarında ortaya çıkan uyarılar, astronotların göreve devam etmenin güvenli olup olmadığını sorgulamasına neden. Alarmlar, bilgisayarın aynı anda yürütmesi gereken tüm işlemleri tamamlayamadığını gösteren “yürütme taşması” durumundan kaynaklandı.
Hamilton’ın ekibi, sistemin aşırı yük altında kaldığı durumlarda temel görevleri sürdürebilmesini sağlayan korumalar geliştirmişti. yaklaşım, bilgisayarın gereksiz işlemlerle meşgul olmasına rağmen iniş için kritik işlevlere öncelik vermesine yardımcı. Uçuş kontrol ekibindeki bilgisayar mühendisi Jack Garman, yönlendirme sorumlusu Steve Bales’e alarmların görevi iptal etmeyi gerektirmediğini bildirdi. Bales inişe devam edilebileceğini onayladı.
Apollo 11 mürettebatı güvenli biçimde Ay yüzeyine indi daha sonra Dünya’ya döndü. Yapılan incelemeler, bilgisayarın aşırı yüklenmesinde kenetlenme radar sisteminden gelen istenmeyen girdilerin etkili olduğunu ortaya koydu. Yazılımın görev önceliklerini koruyacak biçimde tasarlanması, kritik iniş işlemlerinin devam etmesinde belirleyici.
Hamilton, yazılımın yalnızca planlanan işlemleri yerine getirmesine değil, kullanıcıların beklenmeyen eylemleri karşısında güvenli kalmasına önem verdi. Kızının dört yaşındayken komuta modülü simülasyonunda uçuş devam ederken fırlatma öncesi programı çalıştırması, Hamilton’ın üzerinde durduğu risklerden birini ortaya çıkardı.
Hamilton, benzer hatanın gerçek görev sırasında yaşanmasını önleyecek korumalar önerdi. Ancak ekip, astronotların böyle hata yapma ihtimalini düşük gördüğü için ilk aşamada öneriyi kabul etmedi. Apollo 8 görevi sırasında astronotun benzer işlem yapmasının ardından yazılımda değişikliklere gidildi.
Hamilton’ın yaklaşımı, yazılım tasarımında kullanıcı hatalarını önceden hesaba katmanın önemini gösterdi. Sistemlerin yalnızca olağan koşullarda çalışması yerine beklenmedik girdiler, yanlış işlemler donanım sınırlamaları karşısında güvenli kalması gerektiği fikri, günümüzdeki hata toleranslı yazılım mühendisliğinin temel ilkeleri arasında yer alıyor.
Hamilton, Apollo programında çalıştığı dönemde kendisini “yazılım mühendisi” olarak tanımlamaya başladı. Kod yazma çalışmalarının mühendislik disiplinleri kadar ciddiye alınmadığını düşünen Hamilton, kullandığı terimle yazılım geliştirmenin sistem mühendisliğindeki önemini vurguladı. Yazılım mühendisliği ifadesi zamanla teknoloji sektöründe standart meslek tanımına dönüştü.
Hamilton, Apollo programında kendisinin ekibinin hazırladığı yazılım kodlarının basılı listelerinin yanında durduğu ikonik fotoğrafıyla tanındı. Fotoğraf, Ay görevlerinde kullanılan yazılımların kapsamını geliştirme çalışmalarının büyüklüğünü simgeleyen görüntülerden biri olarak hafızalarda yer.
Apollo görevlerinin ardından Hamilton, hata toleranslı yazılım sistemlerine odaklanan çeşitli teknoloji şirketlerini kurdu veya şirketlerin kuruluşuna ortak. Geliştirme sürecinin erken aşamalarında hataları önlemeyi hedefleyen Development Before the Fact (DBTF) metodolojisini hazırladı. Sistem tasarımına yönelik Universal Systems Language (USL) çalışması sonraki dönem projeleri arasında yer.
ABD Başkanı Barack Obama, 2016 yılında Hamilton’a Başkanlık Özgürlük Madalyası’nı verdi. Bilgisayar biliminin öncülerinden Grace Hopper aynı ödüle ölümünden sonra layık görülen isimler arasında yer.
Beyaz Saray, Hamilton’ın çalışmalarının eşzamansız yazılım, öncelik planlaması, öncelikli ekranlar insanın karar sürecine katıldığı sistemler gibi alanların gelişimine katkıda bulunduğunu belirtti. yaklaşımlar, yüksek güvenilirlik gerektiren modern yazılım sistemlerinin tasarımında önemli temel oluşturdu.
MIT’nin verdiği bilgilere göre Hamilton’ın geride bıraktığı ailesi arasında kızı, damadı, iki torunu, dört torun çocuğu üç kardeşi bulunuyor. Hamilton’ın kariyeri, yazılım sistemlerinin başarısında yalnızca doğru kodun değil, beklenmeyen durumları önceden hesaba katan mühendislik anlayışının belirleyici olduğunu ortaya koyuyor.