hirdetés
hirdetés

Szoftvermérnöknő

Margaret Hamilton, a modern programozás anyja

Barack Obama tavaly novemberben az USA legnagyobb civil kitüntetésével jutalmazta a szoftvert az űrkutatásba, egyben szoftver- és űrkutatás-történelmet író Margaret Hamilton MIT-s szoftvermérnököt. A szoftvermérnök kifejezés szintén Hamilton agyából pattant ki. 

hirdetés

A programozást általában férfitevékenységnek tartják, a szó hallatán gép mellett éjszakázó kapucnis garázs-geakekre, labor mélyén kódoló ifjú tudósokra és természetesen sötétben ólálkodó hackerfenoménekre asszociálunk. Pedig az első – állítólagos – programot, az ősprogramot nő, a hányattatott sorsú Lord Byron lánya, Ada Lovelace (1815-1852) írta, és a modernkori programozás egyik vezéralakja, a mai értelemben vett szoftver és a szoftvermérnökség kitalálója szintén nő, az Indiana állambeli Paoliban 1936. augusztus 17-én Margaret Heafield néven született, férje után Margaret Hamiltonként elhíresült számítástudós.

Meteorológiai rendszerek nyomában

Ha a mai közvélekedés szerint a szoftverfejlesztés nem női foglalkozás, sejthetjük, hogy 1960-ban, bő évtizeddel a Microsoft előtt mennyire tartották annak…

Hamilton akkori szokás szerint, kollégáihoz hasonlóan matematikusdiplomával kezdett programozni az amerikai és nemzetközi IT-oktatás egyik fellegvárának számító Massachusetts Institute of Technology-ban (MIT). Imádta újdonságszámba menő munkáját, a munka után az MIT-klubban eltöltött órákat, geek-vicceket.

Hamilton az Apollo program számára írt szoftver mellett áll (Forrás: Nasa.gov)
Hamilton az Apollo program számára írt szoftver mellett áll (Forrás: Nasa.gov)

A Műszerhasználati Laborban kezdte pályáját, a SAGE projektben időjárás-rendszereket prognosztizáló számítógépet (LGP-30, PDP-1), a rendszermozgások követésére szimulátort fejlesztettek, amit a hidegháború rettegett szovjet légi támadásait szükség esetén mattoló komputer- és radarhálózatból álló védelmi rendszerré alakították át. Szoftverek is kellettek hozzájuk, Hamilton azok írásában vett részt. A védelmi rendszerhez például minden idők legméretesebb számítógépén, a 2 ezer négyzetméteren elterülő 250 tonnás AN/FSQ-7-en fejlesztett.

Ott dolgozták ki a programozás alapelveit, például megírták a világ első hordozható számítógépének kódját. Korabeli dokumentumokban még a szoftver szó sem szerepelt…

„Eleinte, mintha a Vadnyugaton jártunk volna, senki nem tudta pontosan, mit is csinálunk. Semmiféle ezirányú tanfolyam nem létezett, nem tanítottak rá” – emlékezik vissza a korai évekre, amikor a rendszerprogramozás szakértőjévé vált.                

Aztán jött az Apollo-program, és minden megváltozott. Hamilton 1963-ban kapcsolódott be a munkába, 1965 körül egyértelművé vált a szoftver központi szerepe a programban, majd egyik mérnöki döntése hatalmas segítséget jelentett a küldetés sikerében és abban, hogy bebizonyosodhatott: a holdraszállás emberileg és digitálisan is megvalósítható. Neil Armstrong kis lépése az emberiség és a szoftverfejlesztés történetében egyaránt hatalmas ugrásnak bizonyult. 

Apollo 11

2016. november 22-én a 80 éves Hamilton az Egyesült Államok legnagyobb civil kitüntetését, az Elnöki Szabadságérmet kapta 20 másik kimagasló tevékenységet végző személyiséggel (Tom Hanks, Diana Ross, Bruce Springsteen stb.) együtt.

Barack Obama átadja az Elnöki Szabadságérmet Hamitonnak, a háttérben Bill Gates tapsol (fotó: The Verge)
Barack Obama átadja az Elnöki Szabadságérmet Hamitonnak, a háttérben Bill Gates tapsol (fotó: The Verge)

A kitüntetés elsősorban az 1960-as évekhez, az űrkutatáshoz kapcsolódik.

Majdnem 50 év telt el azóta, hogy Hamilton elkezdett dolgozni az Apollo 11 Hold-missziónak. Úttörő szoftvere segítette a holdmodul és a személyzet 1969-es leszállását a Hold felszínére.

Barack Obama elnök elmondta: Hamilton jelképezi a nem agyonsztárolt nők azon generációját, akik segítettek embert küldeni a világűrbe. Armstrong és Buzz Aldrin űrhajósoké volt a rivaldafény, Hamilton pedig a színfalak mögött dolgozott egy olyan korban, amikor a számítástudomány (computer science) annyira új volt, hogy még nem is használták rá ezt a kifejezést, a kódokat pedig kézzel írták.

Az Apollo-programban az 1961-es startpisztoly eldörrenése óta bedolgozó MIT egyik csoportját vezette, a felsőoktatási intézmény Charles Stark Draper Laborjában velük írta a NASA Hold-misszióinak fedélzeti repülésszoftverét, az első onboard navigációs rendszert az első tranzisztorok helyett integrált áramköröket használó kitüntetett szerepű, Hamilton MIT-s főnöke, Dick Batton és Hal Laning által fejlesztett számítógépen.

