Margaret Hamilton | |
---|---|
Születési név | angol Margaret Hamilton [2] |
Születési dátum | 1936. augusztus 17. [1] (86 évesen) |
Születési hely | |
Ország | |
Tudományos szféra | számítástechnika [2] |
Munkavégzés helye | |
alma Mater | |
Díjak és díjak | Ada Lovelace-díj [d] ( 1986 ) a Katalóniai Polytechnic University tiszteletbeli doktora [d] ( 2018 ) Fellow Awards ( 2017 ) |
Médiafájlok a Wikimedia Commons oldalon |
Margaret Heafield Hamilton ( 1936. augusztus 17., Peioli, Indiana, USA) amerikai informatikus , rendszermérnök és üzlettulajdonos. A Massachusetts Institute of Technology (MIT) Measurement Systems Laboratory szoftverfejlesztési részlegének vezetője volt. Az osztály fedélzeti szoftvert fejlesztett a NASA Apollo űrprogramjához . 1976-ban megalapította a Higher Order Software-t, 1986-ban pedig a Hamilton Technologies, Inc.-t. Cambridge - ben , Massachusettsben .
Hamilton több mint 130 tudományos közleményt, közleményt és jelentést publikált hatvan projektről és hat nagy programról. Egyike azoknak a szakembereknek, akikkel a „ szoftverfejlesztés ” kifejezés kapcsolódik.
2016. november 22-én Hamilton megkapta az Elnöki Szabadságérmet Barack Obamától a NASA Hold-programjához szükséges fedélzeti szoftver kifejlesztéséhez vezető munkájáért.
Margaret Hafield 1936. augusztus 17-én született Peioliban, Indiana államban , Kenneth és Ruth Esther Hafield gyermekeként. [4] [5] Miután 1954-ben elvégezte a Hancock High Schoolt, [4] matematikát tanult a Michigani Egyetemen . 1958-ban matematikából és filozófiából (nem szakon) szerzett B.A. fokozatot az Earlham College -ban . [6] [7]
Érettségi után Margaret rövid ideig matematikát és franciát tanított a középiskolában, eltartva a családját, míg férje a Harvard Egyetemen dolgozott a diplomáján . Aztán Bostonba költözött, hogy befejezze absztrakt matematika posztgraduális tanulmányait a Brandeis Egyetemen. Hamilton megjegyzi Florence Longot, az Earlham College matematika részlegének vezetőjét, akinek az absztrakt matematika segítségével professzor lesz. [8] Több inspiráció mellett – immár a technológia világán kívül – apjának, filozófus és költőnek, valamint nagyapjának, iskolaigazgatónak és kvéker lelkésznek tulajdonítja, hogy befolyást gyakoroltak filozófiai diplomája megszerzésére. [9]
1959 nyarán Hamilton Edward Lorenznél kezdett dolgozni az MIT meteorológiai tanszékén. [10] Részt vett az időjárás-előrejelző szoftver fejlesztésében az LGP-30 és PDP-1 számítógépekhez Marvin Minsky MAC projektjében . [11] [12] [13] Hozzájárult Lorentz káoszelméletről szóló munkájához . Abban az időben a számítástechnika és a szoftverfejlesztés még nem volt bevált tudományág, és a programozók saját gyakorlati tapasztalataikból tanulták meg a munkát. [14] nyarán áttért egy másik projektbe, és felvette és betanította Ellen Fettert helyetteseként. [tíz]
1961 és 1963 között Hamilton a Lincoln Lab SAGE ( en:Semi-Automatic Ground Environment ) projektjében dolgozott , [12] ahol egyike volt azoknak a programozóknak, akik szoftvereket készítettek az AN/FSQ-7 (XD-1) számára. prototípus keresőrendszer.ellenséges repülőgép. [15] Szintén írt szoftvert a Cambridge Research Laboratories légierő műholdas nyomkövető projektjéhez . [12] A SAGE projekt a Whirlwind projekt folytatása volt , amelyet az MIT indított el, hogy létrehozzon egy számítógépes rendszert időjárási rendszerek előrejelzésére és mozgásuk szimulátorok segítségével történő nyomon követésére. A SAGE-t hamarosan katonai felhasználásra fejlesztették ki a hidegháború alatti esetleges szovjet támadás ellen .
Amikor ebbe a szervezetbe jössz, általában kezdőként megkapod ezt a programot, amit még soha senki nem értett meg és nem tudott lefutni; és velem is így volt. Ennek programozása nehéz feladatnak bizonyult, és aki a program kódját írta, az kikapott attól, hogy görögül és latinul írt kommenteket. És ezért felvettek erre a programra, de még mindig működik. A program még latinul és görögül is kinyomtatta a válaszokat. Én voltam az első, akinek sikerült. [16]
Hamiltont a projektben tett erőfeszítései miatt jelölték meg a NASA vezető szoftverfejlesztőjének az Apollo programhoz. [négy]
Hamilton ezután csatlakozott az MIT Draper Lab csapatához , amely az Apollo programnak dolgozott. Végül egy csapatot vezetett az Apollo űrszonda és a Skylab orbitális állomás szoftverfejlesztésével . [19] Hamilton csapata volt felelős a repülési szoftverért, [20] amely számos vezető tudós által kifejlesztett algoritmusokat tartalmazott az Apollo parancsnoki modulhoz, a Holdra leszállóhoz és a Skylabhoz. [14] [21] [14] Csapatának egy másik része tervezte és fejlesztette a rendszerszoftvert. [22] Hibaészlelő és -javító szoftvereket tartalmazott, mint például az újraindítások és az "Indication Interface Procedures" (más néven "Priority Indications"), amelyeket Hamilton tervezett és fejlesztett. [23] Gyakorlati tapasztalatszerzésen dolgozott akkoriban, amikor a számítástechnikai kurzusok ritkák voltak, és szoftvermérnöki kurzusok még nem léteztek. [14] Hamilton a szoftverfejlesztési osztály vezetőjeként is szolgált. [24]
Szakterülete a rendszerarchitektúra és szoftverfejlesztés, az üzleti folyamatok modellezése és a vállalati szintű üzleti folyamatok modellezése , a fejlesztési paradigma, a formális rendszermodellező nyelvek , a rendszer-modellezési és -fejlesztési rendszerorientált objektumok, az automatizált életciklus-környezetek, a minőségjavító módszerek. és kód újrafelhasználási aránya , alkalmazási tartomány elemzése , algoritmus helyessége beépített nyelvi eszközökkel , megbízható rendszer nyílt architektúrájú technikái , teljes életciklusú automatizálás , minőségbiztosítási technikák , zökkenőmentes integráció , hibaészlelési és -javítási technikák , felhasználói felületek , operációs rendszerek , vég teljes körű tesztelés, életciklus-kezelési technikák. [14]
Az Apollo 11 program egyik kritikus pillanatában a fedélzeti számítógép repülési szoftvere megakadályozta a holdraszállás megszakítását. Három perccel azelőtt, hogy a holdmodul elérte a Hold felszínét, több riasztó is megszólalt. A számítógép túlterhelt volt olyan megszakításokkal, amelyeket a Holdmodul dokkoló radarjának tápellátásának nem megfelelő fázisa okozott . [25] [26] [27] A programriasztások "végrehajtó rendszer túlcsordulást" jeleztek, ami azt jelenti, hogy a vezérlő számítógép nem tudott minden feladatot valós időben végrehajtani, és néhányat el kellett halasztani. [28] A J. Laning által kifejlesztett aszinkron végrehajtási modult [25] [29] a Hamilton csapata használta az aszinkron repülési szoftver fejlesztésére:
A repülési szoftver rendszerrészében található hibák észlelésére és helyreállítására szolgáló technikáknak köszönhetően, amelyek az egész rendszerre kiterjedő „kill and recompute” megközelítést tartalmaztak az újraindítástól „biztonságos helyről” megközelítéssel a rendszer pillanatfelvételi és visszaállítási technikáihoz, lehetővé vált. jelzési interfész eljárások (prioritásjelzések) kidolgozása a " man in the loop " funkcióval együtt annak érdekében, hogy vészhelyzet esetén lehetőség legyen az űrhajósok kijelzőjén a rendszeres jelzés megszakítására a kritikus riasztások prioritási jelzésével. A viselkedés a szoftverben az egyes folyamatokhoz hozzárendelt egyedi prioritásoktól függött – ez biztosította, hogy minden esemény a megfelelő időben és a többi eseményhez képest megfelelő sorrendben történjen. [harminc]
Hamilton elsőbbségi riasztásai megszakították az űrhajósok normál megjelenítését, hogy figyelmeztessék őket, hogy vészhelyzet történt, és „az űrhajósok választhatnak, hogy leszállnak-e vagy sem”. [31] Jack Garman , a NASA küldetésirányító mérnöke megértette azoknak a hibáknak a jelentését, amelyeket az űrhajósok az elsőbbségi kijelzőkön láttak, és azt kiáltotta, hogy "gyerünk, gyerünk!" és elindultak a partra. [32] Paul Courtauld vezető technológus, aki Hamiltont jelölte a NASA Space Act Award-ra, munkáját "az ultra-megbízható szoftvertervezés alapjának" nevezte. [22]
Hamilton később így írt az esetről:
A számítógép (vagy inkább a benne lévő szoftver) elég okos volt ahhoz, hogy rájöjjön, több feladatot kérnek tőle a kelleténél. Ezután riasztást küldött, ami azt jelentette, hogy "Több feladatom van túlterhelve, mint amennyit jelenleg kellene, és csak a legfontosabb feladatokat hagyom hátra"; vagyis a leszálláshoz szükséges feladatokat... Valójában a számítógép többre volt programozva, mint a hibák felismerése. A helyreállítási eljárások teljes készlete szerepelt a szoftverben. Ebben az esetben a szoftver leszedte az alacsonyabb prioritású feladatokat, és visszaállította a fontosabb feladatokat... Ha a számítógép nem ismeri fel ezt a problémát, és nem tett volna lépéseket a helyreállítás érdekében, kétlem, hogy az Apollo 11 sikeresen landolt volna a Holdon. [33]
1976-ban Hamilton és egy partnere megalapította a Higher Order Software (HOS) [34] nevű céget , hogy az MIT-nél szerzett tapasztalataik alapján továbbfejlessze a hibamegelőzéssel és a szoftverhibatűréssel kapcsolatos ötleteket. [35] Létrehozták a USE.IT szoftverterméket az MIT-ben kifejlesztett HOS módszertan alapján. [36] [37] [38] Számos kormányzati projektben sikeresen alkalmazták. [39] [40] Az egyik figyelemre méltó projekt a C-IDEF, az IDEF automatizált változatának formalizálása és megvalósítása volt. Ez egy modellnyelv , amelyet az Egyesült Államok légiereje fejlesztett ki az Integrated Computer Aided Manufacturing (ICAM) projektben. [41]
Az amerikai haditengerészet egyik tanácsadójának egyik kritikája amellett érvelt, hogy "a HOS-könyvek inkább reklámozzák ötleteiket és termékeiket, ahelyett, hogy jelentős mértékben hozzájárulnának a számítástechnika területéhez." [42] Edsger Dijkstra a USE.IT szoftvert "az elavult módszerek alkalmazásának mechanikus eszközeként" írta le. [43] A HOS-elméletet Harel használta egy származékos nyelv kifejlesztésére a HOS-ból származó strukturált programozás modernebb formájához, az úgynevezett ÉS/VAGY programozási nyelvhez. [44] Mások a HOS-t használták a nyelvi kvantorok szemantikájának formalizálására. [45] és megbízható beágyazott valós idejű rendszerek tervezésének formalizálása. [46]
Hamilton 1984-ig volt a HOS vezérigazgatója [35] , majd 1985-ben távozott a cégtől. 1986 márciusában Cambridge-ben, Massachusettsben megalapította a Hamilton Technologies -t. A vállalat az USL nyelv és a hozzá tartozó automatizált környezet, a 001 Tool Suite köré épült, a rendszertervezés és szoftverfejlesztés "Design before the fact" paradigmája alapján. [27] [47] [48]
Hamilton, Anthony Oettinger és Barry Bohm nevéhez fűződik a "szoftverfejlesztés" tudományágának megteremtése. [49] [50] Hamilton szerint:
Az MIT-nél a többi mérnöki tudományághoz hasonlóan "legitimitást" akart adni a szoftverének, hogy a szoftver és az azt fejlesztők is megkapják a megérdemelt elismerést. Ennek eredményeként megalkotta a "szoftverfejlesztés" kifejezést, hogy megkülönböztesse azt más típusú fejlesztésektől. [tizenöt]
Hamilton leírja, hogyan találta ki a „szoftverfejlesztés” kifejezést:
Amikor először megalkottam a kifejezést, még senki sem hallott róla, legalábbis a mi világunkban. Ezzel már régóta viccelődtek. Az emberek szerettek ugratni a radikális elképzeléseimmel. Nem felejtem el azt a napot sem, amikor az egyik legelismertebb „hardver” guru egy technikai értekezleten mindenkinek elmagyarázta, hogy egyetért velem abban, hogy a szoftverkészítés folyamatát is mérnöki tudományágnak kell tekinteni, ahogy a hardvereknél is. Nem azért, mert elfogadta az új "kifejezést" mint olyant, hanem azért, mert kivívtuk tőle és a jelenlévők jóváhagyását, hiszen a kifejezés jogosan tartozik a mérnöki területhez. [harminc]
Amikor Hamilton a korai Apollo-programok idején elkezdte használni a "szoftvertervezés" kifejezést, [51] [52] a többi fejlesztési típushoz képest a szoftvertervezést nem vették komolyan [53] és nem tekintették tudománynak. Az idő múlásával a "szoftverfejlesztés" kifejezés ugyanolyan tiszteletre tett szert, mint bármely más műszaki tudományág. [54] [49] Az IEEE Software magazin 2018. szeptember-októberi száma a szoftverfejlesztés 50. évfordulóját ünnepelte. [55] Hamilton a "hibákról" beszél, arról, hogy ezek hogyan befolyásolták a szoftverfejlesztést, és hogyan használható az USL a legtöbb "hiba" megelőzésére a rendszerben. [56] A Wired magazinban Robert McMillan megjegyezte: "Az MIT-n Hamilton segített kialakítani a programozás alapvető elveit azáltal, hogy kollégáival közösen megírta a világ első hordozható számítógépének kódját." [57] Hamilton újításai túlmutatnak azon, hogy az embereket a Holdra juttatják. Karen Tegan Padid a következőket írta a Wired -ben : "Ő, valamint egy másik programozási úttörő, Grace Hopper , a COBOL nyelv megalkotója is nagy érdemei vannak abban, hogy a nők nagyobb eséllyel járjanak sikerre a szoftverek műszaki területén ." [58] [59]
Margaret férjével, James Cox Hamiltonnal az Earlham College-ban tanult. Az 1950-es évek végén házasodtak össze, miután Hamilton megszerezte a diplomáját. Volt egy lányuk, Lauren. A pár elvált. [69]
Tematikus oldalak | ||||
---|---|---|---|---|
Szótárak és enciklopédiák | ||||
Genealógia és nekropolisz | ||||
|