검수요청.png검수요청.png

마거릿 해밀턴

위키원
goatmxj48 (토론 | 기여)님의 2020년 7월 20일 (월) 11:24 판
이동: 둘러보기, 검색
마거릿 해밀턴(Margaret Hamilton)
매사추세츠 공과대학교(MIT; Massachusetts Institute of Technology)

마거릿 해밀턴(Margaret Hamilton, 1936년 8월 17일 출생)은 미국의 컴퓨터 과학자 겸 엔지니어인 경영자다. 마거릿 해밀턴은 미국 항공우주국(NASA)의 아폴로(Apollo) 프로그램을 위한 '온보드 플라이트 소프트웨어(On-Board Flight Software)'를 개발한 매사추세츠 공과대학교(MIT) 계측 연구소의 소프트웨어(Software) 엔지니어링 부서의 이사를 맡았다. 마거릿 해밀턴은 캠브리지(Cambridge)에 호스(Higher Order Software)를 1976년에, 해밀턴 테크놀로지(Hamilton Technologies)를 1986년에 설립했다. 마거릿 해밀턴은 약 60개의 프로젝트와 6개의 주요 프로그램을 130개 이상의 논문, 절차, 보고서를 발표했으며, '소프트웨어 엔지니어링'으로 공로를 인정받은 사람들 중 한 명이다. 마거릿 해밀턴은 2016년 11월 22일 '미국 항공우주국의 아폴로 문(Moon)'의 임무용 온보드 플라이트 소프트웨어 개발에 앞장선 공로로 버락 오바마(Barack Obama) 대통령으로부터 '대통령 자유의 메달(Presidential Medal of Freedom)'을 받았다.[1]

생애

마거릿 해밀턴은 인디애나주 파올리(Paoli, Indiana)에서 케네스 헤필드(Kennet Heafield)와 루스 에스터 헤필드(Née Divington) 사이에서 태어났다. 마거릿 해밀턴은 데이빗(David)과 캐스린(Kathryn)이라는 2명의 남동생이 있었다. 마거릿 해밀턴의 가족은 미시간(Michigan) 주로 이사하며, 마거릿 해밀턴은 1954년에 핸콕(Hancock) 고등학교를 졸업했다. 1955년 마거릿 해밀턴의 어머니도 학생 신분으로 학교를 다니고 있었는데, 마거릿 해밀턴은 미시간 대학에서 수학을 공부하다가 어머니가 다니고 있던 얼햄(EarIham) 대학으로 편입했다. 1958년에 부전공으로 철학을 공부하며 수학 학사학위를 받았다. 마거릿 해밀턴은 추상 수학(abstract mathematics)을 추구하고 수학 교수가 되고 싶었다. 얼햄 대학의 수학 부장이었던 플로렌스 롱(Florence Long)은 그런 마거릿 해밀턴에게 많은 도움을 제공해 줬다고 한다. 마거릿 해밀턴의 아버지는 철학자 겸 시인이었고, 할아버지는 학교장 겸 퀘이커 교도(Quaker) 목사였다. 그래서 아버지와 할아버지는 마거릿 해밀턴에게 부전공이었던 철학도 마거릿 해밀턴의 연구에 포함하도록 영감을 주었다고 한다.[1]

경력

호스 1976년, 해밀턴은 '호스'를 세이던 젤딘(Saydean Zeldin)과 함께 공동 설립하여 아폴로 프로그램에서 일하는 매사추세츠 대학에서의 경험에서 비롯되는 오류 방지 및 내 결함성에 대한 아이디어를 더욱 발전시켰다. 그들은 매사추세츠 대학에서 개발한 호스 방법론에 근거해서 유에스이(USE)라는 정보기술(IT) 제품을 만들었다. 미국 공군이 통합전산보조제조(ICAM) 프로젝트에 개발한 모델링 언어 아이디이에프(IDEF)의 자동 버전인 씨아이디이에프(C-IDEF)를 공식화하고 구현하는 프로젝트를 비롯해 수많은 정부 프로그램에서 활용되었다. 그 사례로 1980년에 이스라엘(Israeli) 컴퓨터 과학자 데이비드 해럴(David Harel)은 호스에서 파생된 '구조화된 프로그래밍 언어( structured programming language)'에 대해 발표했으며, 다른 사람들은 실시간 임베디드(embedded) 시스템의 설계를 공식화하기 위해 호스를 사용했다. 마거릿 해밀턴은 1984년까지 호스 최고 경영자였고 1985년에 회사를 떠났다.[1]

