Margaret Hamilton | |
---|---|
Navn ved fødslen | engelsk Margaret Hamilton [2] |
Fødselsdato | 17. august 1936 [1] (86 år) |
Fødselssted | |
Land | |
Videnskabelig sfære | datalogi [2] |
Arbejdsplads | |
Alma Mater | |
Priser og præmier | Ada Lovelace Award [d] ( 1986 ) æresdoktorgrad fra Polytechnic University of Catalonia [d] ( 2018 ) Fellow Awards ( 2017 ) |
Mediefiler på Wikimedia Commons |
Margaret Heafield Hamilton ( født 17. august 1936, Peioli, Indiana, USA) er en amerikansk computerforsker , systemingeniør og virksomhedsejer. Hun var leder af softwareudviklingsafdelingen på Measurement Systems Laboratory ved Massachusetts Institute of Technology (MIT). Afdelingen udviklede software ombord til NASA 's Apollo rumprogram . Hun grundlagde Higher Order Software i 1976 og Hamilton Technologies, Inc. i 1986. i Cambridge , Massachusetts .
Hamilton har udgivet over 130 videnskabelige artikler, artikler og rapporter om tres projekter og seks store programmer. Hun er en af de specialister, som udtrykket " softwareudvikling " er forbundet med.
Den 22. november 2016 modtog Hamilton Presidential Medal of Freedom fra Barack Obama for hendes arbejde, der førte til udviklingen af onboard-software til NASAs måneprogram.
Margaret Hafield blev født 17. august 1936 i Peioli, Indiana , af Kenneth og Ruth Esther Hafield. [4] [5] Efter sin eksamen fra Hancock High School i 1954, [4] studerede hun matematik ved University of Michigan . I 1958 modtog hun sin BA i matematik og filosofi (ikke-major) fra Earlham College . [6] [7]
Efter eksamen underviste Margaret kortvarigt i matematik og fransk på gymnasiet og sørgede for sin familie, mens hendes mand arbejdede på sin bachelorgrad på Harvard University . Derefter flyttede han til Boston for at afslutte sine postgraduate studier i abstrakt matematik ved Brandeis University. Hamilton bemærker Florence Long, chef for matematik ved Earlham College, gennem hvis hjælp i abstrakt matematik hun bliver professor. [8] Blandt andre inspirationer, nu uden for teknologiens verden, krediterer hun sin far, en filosof og digter, og sin bedstefar, en skoleleder og Quaker- minister , som indflydelsesrige i at opnå sin grad i filosofi. [9]
I sommeren 1959 begyndte Hamilton at arbejde for Edward Lorenz i afdelingen for meteorologi ved MIT. [10] Hun var involveret i udviklingen af vejrudsigtssoftware til LGP-30 og PDP-1 computere i Marvin Minskys MAC- projekt . [11] [12] [13] Hun bidrog til Lorentz' arbejde med kaosteori . På det tidspunkt var datalogi og softwareudvikling endnu ikke etablerede discipliner, og programmører lærte på jobbet fra deres egen praktiske erfaring. [14] sommeren 1961 gik hun videre til et andet projekt, hvor hun ansatte og trænede Ellen Fetter som sin afløser. [ti]
Fra 1961 til 1963 arbejdede Hamilton for Lincoln Labs SAGE ( en:Semi-Automatic Ground Environment ) -projekt , [12] , hvor hun var en af de programmører, der skabte software til AN/FSQ-7 (XD-1) prototype søgesystem fjendtlige fly. [15] Hun skrev også software til luftvåbnets satellitsporingsprojekt ved Cambridge Research Laboratories . [12] SAGE-projektet var en fortsættelse af Whirlwind -projektet , startet af MIT for at skabe et computersystem til at forudsige vejrsystemer og spore deres bevægelser ved hjælp af simulatorer. SAGE blev hurtigt udviklet til militær brug i luftforsvar mod et muligt sovjetisk angreb under den kolde krig .
Når du kommer til denne organisation, får du normalt som nybegynder dette program, som ingen nogensinde har været i stand til at forstå eller køre; og det var det samme med mig. Programmering af dette viste sig at være en vanskelig opgave, og den, der skrev koden til programmet, fik et kick af at efterlade kommentarer på græsk og latin. Så de satte mig på dette program, men jeg får det stadig til at fungere. Programmet udskrev endda svar på latin og græsk. Jeg var den første, der fik det til at fungere. [16]
Det var Hamiltons indsats på dette projekt, der gjorde hende til en kandidat til NASAs førende softwareudvikler til Apollo-programmet. [fire]
Hamilton sluttede sig derefter til Draper Lab -teamet på MIT, som arbejdede for Apollo-programmet. Hun ledede til sidst et team med til opgave at udvikle software til Apollo-rumfartøjet og Skylab -banestationen . [19] Hamiltons team var ansvarlig for flyvesoftwaren, [20] som inkluderede algoritmer udviklet af flere topforskere til Apollo-kommandomodulet, månelanderen og Skylab. [14] [21] [14] En anden del af hendes team designede og udviklede systemsoftwaren. [22] Det omfattede fejlsøgnings- og korrektionssoftware såsom genstarter og "Indication Interface Procedures" (også kendt som "Priority Indications"), som Hamilton designede og udviklede. [23] Hun arbejdede for at få praktisk erfaring på et tidspunkt, hvor datalogikurser var sjældne, og softwareingeniørkurser endnu ikke eksisterede. [14] Hamilton fungerede også som leder af softwareudviklingsafdelingen. [24]
Hendes ekspertiseområder omfatter systemarkitektur og softwareudvikling, forretningsprocesmodellering og forretningsprocesmodellering på virksomhedsniveau , udviklingsparadigme, formelle systemmodelleringssprog , systemorienterede objekter til systemmodellering og -udvikling, automatiserede livscyklusmiljøer, metoder til kvalitetsforbedring. software. og kodegenbrugshastigheder , applikationsdomæneanalyse , algoritmekorrekthed med indbyggede sprogværktøjer, pålidelige system åbne arkitekturteknikker, fuld livscyklusautomatisering, kvalitetssikringsteknikker , problemfri integration, fejldetektion og korrektionsteknikker , brugergrænseflader , operativsystemer , slut- to-end test, livscyklusstyringsteknikker. [14]
På et af de kritiske tidspunkter i Apollo 11 -programmet forhindrede den indbyggede computers flyvesoftware, at månelandingen blev afbrudt. Tre minutter før månemodulet nåede månens overflade, gik flere alarmer. Computeren var overbelastet med afbrydelser forårsaget af en forkert fase af den strøm, der blev leveret til månemodulets dockingradar. [25] [26] [27] Programalarmer indikerede "executive system overflow", hvilket betyder, at styrecomputeren ikke kunne udføre alle opgaver i realtid og måtte udskyde nogle. [28] Det asynkrone eksekveringsmodul udviklet af J. Laning [25] [29] blev brugt af Hamilton-teamet til at udvikle asynkron flyvesoftware:
Takket være teknikkerne til at opdage og genskabe fejl i systemdelen af flyvesoftwaren, som inkluderede en systemdækkende "dræb og genberegn" tilgang fra genstart fra et "sikkert sted" tilgang til system snapshot og rollback teknikker, blev det muligt at udvikle indikationsgrænsefladeprocedurer (prioritetsindikationer) sammen med funktionen " man in the loop " for at give mulighed for at afbryde den almindelige indikation på astronauternes displays ved prioriteret indikation af kritiske alarmer i tilfælde af en nødsituation. Adfærden afhang af de unikke prioriteter, vi tildelte i softwaren for hver proces - dette sikrede, at alle hændelser ville ske på det rigtige tidspunkt og i den rigtige rækkefølge i forhold til andre hændelser. [tredive]
Hamiltons prioritetsalarmer afbrød astronauternes normale skærme for at advare dem om, at en nødsituation var opstået, "og gav astronauterne valget mellem at lande eller ikke at lande." [31] Jack Garman , en NASA - missionskontrolingeniør , forstod betydningen af de fejl, som astronauterne så på de prioriterede skærme, og råbte "kom nu, kom nu!" og de fortsatte til land. [32] Paul Courtauld, seniorteknolog, der nominerede Hamilton til NASA Space Act Award, kaldte hendes arbejde "grundlaget for ultra-pålideligt softwaredesign." [22]
Hamilton skrev senere om hændelsen:
Computeren (eller rettere softwaren i den) var smart nok til at indse, at den blev bedt om at udføre flere opgaver, end den burde. Han sendte derefter en alarm, som betød "Jeg er overvældet af flere opgaver, end jeg burde gøre på dette tidspunkt og vil kun lade de vigtigste opgaver stå"; altså de opgaver, der er nødvendige for at lande... Faktisk var computeren programmeret til mere end at genkende fejl. Et komplet sæt gendannelsesprocedurer var involveret i softwaren. I dette tilfælde fjernede softwaren opgaver med lavere prioritet og gendannede vigtigere opgaver... Hvis computeren ikke havde genkendt dette problem og truffet handling for at genoprette, tvivler jeg på, at Apollo 11 ville være landet på månen. [33]
I 1976 grundlagde Hamilton og en partner et firma kaldet Higher Order Software (HOS) [34] for at videreudvikle ideer om fejlforebyggelse og softwarefejltolerance baseret på deres erfaring på MIT. [35] De skabte USE.IT-softwareproduktet baseret på HOS-metoden udviklet på MIT. [36] [37] [38] Det er med succes blevet brugt i adskillige regeringsprojekter. [39] [40] Et bemærkelsesværdigt projekt var formaliseringen og implementeringen af C-IDEF, en automatiseret version af IDEF , et modelleringssprog udviklet af US Air Force i projektet Integrated Computer Aided Manufacturing (ICAM). [41]
En kritik fra en konsulent fra den amerikanske flåde hævdede, at "HOS-bøger reklamerer for deres ideer og produkter i stedet for at yde væsentlige bidrag til datalogiområdet." [42] Edsger Dijkstra beskrev USE.IT-softwaren som "et mekanisk værktøj til at anvende forældede metoder." [43] HOS-teori blev brugt af Harel til at udvikle et afledt sprog til en mere moderne form for struktureret programmering afledt af HOS, kaldet OG/ELLER-programmeringssproget. [44] Andre har brugt HOS til at formalisere semantikken af sproglige kvantificerere. [45] og formalisering af designet af pålidelige indlejrede realtidssystemer. [46]
Hamilton var administrerende direktør for HOS indtil 1984 [35] og forlod virksomheden i 1985. I marts 1986 grundlagde hun Hamilton Technologies i Cambridge, Massachusetts. Virksomheden blev bygget op omkring USL -sproget og dets tilhørende automatiserede miljø, 001 Tool Suite, baseret på "Design before the fact"-paradigmet for systemdesign og softwareudvikling. [27] [47] [48]
Hamilton, Anthony Oettinger og Barry Bohm er krediteret for at skabe disciplinen "software engineering". [49] [50] Ifølge Hamilton:
På MIT ønskede hun at give sin software "legitimitet", som med andre ingeniørdiscipliner, så både softwaren og dem, der udvikler den, får den kredit, de fortjener. Som et resultat opfandt hun udtrykket "softwareudvikling" for at skelne det fra andre typer udvikling. [femten]
Hamilton beskriver, hvordan hun fandt på begrebet "softwareudvikling":
Da jeg først opfandt udtrykket, havde ingen hørt om det før, i hvert fald i vores verden. Der er blevet spøgt med det her i lang tid. Folk kunne godt lide at drille mig med mine radikale ideer. Jeg glemmer ikke den dag, hvor en af de mest respekterede "hardware"-guruer på et teknisk møde forklarede alle, at han var enig med mig i, at processen med at skabe software også skal betragtes som en ingeniørdisciplin, som det er tilfældet med hardware. Ikke fordi han accepterede det nye "begreb" som sådan, men fordi vi fik godkendelse fra ham og fra andre tilstedeværende, da udtrykket med rette hører til ingeniørområdet. [tredive]
Da Hamilton begyndte at bruge udtrykket "software engineering" under de tidlige Apollo-programmer, [51] [52] sammenlignet med andre typer udvikling, blev software engineering ikke taget alvorligt [53] og blev ikke betragtet som en videnskab. Med tiden har begrebet "softwareudvikling" fået lige så stor respekt som enhver anden teknisk disciplin. [54] [49] September-oktober 2018-udgaven af IEEE Software-magasinet fejrede 50 års softwareudvikling. [55] Hamilton taler om "bugs", hvordan de påvirkede softwareudvikling, og hvordan USL kan bruges til at forhindre de fleste "bugs" i et system. [56] I magasinet Wired bemærkede Robert McMillan: "På MIT hjalp Hamilton med at etablere de grundlæggende principper for programmering ved at skrive koden til verdens første bærbare computer sammen med kolleger." [57] Hamiltons innovationer går ud over at få folk til månen. Karen Tegan Padid skrev i Wired : "Hun, sammen med en anden programmeringspioner, Grace Hopper , skaberen af COBOL -sproget , har også stor fortjeneste i at gøre kvinder mere tilbøjelige til at få succes inden for det tekniske område af software." [58] [59]
Margaret mødte sin mand James Cox Hamilton, mens hun studerede på Earlham College. De giftede sig i slutningen af 1950'erne, efter at Hamilton modtog sin bachelorgrad. De havde en datter, Lauren. Parret er skilt. [69]
Tematiske steder | ||||
---|---|---|---|---|
Ordbøger og encyklopædier | ||||
Slægtsforskning og nekropolis | ||||
|