Наука

На 90-годишна възраст почина Маргарет Хамилтън, чийто софтуер помогна за кацането на „Аполо 11“ на Луната

На 90-годишна възраст почина Маргарет Хамилтън, чийто софтуер помогна за кацането на „Аполо 11“ на Луната

Маргарет Хамилтън, чиито революционни научни разработки допринасят за кацането на астронавтите на НАСА на Луната, почина на 30 септември на 90-годишна възраст. Тя ръководи екипа по софтуерно инженерство в Лабораторията по приборостроене на Масачузетския технологичен институт (MIT) по време на програмата „Аполо“ на НАСА. Хамилтън е пионер в компютърните науки и автор на над 130 публикации. Тя допринася за утвърждаването на софтуерното инженерство като самостоятелна дисциплина. Работи в MIT от 1959 г. до средата на 70-те години на XX век, след което се превръща в успешен предприемач в областта на компютърните технологии и изпълнителен директор, съобщават от MIT.

Приносът ѝ е признат с множество награди и отличия, включително с Президентския медал на свободата, връчен ѝ през 2016 г. от президента Барак Обама. В мотивите за отличието се посочва: „Хамилтън създаде нови форми на софтуерно инженерство и помогна за възникването на индустрия, която завинаги щеше да промени човешката история. Нейната софтуерна архитектура доведе до гигантски скокове за човечеството чрез създаването на програмния код, който помогна на Америка да стъпи на Луната“.

„Да кажем, че Маргарет Хамилтън е била пионер, че е изпреварила времето си, би било огромно подценяване на нейния принос. Тя беше софтуерен инженер във време, когато тази област едва прохождаше. Не само разработваше сама усъвършенстван програмен код, но и ръководеше екип, който използваше тази зараждаща се технология, за да създаде една от най-сложните системи, разработвани дотогава от човечеството“, казва Оливие де Век, професор по програмата „Аполо“ и временно изпълняващ длъжността ръководител на Катедрата по аеронавтика и астронавтика в MIT.

„Програмата „Аполо“ и до днес остава едно от най-ярките свидетелства за силата на сътрудничеството, изобретателността и инженерството, а Маргарет Хамилтън има основополагащ принос за нейния успех. И за нея това беше само началото! Впоследствие тя стана предприемач и през цялата си забележителна кариера остана на предната линия в разработването на системен софтуер, като същевременно беше застъпник за развитието на областта, наставник и вдъхновение за милиони хора.“

Ранни години и проекти в MIT

Родена през 1936 г. в Паоли, щата Индиана, Хамилтън започва да изучава математика в Мичиганския университет през 1955 г., преди да се прехвърли в Earlham College, където през 1958 г. получава бакалавърска степен по математика с допълнителна специализация по философия. През 1959 г. се премества със съпруга си в Бостън, щата Масачузетс, докато той следва право.

Скоро Хамилтън намира временна работа в катедрата по метеорология на MIT, където работи с професора по метеорология Едуард Н. Лоренц (магистърска степен от 1943 г. и докторска степен от 1948 г.) върху софтуер за прогнозиране на времето. Това е първият ѝ досег с компютърното програмиране, а работата ѝ впоследствие оказва влияние върху бъдещите публикации на Лоренц, посветени на теорията на хаоса.

През 1961 г. Хамилтън започва работа като програмист в Лабораторията „Линкълн“ към MIT по проекта Semi-Automatic Ground Environment (SAGE) – първата система за противовъздушна отбрана на Съединените щати. Хамилтън пише софтуер за прототипа на компютъра AN/FSQ-7 (XD-1), използван от Военновъздушните сили на САЩ за откриване на потенциално вражески самолети. През този период тя започва да проявява интерес към надеждността на софтуера – нова и до голяма степен неизследвана по онова време концепция.

През 1965 г. Хамилтън се подготвя да продължи образованието си, когато съпругът ѝ забелязва обява във вестник: Лабораторията по приборостроене на MIT търси хора, които да разработват софтуер, за да „изпратят човек на Луната“. Лабораторията е спечелила договор с НАСА за разработване на бордовия полетен софтуер за програмата „Аполо“. Заинтригувана от предизвикателството, Хамилтън кандидатства и е назначена за първия програмист по проекта „Аполо“ в MIT, както и за първата жена програмист в проекта.

