{{위키데이터 속성 추적}}
{{인물 정보
|이름       = 마거릿 해밀턴
|그림       = Margaret Hamilton 1995.jpg
|그림설명   = 1995년의 해밀턴.
|출생일     = {{출생일과 나이|1936|8|17|mf=y}}
|출생지     = 미국 [[인디애나주]] [[파올리]]
|사망일     = 
|사망지     = 
|국적       = 
|다른이름   = 
|학력       = [[미시간 대학교]], [[얼햄 대학교]]
|경력       = 
|직업       = 해밀턴 테크놀로지 CEO<br />[[컴퓨터 과학자]]
|병역       = 
|활동기간   = 
|소속       = 
|종교       = 
|배우자     = 제임스 콕스 해밀턴
|친척       = [[제임스 콕스 챔버스]](사위)
|상훈       = [[대통령 자유 훈장]]<ref name=medal />
|웹사이트   = 
}}

[[파일:Margaret Hamilton 1989.jpg|섬네일|300px|1989년 사진.]]
'''마거릿 히필드 해밀턴'''(Margaret Heafield Hamilton, [[1936년]] [[8월 17일]] ~ )<ref name="Wayne2011">{{서적 인용|이탤릭체=예|author=Tiffany K. Wayne|title=American Women of Science Since 1900|url=http://books.google.com/books?id=gPGZJ_YuMwgC&pg=PA480|year=2011|publisher=ABC-CLIO|isbn=978-1-59884-158-9|pages=480-1}}</ref>은 미국의 [[컴퓨터 과학자]], [[시스템 공학]]자, [[사업가]]이다. [[아폴로 계획]]의 비행 소프트웨어를 개발한 [[찰스 스타크 드레이퍼 연구소|MIT 계기장비 연구소]] 소프트웨어 공학부문 책임자였다.<ref name=klabs>NASA Office of Logic Design [http://klabs.org/home_page/hamilton.htm "About Margaret Hamilton"] (Last Revised: February 03, 2010)</ref> 해밀턴의 작업으로 인해 [[아폴로 11호]]의 달 착륙이 성공할 수 있었다.<ref name=HQ_03281>''Michael Braukus'' NASA News [http://www.nasa.gov/home/hqnews/2003/sep/HQ_03281_Hamilton_Honor.html "NASA Honors Apollo Engineer"] {{웨이백|url=http://www.nasa.gov/home/hqnews/2003/sep/HQ_03281_Hamilton_Honor.html |date=20101124231727 }} (Sept. 3, 2003)</ref> 1986년에는 메사추세츠 주 미들섹스 군 [[케임브리지 (메사추세츠 주)|케임브리지 시]]에서 주식회사 해밀턴 테크놀로지(Hamilton Technologies, Inc)를 창업하고 CEO가 되었다. 해밀턴 테크놀로지는 주로 [[범용 시스템 언어]]를 개발했다.<ref name="USL">{{저널 인용|이탤릭체=예|author=M. Hamilton, W.R. Hackler|title=Universal Systems Language: Lessons Learned from Apollo|journal=IEEE Computer|date=December 2008|doi=10.1109/MC.2008.541}}</ref>

해밀턴은 130편 이상의 논문을 썼고 60개의 프로젝트 및 6개의 대형 계획에 관여하였다.

2016년 11월 22일, 그녀는 미국 항공우주국의 아폴로 계획을 위한 기내 비행 소프트웨어 개발을 지휘한 공로로 미국 대통령 [[버락 오바마]]에게 [[대통령 자유 훈장]]을 받았다.<ref name=medal>http://www.cbsnews.com/news/white-house-medal-of-freedom-margaret-hamilton-grace-hopper/</ref><ref name=medal2>https://www.whitehouse.gov/the-press-office/2016/11/16/president-obama-names-recipients-presidential-medal-freedom</ref>

== 어린 시절 ==

마거릿 히필드는 [[인디애나주]] [[파올리 (인디애나)|파올리]]에서 케네스 히필드와 루스 에스더 히필드(결혼 전 파팅턴) 사이에서 태어났다.<ref>{{웹 인용|title=Ruth Esther Heafield |url=http://wujekcalcaterra.tributes.com/show/Ruth-Esther-Heafield-89810802 |publisher=Wujek-Calcaterra & Sons |accessdate=December 15, 2014}}</ref> 1954년 행콕 고등학교를 졸업한 후 [[미시간 대학교]]에서 수학을 전공하였고, 1958년 [[얼햄 대학교]]에서 수학 전공과 철학 부전공으로 학사 학위를 받았다.<ref name="earlham">{{웹 인용 |title=2009 Outstanding Alumni and Distinguished Service Awards |url=http://www.earlham.edu/alumni/homecoming-and-reunions/alumni-awards/award-recipient-archives/2009-outstanding-alumni-and-distinguished-service-awards/ |website=Earlham College |accessdate=December 15, 2014 |archive-date=2015-05-18 |archive-url=https://web.archive.org/web/20150518094553/http://www.earlham.edu/alumni/homecoming-and-reunions/alumni-awards/award-recipient-archives/2009-outstanding-alumni-and-distinguished-service-awards/ }}</ref><ref name="michigan">{{웹 인용|title=Pioneers in Computer Science|url=https://cs.usu.edu/news/pioneers-in-cs-margaret-hamilton|확인날짜=2016년 7월 24일|보존url=https://web.archive.org/web/20160917191701/https://cs.usu.edu/news/pioneers-in-cs-margaret-hamilton|보존날짜=2016년 9월 17일|url-status=dead}}</ref> 그녀는 석사 학위 취득을 최종 목표로 하버드의 학사 학위 과정을 밟고 있는 남편을 부양하고자 졸업과 동시에 고등학교에서 잠시동안 수학과 프랑스어를 가르쳤다. 그녀는 [[브랜다이스 대학교]] 대학원에서 이론 수학을 공부하기 위해 [[매사추세츠주]] [[보스턴]]으로 이주하였다. 마거릿은 1960년 [[매사추세츠 공과대학교|MIT]]에서 임시직으로 들어가 [[기상학|기상학과]]의 [[에드워드 노턴 로렌즈]] 교수를 위해 [[LGP-30]]과 [[PDP-1]] 컴퓨터로 날씨를 예측하는 소프트웨어([[마빈 민스키]]의 [[프로젝트 MAC]])를 개발했다.<ref name="ProfessorLorenz">{{웹 인용|url=http://web.mit.edu/lorenzcenter/about/LorenzPubs/The_Statistical_Prediction_of_Solutions_1962.pdf|last=Lorenz|first=Edward|title=The Statistical Prediction of Solutions|date=March 1962|publisher=the Meteorological Society of Japan}}</ref><ref name="Wayne2011" /><ref>Steven Levy (1984), ''[[Hackers: Heroes of the Computer Revolution]]'', Chapter 5: The Midnight Computer Wiring Society. Doubleday. {{ISBN|0-385-19195-2}}</ref> 해밀턴은 그 당시 컴퓨터 과학과 소프트웨어 공학의 교육 과정이 제대로 정립되지 않았다고 적었다. 그 대신, 프로그래머들은 실무 경험을 통해서 일을 배워야 했다.<ref name="klabs" />

마거릿은 1961년부터 1963년까지 [[링컨 연구소]]의 [[반자동 방공 관제 체제|SAGE 계획]]에서 적 항공기를 탐지하는 최초의 AN/FSQ-7 컴퓨터(XD-1)용 소프트웨어를 작성하는 프로그래머 중 한 명으로 일하였다. 또한, 공군 케임브리지 연구소를 위한 소프트웨어도 작성하였다.

== SAGE 계획 ==
SAGE 계획은 시뮬레이터를 통해 기상 체계를 예측하고 움직임을 추적할 수 있는 컴퓨터 시스템을 만들기 위해 [[매사추세츠 공과대학교|MIT]]에서 시작한 [[월윈드 1호|월윈드 계획]]의 연장선이었다. SAGE는 [[냉전]] 시대 잠재적인 [[소련]]의 공격에 대비해 대공 방어를 위한 군사용으로 곧 개발되었다. 해밀턴은 자신이 맡은 임무를 그녀의 입장에서 다음과 같이 설명했다. <blockquote>누군가 초심자로 조직에 들어왔을 때, 그들이 해왔던 일은 아무도 이해하지 못하거나 실행에 이를 수 없었던 프로그램을 그 사람에게 할당하는 것이었다. 내가 초심자였을 때도 그들은 나에게 프로그램을 주었다. 그것은 까다로운 프로그래밍을 해야 했고, 작성한 사람이 모든 의견을 그리스어와 라틴어로 적었다는 사실이 즐거움을 주었다. 그래서 나는 이 프로그램을 할당받고 실제로 작업을 하게 되었다. 심지어 라틴어와 그리스어로 된 답변을 출력하게 하였다. 나는 그것을 작동시킨 첫 번째 사람이었다.<ref>{{웹 인용|title = AGC – Conference 1: Margaret Hamilton's introduction|url = http://authors.library.caltech.edu/5456/1/hrst.mit.edu/hrs/apollo/public/conference1/hamilton-intro.htm|website = authors.library.caltech.edu|accessdate=2015-12-09}}</ref></blockquote>이 계획에 대한 해밀턴의 노력으로 인해, 미국 항공우주국에서 그녀를 아폴로 비행 소프트웨어의 선임 개발자로 지명하게 되었다.

== 미국 항공우주국(NASA) ==
[[파일:Margaret_Hamilton - restoration.jpg|섬네일|해밀턴이 그녀의 MIT 팀과 함께 아폴로 계획을 위해 제작한 항법 소프트웨어 코드 옆에 서 있다.]][[파일:Margaret Hamilton in action.jpg|섬네일|아폴로 비행 소프트웨어 설계자를 이끌던 당시의 해밀턴.]]
해밀턴은 당시 아폴로 우주 임무에 종사하던 MIT의 찰스 스타크 드레이퍼 연구소에 들어갔고, 마침내 아폴로와 스카이랩용 소프트웨어 개발로 인정받는 팀을 이끌게 되었다.<ref>{{웹 인용|title=Marect|accessdate=23 December 2014}}</ref> 해밀턴의 팀은 아폴로 명령 모듈 및 달 착륙선, 후속 [[스카이랩]]을 위해 다양한 선임 과학자가 설계한 알고리즘을 포함하는 기내 소프트웨어 개발을 책임졌다.<ref>{{웹 인용|url=http://www.nasa.gov/50th/50th_magazine/scientists.html|title=NASA - NASA Engineers and Scientists-Transforming Dreams Into Reality|publisher=nasa.gov|확인날짜=2016-11-24|archive-date=2010-06-29|archive-url=https://web.archive.org/web/20100629170224/http://www1.nasa.gov/50th/50th_magazine/scientists.html|url-status=}}</ref><ref name=klabs/><ref name="Hoag">{{웹 인용|url=http://klabs.org/history/history_docs/mit_docs/1711.pdf|last=Hoag|first=David|title=The History of Apollo On-board Guidance, Navigation, and Control|date=September 1976|publisher=Charles Stark Draper Laboratory}}</ref> 팀의 또 다른 부서에서는 해밀턴이 설계하고 개발한 디스플레이 인터페이스 루틴(일명 우선 순위 디스플레이), 재시작과 같은 오류 감지 및 복구 소프트웨어를 비롯한 시스템 소프트웨어를 설계하고 개발하였다.<ref name=HQ_03281/><ref name="PriorityDisplays">{{웹 인용|url=http://www.ibiblio.org/apollo/hrst/archive/1706.pdf|last=Green|first=Alan|title=Keyboard and Display Program and Operation|page=29|date=June 1967|publisher=Charles Stark Draper Laboratory}}</ref> 해밀턴은 컴퓨터 과학 과정이 드물고 소프트웨어 공학 과정이 없었던 시기에 실무 경험을 쌓기 위해 일하였다.<ref name=klabs/>

그녀의 전문 분야는 [[시스템 설계]] 및 [[소프트웨어 개발]], 엔터프라이즈 및 [[프로세스 모델링]], 개발 패러다임, 공식 [[시스템 모델링]] 언어, 시스템 모델링 및 개발을 위한 시스템 중심 객체, 자동화 주기 환경, [[소프트웨어 신뢰성]] 및 [[소프트웨어 재사용|재사용]] 극대화 방법, [[도메인 분석]], 내장 언어 속성에 의한 [[정확성]], 강력한 시스템을 위한 개방형 아키텍처 기술, 전체 주기 자동화, [[품질 보증]], 완벽한 통합, [[예외 처리|오류 감지 및 복구 기술]], [[인간기계 인터페이스]] 시스템, [[운영 체제]], 종단간 시험 기술, 주기 관리 기술이 있다.<ref name=klabs/><ref name="Weinstock2016">{{웹 인용
| title = Scene at MIT: Margaret Hamilton’s Apollo code
| last = Weinstock | first = Maia
| work = MIT News
| date = 2016-08-17
| accessdate = 2016-08-17
| url = http://news.mit.edu/2016/scene-at-mit-margaret-hamilton-apollo-code-0817
| language =  
| quote = 
}}</ref>
=== 아폴로 11호 ===

[[아폴로 11호]] 임무의 결정적 순간 중 하나는, [[아폴로 가이던스 컴퓨터]]가 기내 비행 소프트웨어와 함께 달 착륙의 중단을 막은 것이다. [[달착륙선]]이 달 표면에 도달하기 3분 전, 몇 대의 컴퓨터가 경보를 울렸다. 착륙선의 랑데부 레이다에 부정확한 [[3상전력|위상]] 전원이 공급되자 컴퓨터가 과부하를 일으켜 일시 중단된 것이었다.<ref name="EylesTales" /><ref name="BlairSmith2011">{{저널 인용|last=Blair-Smith|first=Hugh|journal=IEEE Aerospace and Electronic Systems Magazine|volume=26|issue=11|title=System integration issues in Apollo 11|date=November 7, 2011|publisher=IEEE|doi=10.1109/MAES.2011.6065654}}</ref><ref name="USL" /> 프로그램 경보는 "실행 [[오버플로]]"를 표시했는데, 이는 길잡이 컴퓨터가 모든 작업을 실시간으로 완료할 수 없고 그 중 일부를 연기해야 함을 의미했다.<ref>{{서적 인용 |last1=Collins |first1=Michael |last2=Aldrin |first2=Edwin E., Jr. |authorlink2=Buzz Aldrin |editor-last=Cortright |editor-first=Edgar M |editor-link=Edgar Cortright |title=Apollo Expeditions to the Moon |url=http://www.hq.nasa.gov/pao/History/SP-350/cover.html |accessdate=June 13, 2013 |date=1975 |publisher=NASA |location=Washington, D.C. |oclc=1623434 |id=NASA SP-350 |chapter=A Yellow Caution Light |chapterurl=http://history.nasa.gov/SP-350/ch-11-4.html |archive-date=2008-02-19 |archive-url=https://web.archive.org/web/20080219204538/https://history.nasa.gov/SP-350/ch-9-5.html |url-status= }} Chapter 11.4.</ref> [[J. 할콤 레이닝]]이 설계한 비동기 실행은<ref name="EylesTales">{{웹 인용|url=http://www.doneyles.com/LM/Tales.html|last=Eyles|first=Don|title=Tales from the Lunar Module Guidance Computer}}</ref><ref name="DigitalApollo149">{{서적 인용|last=Mindell|first=David A.|title=Digital Apollo|publisher=MIT Press|date=September 30, 2011|page=149}}</ref> 작업 우선 순위를 매겨 컴퓨터가 늘어난 요구에 잘 대처할 수 있도록 해주었다. 해밀턴의 우선 순위 경보 표시는 우주비행사의 정상적인 화면 표시를 중단시키고 "우주비행사에게 실행/비실행 결정권(착륙 또는 착륙하지 않기)을 부여"하여 비상 사태를 경고하였다.<ref name="MITNEWSMHH">{{웹 인용
| title = Recalling the 'Giant Leap'
| last = Hamilton | first = Margaret
| work = 
| date = 2009-07-17
| accessdate = 2016-09-08
| url = http://news.mit.edu/2009/apollo-vign-0717
| language =  
| quote = 
}}</ref> 임무를 통제하는 NASA의 컴퓨터 공학자 잭 가먼은 우주비행사들에게 우선 순위 표시로 제시된 오류의 의미를 인지하여 "실행, 실행!"을 외쳤고, 그들은 계속해서 실행했다.<ref name="MITNEWSDL">{{웹 인용
| title = Recalling the 'Giant Leap'
| last = Lickly | first = Dan
| work = 
| date = 2009-07-17
| accessdate = 2016-09-08
| url = http://news.mit.edu/2009/apollo-vign-0717
| language =  
| quote = 
}}</ref> 해밀턴을 NASA 스페이스 액트 어워드 후보로 지명한 선임 기술자 폴 커토 박사는 해밀턴의 작업을 "극단적으로 신뢰할 수 있는 소프트웨어 설계의 토대"로 칭했다.<ref name="HQ_03281" />

해밀턴은 이 사건을 다음과 같이 적었다.
{{Quote|컴퓨터(또는 설치된 소프트웨어)는 수행해야 할 것보다 더 많은 작업을 수행하라는 요청을 받았음을 인식할 정도로 똑똑했다. 그런 다음 우주비행사에게 "나는 지금 해야 할 것보다 많은 작업으로 과부하가 걸려 더 중요한 작업만 할 것입니다." 이 작업은 즉, 착륙에 필요한 것들 ... 사실, 이 컴퓨터는 오류 상황을 인식하는 것 이상을 하도록 프로그래밍되었다. 소프트웨어 안에는 완전한 복구 프로그램 세트가 통합되어 있었다. 이 경우, 소프트웨어의 행동은 우선 순위가 낮은 작업을 제거하고 더 중요한 작업을 다시 설정하는 것이었다 ... 컴퓨터가 이 문제를 인지하지 못하고 복구 조치를 취했다면, 아폴로 11호가 성공적으로 달에 착륙했을지 의문이 든다.<ref>{{저널 인용|last=Hamilton |first=Margaret H. |authorlink=Margaret Hamilton (scientist) |date=March 1, 1971 |title=Computer Got Loaded |journal=[[Datamation]] |publisher=Cahners Publishing Company |type=Letter |issn=0011-6963}}</ref>
|매사추세츠 캠브리지의 MIT 드레이퍼 연구소 아폴로 비행 컴퓨터 프로그래밍 감독, 마거릿 H. 해밀턴의 편지.<ref>{{웹 인용 |url=http://www.nasa.gov/50th/50th_magazine/scientists.html |title=NASA Engineers and Scientists-Transforming Dreams Into Reality |last=Rayl |first=A.J.S. |date=2008 |work=50th Magazine |publisher=NASA |accessdate=June 9, 2014 |archive-date=2010-06-29 |archive-url=https://web.archive.org/web/20100629170224/http://www1.nasa.gov/50th/50th_magazine/scientists.html |url-status= }}</ref>|"Computer Got Loaded", ''[[Datamation]]'' 출판, 1971년 3월 1일}}

== 사생활 ==
해밀턴은 얼햄 대학교에서 남편 제임스 콕스 해밀턴을 만났다. 두 사람은 히필드가 학사 학위를 받은 다음인 1950년대 후반에 결혼했다. 그들은 로렌이라는 이름의 딸을 낳았고, 딸은 자라서 억만장자이자 배우, 무용가, 안무가인 [[제임스 콕스 챔버스]]와 결혼하였다. 해밀턴은 주말 동안 주로 딸과 시간을 보내고 나중에 아폴로의 명령 모듈 컴퓨터에 추가되는 루틴을 작성하기 위해 종종 로렌을 실험실로 데려갔다.<ref name="wired.com">{{웹 인용|url=https://www.wired.com/2015/10/margaret-hamilton-nasa-apollo/#slide-1|title=Her Code Got Humans on the Moon—And Invented Software Itself|website=WIRED|language=en-US|access-date=2016-04-29}}</ref> 마거릿 해밀턴과 제임스 콕스 해밀턴은 이혼하였다.<ref name="JCH_obit">{{뉴스 인용|last1=Stickgold|first1=Emma|title=James Cox Hamilton, at 77; lawyer was quiet warrior for First Amendment|url=http://www.bostonglobe.com/metro/2014/08/30/james-cox-hamilton-mentor-young-lawyers-also-handled-aclu-cases/CGoF5qLYsNnUEap7BuTrGJ/story.html|accessdate=December 15, 2014|work=Boston Globe|date=August 31, 2014}}</ref>

== 저작 ==
* M. Hamilton (1994), "Inside Development Before the Fact," cover story, Special Editorial Supplement, 8ES-24ES. ''Electronic Design'', Apr. 1994.
* M. Hamilton (1994), "001: A Full Life Cycle Systems Engineering and Software Development Environment," cover story, Special Editorial Supplement, 22ES-30ES. ''Electronic Design'', Jun. 1994.
* M. Hamilton, Hackler, W. R.. (2004), Deeply Integrated Guidance Navigation Unit (DI-GNU) Common Software Architecture Principles (revised dec-29-04), DAAAE30-02-D-1020 and DAAB07-98-D-H502/0180, Picatinny Arsenal, NJ, 2003–2004.
* M. Hamilton and W. R. Hackler (2007), "[http://www.htius.com/Articles/36.pdf Universal Systems Language for Preventative Systems Engineering]," ''Proc. 5th Ann. Conf. Systems Eng. Res.'' (CSER), Stevens Institute of Technology, Mar. 2007, paper #36.
* M. Hamilton and W. R. Hackler (2007), "[http://www.htius.com/Articles/INCOSE.pdf A Formal Universal Systems Semantics for SysML]", 17th Annual International Symposium, INCOSE 2007, San Diego, CA, Jun. 2007.
* M. Hamilton and W. R. Hackler (2008), "[http://www.htius.com/Articles/r12ham.pdf Universal Systems Language: Lessons Learned from Apollo]", IEEE Computer, Dec. 2008.

== 각주 ==
{{각주|30em}}
* {{뉴스 인용|last1=McMillan|first1=Robert|title=Her code got humans on the moon – and invented software itself|url=http://www.wired.com/2015/10/margaret-hamilton-nasa-apollo/|accessdate=20 October 2015|work=Wired|date=13 October 2015}}

== 외부 링크 ==
{{위키공용분류}}
* [http://news.mit.edu/2016/scene-at-mit-margaret-hamilton-apollo-code-0817 MIT 뉴스]

{{전거 통제}}

{{기본정렬:해밀턴, 마거릿}}

[[분류:1936년 출생]]
[[분류:미국의 컴퓨터 과학자]]
[[분류:살아있는 사람]]
[[분류:미국의 기업인]]
[[분류:매사추세츠 공과대학교 교수]]
[[분류:미시간 대학교 동문]]
[[분류:여자 컴퓨터 과학자]]