1968 nyarán már több mint 400-an munkálkodtak a szoftveren.

Holdraszállás Hamilton szoftverével

Hamilton 24 éves korától dolgozott a világhírű felsőoktatási intézményben. Az ő csapata rakta le a szoftvermérnökség (software engineering) alapjait. Rendszerszintű megközelítés, szigorú tesztelések melletti kiállás jellemezte munkáját. Aztán kikristályosodott benne és munkatársaiban is: a szoftverrel nyerik meg az űrversenyt.

Programozáson a korabeli lyukkártyás módszert értsük: a digitális információt a keménypapírból készült kártyán adott pozícióban meglevő lyukakkal ábrázolták. Helyüket a mindenkori kódtáblázat határozta meg, a funkció végrehajtásához az adathordozón levő lyukakat az olvasóegység beolvasta, megfelelő berendezéssel dekódolta. A feldolgozást az Apollo leszállóegység tevékenységét szimuláló gigantikus Honeywell komputer végezte. Repülés előtt mindent szimulálniuk kellett.

„Űrhajósainknak nem volt sok idejük, viszont szerencséjükre ott volt nekik Margaret Hamilton” – értékelte a programozó érdemeit a januárban leköszönt elnök.

Margaret Hamilton az MIT-ben
Margaret Hamilton az MIT-ben

Obama arra utalt, hogy Hamilton átírta az Apollo rendszerét, lehetővé téve, hogy a számítógép fontossági sorendet állítson fel, ha rengeteg feladatot kell abszolválnia. Újításának jelentősége a holdraszállás napján derült ki: 1969. július 20-án néhány perccel a Nyugalom tengerén történt landolás előtt ugyanis több számítógépes vészjelzés érkezett. A NASA-csapat viszont azt is azonnal észlelte, hogy egyik figyelmeztetés sem kritikus, és az erre vonatkozó „1202 figyelmeztetés” értelmében semmisnek tekintették a prioritásrendszerről a radarrendszerre kapcsolás utasítását, a misszió pedig folytatódhatott.

Az Apollo-űrhajókon két szinte teljesen azonos komputer dolgozott: az egyiket a holdmodulban, a másikat az asztronautákat a földről el- és visszaszállító irányítómodulban használták.  

Nemcsak Obama, hanem az Apollo-szoftver fejlesztésében vállalt oroszlánrészért 2003-ban a NASA is kitüntette Hamiltont. 1986-ban az Association of Women for Computing szintén.

Díjukat Ada Lovelace-ről nevezték el. 

Soha ne mondd, hogy soha

Hamilton rendszeresen bevitte kislányát, Laurent az MIT-ba. Lauren egyszer az irányítómodul szimulátorának kijelzőjével és billentyűzetével játszott, amikor felugrott egy hibaüzenet. A P01 indulás előkészítő programmal valahogy sikerült repülés közben tönkretennie a szimulátort.

Semmi oka nem volt, hogy egyetlen űrhajós valaha is használja a P01-et.

Hamilton mégis hozzáírt a kódhoz, de a NASA elvetette az ötletet, mondván, hogy asztronautáik abszolút felkészültek és nem hibáznak.

Margaret Hamilton a MIT Muzeumban, Cambridge-ben (forrás: Wired)
Margaret Hamilton a MIT Muzeumban, Cambridge-ben (forrás: Wired)

1968 karácsonya körül az Apollo 8 egyik tagja, Jim Lovell véletlenül a P01-et választotta az űrben. Az MIT-ben tartózkodó Hamilton és társai üzenetet kaptak Houstonból: a P01 törölte Lovell összes navigációs adatát, amelyek nélkül a számítógép aligha találta volna meg a hazautat. 9 óra kínkeserves agyalást követően Hamilton kódkiegészítését használva jöttek rá a megoldásra. Houstonból új navigációs adatokat töltöttek fel a gépre, az űrhajósok pedig szerencsésen visszatértek.

Néhány sarokra az MIT

1976 és 1984 között az általa alapított Higher Order Software-t (HOS) igazgatta. MIT-s tapasztalatait hasznosítva hibamegelőzésen és hibatoleráláson dolgozott. USE.IT nevű terméküket több kormányprogramban használták, és mindenki nagyon elégedett volt vele.

1986-ban az MIT-nak is otthont adó Cambridge-ben megalapította a felsőoktatási intézménytől néhány sarokra ma is működő Hamilton Technologies-t. Cégét a szoftverek és más komplex rendszerek specifikációjára és tervezésére általa kidolgozott formális módszer és modellező nyelv, a Universal Systems Language (USL) és a kapcsolódó automatizált környezet, a 001 eszközcsomag köré építette. Mindezt az MIT tőszomszédságában, ahonnan pályafutása indult, és ahol Hamilton szellemében az űr felé tekintve folyamatosan forradalmasítják az infokommunikációs technológiákat.

Kömlődi Ferenc
a szerző cikkei

hirdetés
Ha hozzá kíván szólni, jelentkezzen be!
 
hirdetés
hirdetés
hirdetés

Kiadónk társoldalai

hirdetés