Първоначално Хамилтън работи върху софтуера за безпилотните мисии „Аполо“, след което е повишена и поема ръководството на екипа, разработващ бордовия полетен софтуер за пилотираните мисии. До 1968 г. тя вече е заместник-директор, отговарящ за екипа по командния и сервизния модул, а над 400 души работят върху софтуера на „Аполо“.

„От моя гледна точка самата работа със софтуера (неговото проектиране, разработване, усъвършенстване, наблюдаване на функционирането му и извличане на поуки за бъдещи системи) беше поне толкова вълнуваща, колкото и събитията около мисията“, разказва Хамилтън пред MIT News през 2009 г. „Нямахме втори шанс. Знаехме го. Отнасяхме се сериозно към работата си, а много от нас започнаха това начинание, когато бяха едва на двайсетина години. Търсенето на решения и нови идеи беше приключение. Всеотдайността и ангажираността се подразбираха. Между всички имаше взаимно уважение. Тъй като софтуерът беше загадка, черна кутия, висшето ръководство ни даде пълна свобода и доверие. Трябваше да намерим начин и успяхме. Поглеждайки назад, ние бяхме най-големите късметлии на света – нямахме друг избор, освен да бъдем пионери“, разказва тя тогава.

„Защитното“ програмиране и софтуерът, основан на приоритети, отвеждат хората на Луната

Хамилтън открива у себе си талант за ръководна дейност, както и изострен усет за решаване на проблеми и критично мислене, които впоследствие се оказват решаващи за спасяването на проекта „Аполо“ в няколко ситуации.

Един от случаите става известен като „грешката на Лорън“. Един ден четиригодишната ѝ дъщеря Лорън си играе със симулатора на командния модул в Лабораторията по приборостроене, когато по някакъв начин активира програма за предстартова подготовка, наречена P01, докато симулаторът е в режим на полет. Това води до срив на симулатора. Хамилтън добавя предупреждение в техническата документация, което указва на потребителите да не стартират P01 по време на полет.

Тя предлага и софтуерна корекция, която да предотврати подобна грешка по време на реална мисия, но предложението ѝ е отхвърлено с аргумента, че висококвалифицираните астронавти никога не биха допуснали същата грешка. По време на мисията „Аполо 8“ през 1968 г. обаче се случва точно това: Джим Ловел неволно стартира P01 по време на полета, което води до изчезването на навигационните данни. Хамилтън и екипът ѝ са привлечени за отстраняване на проблема, след което предложените от нея промени са включени в програмата. Това е ранен пример за защитно програмиране (defensive programming) – практика за разработване на софтуер, който може самостоятелно да предвижда или коригира грешки.

Инженерите от MIT(от ляво надясно): Норман Сиърс, Маргарет Хамилтън, Филис Рай и Айн Лаатс обсъждат работата си по мисията „Аполо 8“

Най-известният принос на Хамилтън към програмата „Аполо“ е по време на решаващата мисия „Аполо 11“ за кацане на Луната през юли 1969 г. Мигове преди лунният модул Eagle да кацне на лунната повърхност, бордовият компютър подава сигнал за тревога. Той е установил грешка 1202: компютърът е претоварен поради неизправност в хардуерен превключвател и съществува опасност системата да не успее да се справи със сложната процедура по кацането.

Хамилтън и екипът ѝ обаче са разработили софтуер, който работи въз основа на приоритети и може да прекратява ненужните фонови задачи, за да даде предимство на задачите от критично значение за мисията. Центърът за управление в Хюстън се доверява на софтуера на Хамилтън и разрешава мисията да продължи. Така двама души стъпват на Луната за първи път.

По-късна кариера и наследство

Хамилтън продължава да работи в Лабораторията по приборостроене и през 70-те години на XX век. С постепенното приключване на програмата „Аполо“ лабораторията се отделя от MIT и се превръща в независимата Лаборатория „Дрейпър“ (Draper Laboratory).