해밀턴 테크놀로지 1986년 3월, 마거릿 해밀턴은 매사추세츠주 캠브리지에 해밀턴 테크놀로지를 설립했다. 이 회사는 유니버설 시스템 언어(USL, Universal Systems Language)와 관련된 자동화 환경인 001툴스윗(001 Tool Suite)를 중심으로 시스템 설계 및 소프트웨어 개발을 위한 사실 이전의 개발(DBTF)이라는 패러다임을 바탕으로 개발되었다.[1]

수상내역

  • 1986년 마거릿 해밀턴은 컴퓨터 분야의 여성 협회로부터 '어거스타 에다 러브레이스 상(Augusta Ada Lovelace Award)'을 받았다.
  • 2003년에 과학자 기술 기여로 '미국 항공우주국 예외 우주법 상(Augusta Ada Lovelace Award)'을 받았다. 이 상에는 3만 7200달러가 포함되어 있는데 이는 미국 항공우주국 역사상 가장 큰 금액이었다.
  • 2009년에는 얼램 칼리지(Earlham College)로부터 '우수 동문상(Outstanding Alumni Award)'을 받았다.
  • 2016년에는 미국 대통령 버락 오바마로부터 '대통령 자유의 메달(Presidential Medal of Freedom)'을 받았다.
  • 2017년 4월 28일, 컴퓨터 아이디어가 세상을 바꾼 뛰어난 남녀들을 기리는 '컴퓨터 역사 박물관 동료 상(Computer History Museum Fellow Award)'을 받았다.
  • 2018년에는 카탈로니아 폴리텍대학(Polytechnic University of Catalonia)으로부터 명예방사학위를 받았다.
  • 2019년엔 워싱턴 상(The Washington Award)을 받았다.

주요 활동

보스턴에서 마거릿 해밀턴은 처음에 브랜다이스(Brandeis)에서 추상 수학 대학원 과정에 등록하려고 했으나, 1959년 여름에 마거릿 해밀턴은 매사추세츠 대학의 기상학과에 있는 에드워드 노튼 로렌츠(Edward Norton Lorenz)와 일하기 위해 대학원 등록을 하지 않았다. 마거릿 해밀턴은 마빈 민스키(Marvin Minsky)의 프로젝트 맥(MAC)에서 날씨 예측, LPG-30 프로그래밍, PDP-1 컴퓨터의 소프트웨어를 개발했다. 그래서 덕분에 마거릿 해밀턴의 연구는 혼돈(chaos) 이론에 관한 로렌츠(Lorenz) 출판물에 많은 도움이 된다.[1]
그 당시, 컴퓨터공학과와 소프트웨어공학은 크게 확립된 학문이 아니었다. 그래서 프로그래머들은 실제 경험을 가지고 그 일을 배웠어야 했다. 마거릿 해밀턴은 1961년 여름이 오고서야 마빈 민스키의 프로젝트에서 나와 다른 프로젝트로 옮겨갔으며 그녀의 후임으로 엘렌 페터(Ellen Fetter)를 고용하고 훈련시켰다.[1]
마거릿 해밀턴은 1961년부터 1963년까지 매사추세츠 대학 링컨랩(Lincoln Lab)에서 반자동 지상 환경 프로젝트에 참여했는데, 공군들이 침입하는 항공기를 찾기 위해 사용하는 'AN/FSQ-7' 컴퓨터 시제품의 소프트웨어를 작성한 프로그래머 중 한 명이었다. 또한 공군 캠브리지 연구소(Air Force Cambridge Research)에서 위성 추적 프로젝트를 위한 소프트웨어를 작성했다. 반자동 지상 환경 프로젝트는 매사추세츠 대학이 시뮬레이터(simulator)를 사용해서 기상 시스템을 예측하고 움직임을 추적할 수 있는 '회오리바람(Whirlwind)' 프로젝트의 연장선이었다. 반자동 지상 환경은 냉전 기간 동안 잠재적인 소련의 공격으로부터 대공 방공에서 군사적으로 사용하기 위해 개발되었다. 이 프로젝트 덕에 마거릿 해밀턴은 아폴로 비행 소프트웨어의 선도 개발자로서 미국 항공우주국의 지위 후보로 오를 수 있었다.[1]
마거릿 해밀턴은 아폴로 우주 임무를 수행하는 매사추세츠 대학의 찰스 스타크 드레이퍼(Charles Stark Draper) 연구소에 들어가서 아폴로와 스카이랩용(Skylab) 소프트웨어를 개발하면서 많은 이들에게 인정받는 팀을 꾸려나갔다. 해밀턴 팀은 기내의 소프트웨어 개발을 맡았는데, 이 소프트웨어에는 아폴로 사령 모듈(Module), 달 착륙기, 후속 스카이랩을 위해 선임 과학자들이 설계해 놓은 다양한 알고리즘이 포함되어 있었다. 마거릿 해밀턴의 또 다른 팀원은 시스템 소프트웨어를 설계하고 개발했는데 여기엔 재시동, 오류 감지, 복구 소프트웨어, 마거릿 해밀턴이 개발한 디스플레이 인터페이스 루틴(Priority Displays)이 포함되어 있었다. 마거릿 해밀턴은 컴퓨터공학이나 소프트웨어공학 교육 과정이 너무 없는 시대에서 실무 경험을 쌓기 위해 열심히 일했다. 후에 그녀는 소프트웨어 엔지니어링 부서의 이사로도 재직하게 됐다.[1]
마거릿 해밀턴의 전문 분야는 시스템 설계 및 소프트웨어 개발, 엔터프라이즈(Enterprise) 및 프로세스 모델링(Process Modeling), 개발 패러다임(Paradigm), 공식 시스템 모델링 언어(Formal Systems Modeling Languages), 시스템 모델링 및 개발을 위한 시스템 지향 객체, 자동화된 라이프사이클 환경(Life-Cycle Environments), 소프트웨어 신뢰성과 재사용을 극대화하는 방법, 도메인 분석(Domain Analysis), bui별 정확성lt-in 언어 속성, 강력한 시스템을 위한 개방형 네트워크 기술, 완전한 라이프사이클 자동화, 품질 보증, 원활한 통합, 오류 감지 및 복구 기술, 맨 머신 인터페이스 시스템(Man-Machine Interface Systems), 운영 체제(OS), 엔드 투 엔드 테스트 기술( end-to-end testing techniques) 및 라이프사이클 관리 기술 등이 있다.[1]
  • 아폴로 프로그램
