Yazılım mühendislerinin günümüzde genellikle erkek olduğu bir gerçek ancak ‘yazılım mühendisliği’ kavramını bulan ve bunu geliştirenin bir kadın olduğunu biliyor muydunuz? Üstelik bu kadın, 1969’da Apollo 11 astronotlarının güvenli bir şekilde iniş yapmasını engelleyecek bir arızaya zamanında müdahale ederek, insanlık için dev bir adımı mümkün kılacaktı.
20 Temmuz 1969’da Ay modülü Eagle, yüzeye yaklaşırken, bilgisayarları yanıp sönen uyarı mesajları vermeye başladı. Bu bir donanım sorunu olduğu anlamına geliyordu. İnsanlık Ay’ın yüzeyine inişten sadece bir kaç dakika uzaktaydı. Bir an için herkes göreve devam etme ya da etmeme konusunda tereddüt edecekti.
Bu sırada Margaret Hamilton nefesini tutmuş heyecanla bekliyordu. Kendisi uçuş yazılımının geliştirilmesine liderlik etmişti. Margaret Hamilton kendisi ve ekibi tarafından geliştirilen bu yazılıma büyük bir güven duyuyordu.
Ve gerçekten de işler onun planladığı gibi gitti. Onun sıkı çalışması ve liderliği olmasaydı, yalnızca görev başarısız olmakla kalmaz, aynı zamanda üç Apollo astronotu görev sırasında hayatını kaybedebilirdi.
Margaret Hamilton Kimdir?
Margaret Heafield Hamilton, 17 Ağustos 1936’da Indiana, Paoli’de doğdu. Eğitimini matematik lisans derecesi ve felsefe yan dal derecesi ile tamamladı. Küçük yaşlardan itibaren bir matematik aşığı olan Hamilton, üniversiteden ayrılmasının ardından yazılım ve mühendislik alanlarında uzmanlaştı.
1959’da MIT’de işe girdi ve burada kaos teorisinin babası Edward Norton Lorenz ile birlikte çalışmaya başladı. Bu esnada da ilk bilgisayarı ile tanışacaktı. İlerleyen süreçte MIT Lincoln laboratuvarında düşman uçaklarını aramak amacıyla Amerika’nın ilk hava savunma sistemi için bir yazılım geliştirdi. Bir kaç yıl sonra da kendisini Ay’a insan göndermeyi mümkün kılan kodları yazarken bulacaktı.
Aslında bu süreçte soyut matematik okumak için Brandeis Üniversitesi’nde lisansüstü eğitim yapmayı kafasına koymuştu. Ancak ABD uzay programı bir biçimde onun kalbini kazandı. Bu sayede de kendisi Apollo projesine dahil olan ilk programcı olacaktı. Bu sırada evli ve bir çocuk annesi idi.
Margaret Hamilton Yazılım Mühendisliği Kavramını da İcat Etti
Apollo 11, Ay yüzeyine yapılan insanlı ilk uzay uçuşu idi. Günümüzde bu uçuşu düşündüğümüz zamanlarda aklımıza çoğu zaman arka plandaki mühendislik gelir. Oysa ki bu görev aynı zamanda büyük bir yazılım projesiydi.
Komuta kapsülü, görevin tamamlanmasından sonra mürettebatın Dünya’ya dönmesini sağlayacak bölümdü. Bu kapsülde reaksiyon kontrol motorları, bir kenetlenme tüneli, yönlendirme ve seyrüsefer sistemi ile Apollo güdüm bilgisayarı vardı. Bu bilgisayar astronotlardan gelen bilgileri kullanarak uzay aracını yönlendirmek ve kontrol etmekten sorumlu idi.
Ancak bilgisayarların devasa büyüklükte oldukları bir dönemden bahsediyoruz. Bu nedenle önemli bir sorun bilgisayarın bir metreküp bir alana sığmasını sağlamaktı. Mühendisler donanımı küçültme konusunda çalışmalar yaparken uçuş yazılımını yapma işi de Margaret Hamilton ve ekibinin olacaktı.
Hamilton ve ekibinin öğrendiği her şey uygulamalı eğitimden geliyordu: Gidebilecekleri kurslar ve bakabilecekleri kitaplar yoktu. Proje üzerinde çalıştıkça kendilerini geliştirdiler. Yaptıkları işin meşru ve saygın bir alan olarak kabul edilmesini istediği için “yazılım mühendisliği” terimini de Hamilton türetti.
Hamilton Apollo programı üzerinde çalışırken sistem hatalarının tespitine ve kurtarma programlarına odaklandı. Yazılımı beklenmedik hataları hızlı biçimde algılamalı ve bu hatadan kurtulmalıydı. Margaret bu sorunu çözmek için programını eşzamansız olarak tasarladı. 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 bir öncelik verecekti.
İyi Bir Yazılım Apollo 11 Görevini Nasıl Kurtardı?
Hamilton’ın geliştirdiği bir kod, bilgisayara hangi işlemlerin öncelikli ve önemli olduğunu ortaya çıkarma kabiliyeti sağlıyordu. Bu sayede, günümüz hesap makinaları kadar işlem gücüne sahip bilgisayarın işlem gücü önemsiz işlemler yerine iniş fonksiyonlarına ayrılacaktı.
Çalışan bir anne olarak Hamilton küçük kızını geceleri ve hafta sonları MIT Enstrümantasyon Laboratuvarına yanında götürüyordu. Bir gün kızı “astronot olmaya” karar verdi ve sistemin çökmesine neden olan bir simülatör düğmesine bastı. Hamilton, hatanın bir astronotun yapabileceği bir hata olduğunu hemen fark etti. Bu yüzden yazılımı bu hataya göre ayarlamayı önerdi.
Yazılıma hata düzeltme için ek yapma önerisini NASA başta kabul etmedi. Sonuçta iyi bir eğitim almış olan astronotlar asla böyle basit bir hata yapmazdı. Ancak sonuçta Hamilton baskın geldi ve kendi yazdığı hata ayıklama kodunu ekledi. Apollo 11 inmeden önce yaşanan gergin dakikalarda Hamilton’ın sıkı çalışması kesinlikle meyvelerini verdi.
Buzz Aldrin Ay’a inmeden önceki dakikalarda basit bir hata yapmıştı. Yanlışlıkla buluşma radar anahtarına basmıştı. Bu radar eve geri dönüş için gerekliydi. Ama şu anda hayati hesaplama kaynaklarını kullanıyordu. Ancak Hamilton’un kodu sadece yüksek öncelikli işlerin yapımına izin verdi.
Göstergeler astronotlara Ay’a inmek ya da inmemek biçiminde iki seçenek sundu. Ve sonucunda öncelik inmekti. Yazılım yeniden başlatıldı ve en yüksek öncelikli göreve odaklandı: Ay modülünün indirilmesi. Hamilton tarafından yazılan hata algılama ve düzeltme mekanizmaları olmasaydı, görev başarısız olurdu.
Apollo Görevi Sonrasında Margaret Hamilton
Bu başarının ardından Hamilton 1972’de MIT’den ayrıldı ve kendi şirketi Higher Order Software’i kurdu. On dört yıl sonra da başka bir şirket olan Hamilton Technologies, Inc.’i kurdu. Yeni firmasında, sistemleri tasarlama sürecini daha güvenilir hale getirmede bir başka adım olan Universal Systems Language’ı yarattı.
NASA, Hamilton’ı 2003 yılında o zamana kadar bir kişiye verdiği en büyük mali ödül (37.200 $) ile onurlandıracaktı. Hamilton günümüzde hala özellikle genç kadınlara ilham kaynağı olmaya devam ediyor.
Kaynaklar ve ileri okumalar
- Margaret Hamilton Led the NASA Software Team That Landed Astronauts on the Moon. Yayınlanma tarihi: 14 Mart 2019; Bağlantı: https://www.smithsonianmag.com
- Meet Margaret Hamilton, the badass ’60s programmer who saved the moon landing. Yayınlanma tarihi: 14 Mart 2019; Bağlantı: https://www.vox.com/2015/5/30/8689481/margaret-hamilton-apollo-software
Size Bir Mesajımız Var!
Matematiksel, 2015 yılından beri yayında olan ve Türkiye’de matematiğe karşı duyulan önyargıyı azaltmak ve ilgiyi arttırmak amacıyla kurulmuş bir platformdur. Sitemizde, öncelikli olarak matematik ile ilgili yazılar yer almaktadır. Ancak bilimin bütünsel yapısı itibari ile diğer bilim dalları ile ilgili konular da ilerleyen yıllarda sitemize dahil edilmiştir. Bu sitenin tek kazancı sizlere göstermek zorunda kaldığımız reklamlardır. Yüksek okunurluk düzeyine sahip bir web sitesi barındırmak ne yazık ki günümüzde oldukça masraflıdır. Bu konuda bizi anlayacağınızı umuyoruz. Ayrıca yazımızı paylaşarak veya Patreon üzerinden ufak bir bağış yaparak da büyümemize destek olabilirsiniz. Matematik ile kalalım, bilim ile kalalım.
Matematiksel