„Маргарет остави незаличима следа в „Дрейпър“ и ние ще ѝ бъдем вечно благодарни“, казва Джери М. Уолец, президент и главен изпълнителен директор на „Дрейпър“. „Чрез своето ръководство и приноса си към разработването на софтуер за пилотирания полет за компютъра за управление на НАСА, използван в програмата „Аполо“ (Apollo Guidance Computer), тя помогна да се гарантира, че астронавтите от „Аполо“ ще кацнат безопасно на лунната повърхност и ще се завърнат невредими у дома. В „Дрейпър“ винаги ще почитаме нейното наследство.“

През 1976 г. Хамилтън създава първата си софтуерна компания – Higher Order Software. Дейността ѝ се основава на разработения от Хамилтън подход към софтуерното инженерство, насочен към предотвратяване на грешки (error prevention) и отказоустойчивост (fault tolerance).

Десетилетие по-късно Хамилтън основава друга софтуерна компания – Hamilton Technologies, с цел „да предоставя продукти и услуги за модернизиране на процесите на планиране, системно инженерство и разработване на софтуер, така че да се постигнат максимална надеждност, по-ниски разходи и по-бързо пускане на продуктите на пазара“.

Водещият продукт на Hamilton Technologies е Universal Systems Language (USL) – универсален език за системи, представляващ език за моделиране на системи и методология за инженерно разработване на сложни софтуерни системи, при които се дава приоритет на предотвратяването на грешки и защитното програмиране.

През цялата си кариера Хамилтън работи за признаването на софтуерното инженерство като самостоятелна дисциплина. „Борих се софтуерът да получи признание като пълноправна област, така че той и хората, които го създават, да получат заслуженото уважение. Затова започнах да използвам термина „софтуерно инженерство“, за да го разграничавам от хардуера и другите видове инженерство, като същевременно разглеждам всеки вид инженерство като част от цялостния процес на системно инженерство“, разказва Хамилтън пред El País през 2017 г. „Когато за първи път започнах да използвам този израз, той се възприемаше като нещо доста забавно. Дълго време беше постоянен повод за шеги. Обичаха да ме подкачат за радикалните ми идеи. В крайна сметка софтуерът неизбежно получи същото уважение като всяка друга дисциплина.“

Сред многобройните награди и отличия на Хамилтън са наградата на НАСА за изключителен принос в областта на космическите технологии (NASA Exceptional Space Act Award) за научни и технически постижения през 2003 г., отличието за изключителен принос на Музея за компютърна история (Computer History Museum Fellow Award) през 2017 г. и наградата „Интрепид“ за цялостни постижения (Intrepid Lifetime Achievement Award) през 2019 г. През 2022 г. тя е приета и в Националната зала на славата на авиацията (National Aviation Hall of Fame).

Снимки MIT Museum

В по-късните години от живота си Хамилтън се превръща в емблематична фигура за жените в науката и технологиите, особено след като в интернет започва да се разпространява вече прочута нейна снимка, на която стои до разпечатка на програмния код за „Аполо“, разработен от екипа ѝ в MIT.

През 2015 г. софтуерът за „Аполо“, в чието разработване участва, е публикуван в пълния си обем в платформата за споделяне на програмен код GitHub. А през 2017 г. тя получава и официална минифигурка Lego, след като комплект, първоначално проектиран от научния комуникатор на MIT Мая Уайнсток в чест на Хамилтън и няколко други жени от историята на НАСА, започва да се предлага по целия свят.

„Маргарет Хамилтън е вдъхновение за поколения компютърни специалисти и инженери. Нейната кариера беше посветена на предотвратяването на грешки и на това, което самата тя наричаше „справяне с неизвестното“, казва де Век. „Тя олицетворяваше лидерството чрез личен пример и утвърди практика в софтуерното инженерство, основана на решаването на проблеми и системното инженерство, от която всички ние се възползваме.“

Маргарет Хамилтън оставя след себе си дъщеря си Лорън Хамилтън, зет си Ричард Селесник, двама внуци, четирима правнуци, както и братята и сестра си Джон, Дейвид и Катрин. Възпоменателна церемония ще се състои през пролетта в Кеймбридж, щата Масачузетс.