아폴로 11호를 달에 성공적으로 안착하는데 마거릿 해밀턴의 역할이 컸다. 아폴로 11호가 달에 착륙을 시도하는 중에 오류가 났는데 이 오류는 1201번 알람 및 1202번 알람이란 것으로, 컴퓨터의 메모리가 가득 차서 컴퓨터를 재시동하고 착륙 프로그램을 처음부터 다시 시작하겠다는 의미의 알람이었다. 이 오류의 원인은 오늘날 정확히 분석된 바로는 간단히 말하면 달 착륙선의 레이더 때문이었다. 실수로 레이더 스위치가 켜져 있어 레이더의 정보가 컴퓨터로 계속 보내지며 달 착륙 프로그램을 수행할 메모리를 잡아먹어 달 착륙 프로그램이 수행되는 것을 방해하고 있었던 것이다. 마거릿 해밀턴은 이런 상황을 이미 예상하고 성공적으로 달에 안착하기 위해선 비행 컴퓨터의 소프트웨어 시스템 개발을 해놓았다. 이 시스템 에러는 달 착륙 시퀀스를 개시하고 3분뒤에 발생했는데, 랑데뷰(rendez-vous) 레이더 때문에 부하가 걸린 컴퓨터가 상대적으로 중요도가 낮은 작업에 들어가는 시스템 자원을 더 높은 중요도의 작업에 돌리는 과정에서 발생하는 것이었다. 다행히 이런 상황에 대한 대비가 되어 있었기 때문에 착륙 시퀀스를 속행할 수 있었고, 아폴로 11호의 달 착륙 과정 자체가 중단될 수도 있었던 위기를 넘기는 역할을 했다.[2]

각주

참고자료

같이 보기


  질문.png 이 문서는 사진 수정이 필요합니다.  

  검수요청.png검수요청.png 이 마거릿 해밀턴 문서는 컴퓨터에 관한 글로서 검토가 필요합니다. 위키 문서는 누구든지 자유롭게 편집할 수 있습니다. [편집]을 눌러 문서 내용을 검토·수정해 주세요.