Гамильтон, Маргарет (учёный)

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску
Маргарет Гамильтон
Margaret Hamilton 1995.jpg
Имя при рождении исп. Margaret Hamilton
Дата рождения 17 августа 1936(1936-08-17)[1] (82 года)
Место рождения
Страна
Научная сфера информатика
Место работы
Альма-матер
Награды и премии
Commons-logo.svg Маргарет Гамильтон на Викискладе

Маргарет Хэфилд Гамильтон (англ. Margaret Heafield Hamilton; род. 17 августа 1936, Паоли, Индиана, США)[3] — американский компьютерный специалист, системный инженер и владелец бизнеса. Она была директором программной инженерии подразделения измерительной лаборатории МТИ, которая разрабатывала бортовое программное обеспечение для космической программы «Аполлон».[4] В 1986 году она стала основателем и генеральным директором компании Hamilton Technologies, Inc. в Кембридже, штат Массачусетс. В компании был разработан вокруг универсальной системы языка на основе её парадигмы развития перед фактом (DBTF) для систем и проектирование программного обеспечения.[5]

Гамильтон опубликовала более 130 научных работ, трудов и отчетов по 60 проектам и шести крупным программам, в которых она принимала участие.

Ранняя жизнь[править | править код]

Маргарет Хэфилд родилась в семье Кеннета Хэфилда и Рут Эстер Хэфилд (в девичестве Партингтон).[6] В 1954 году окончила среднюю школу Хэнкок и в 1958 году получила степень бакалавра в области математики со специализацией в философии в колледже Эрлхам.[7] После окончания учёбы она некоторое время преподавала в средней школе математику и французский, пока её муж заканчивал обучение на степень бакалавра. Она переехала в Бостон, штат Массачусетс с намерением проходить аспирантуру по абстрактной математике в университете Брандейса. В 1960 году она заняла промежуточную позицию в МТИ для разработки программного обеспечения для прогнозирования погоды на компьютерах LGP-30 и ПРП-1 (в проекте MAC Марвина Мински) для профессора Эдварда Нортона Лоренца из отдела метеорологии.[3][8] В то время, компьютерные науки и программная инженерия ещё не были дисциплинам; вместо этого, программисты изучали что-то новое с помощью практического опыта.[4]

С 1961 по 1963 г. работала на проекте SAGE в лаборатории Линкольна, где она была одним из программистов, которые писали программное обеспечение для первого компьютера AN/FSQ-7 (XD-1), для поиска «недружественных» воздушных судов; она также написала программное обеспечение для Кембриджской научно-исследовательской лаборатории ВВС.

Проект SAGE[править | править код]

В качестве расширения к проекту «Вихрь» (Whirlwind), начатым МТИ, чтобы создать компьютерную систему, которая могла бы предсказывать погодные системы и отслеживать их перемещения с помощью тренажеров, SAGE вскоре был разработан для военного использования в противовоздушной обороне от возможных нападений СССР во время холодной войны. В свою очередь, Гамильтон описывала свои обязанности так:

Что они делали, когда вы приходили в эту организацию как новичок, — назначали вам эту программу, которую никто не был в состоянии понять или заставить работать. Когда я была новичком, они дали её мне. Это было хитрое программирование, и человек, который её написал, получал удовольствие от того, что все его комментарии были на греческом и латыни. Так я была назначена на эту программу, и я на самом деле заставила её работать. Она даже распечатала ответы на латыни и греческом. Я была первой, кто сумел заставить её работать[9]

Её усилия в работе над этим проектом сделали её кандидатом на должность в НАСА в качестве ведущего разработчика программного обеспечения для полета Аполлона.

НАСА[править | править код]

Гамильтон во время её пребывания в качестве ведущего разработчика ПО для Аполлона

Гамильтон затем присоединилась к лаборатории Чарльза Старка Дрейпера в Массачусетском технологическом институте, который в то время работал на космической миссии Аполлон. Она в конце концов стала директором и научным руководителем разработки программного обеспечения для Аполлона и Скайлэб.[10]

В НАСА группа Гамильтон была ответственна за помощь в разработке бортового руководства программного обеспечения «Аполлона», необходимого для навигации и посадки на Луну, и его множественные вариации использовались в многочисленных миссиях (в том числе последующего Скайлэб).[4] Она работала, чтобы получить практический опыт во времена, когда компьютерных наук и программной инженерии курсы или дисциплины не существовало.

Её компетенции включали проектирование систем и разработку программного обеспечения, моделирование предприятий и процессов, парадигмы разработки, языки формальных систем моделирования, системно-ориентированных объекты для систем моделирования и разработки, автоматизированные среды жизненного цикла, методы для достижения максимальной надежности программного обеспечения и повторного использования, анализ предметной области, правильности с помощью встроенного языка свойства, с открытой архитектурой и методы робустной системы, полный жизненный цикл автоматизации, контроля качества, бесшовная интеграция, обнаружение ошибок и восстановление техники, человеко-машинный интерфейс операционных систем, end-to-end тестирование и управления жизненным циклом техники.[4]

Она была одной из тех, кто разрабатывал концепции асинхронного программного обеспечения, приоритетного планирования и интерфейса взаимодействия «человек-в-контуре», которые стали основой для современного ультра-надежного проектирования программного обеспечения.

Аполлон 11[править | править код]

Под руководством Маргарет Гамильтон писались программы для бортового компьютера КА Аполлон. В один из самых ответственных моментов миссии Аполлон-11 именно работа Маргарет и её команды предотвратила возможный срыв высадки на Луну.[11] За три минуты до прилунения лунного модуля сработало несколько аварийных сигнальных устройств. Компьютер был перегружен входящими данными – в стыковочной радарной системе произошло непроизвольное обновление счетчика, что привело к запросу на выполнение компьютером большего числа операций, чем он был способен обработать. Благодаря устойчивой архитектуре компьютер продолжил свою работу: в разработке бортового ПО использовался подход асинхронного исполнения. Процессы с высоким приоритетом (критичные для прилунения) могли прервать низкоприоритетные процессы.

Бизнес[править | править код]

С 1976 по 1984 год Гамильтон была главным исполнительным директором компании, соучредителем которой она была. Она называлась Higher Order Software (HOS) и создавала продукт, получивший название USE.IT. Он основывался на методологии HOS.[12][13][14]

В 1986 году она стала основателем и генеральным директором компании Hamilton Technologies, Inc в Кембридже, штат Массачусетс. Компания была разработана вокруг универсальной системы языка (USL) и связанной с ним автоматизированной среды 001 Tool Suite, на основе её парадигмы развития перед фактом (DBTF) для проектирования систем и разработки программного обеспечения.[5][15][16][17]

Наследие[править | править код]

Официальное фото НАСА, 1989

Гамильтон популяризировала термин «программная инженерия»,[18] впервые придуманный Энтони Оттингером.[19][20] В этой области она была одной из тех, кто разработал концепции асинхронного программного обеспечения, приоритетного планирования, сквозного тестирования и модели взаимодействия «человек-в-контуре» (human-in-the-loop), такие как приоритет дисплеев, которые затем стали основой для ультра надежного проектирования программного обеспечения.[21]

Награды[править | править код]

  • 1986 — Премия Августы Ады Лавлейс от Ассоциации для женщин в вычислительной технике.[7]
  • 2003 — NASA Exceptional Space Act Award за научно-технический вклад. Премия включала $ 37 200, это крупнейшая сумма, присужденная кому-либо персонально в истории НАСА.[11][21][22]
  • 2009 — Премия выдающихся выпускников, колледж Эрлхам.[7]

Личная жизнь[править | править код]

Она познакомилась со своим мужем Джеймсом Коксом Гамильтоном во время учёбы в колледже Эрлхам. Они поженились в конце 1950-х годов после того, как Хэфилд получила степень бакалавра. У них родилась дочь по имени Лорен. Пара в итоге развелась.[23]

Публикации[править | править код]

  • 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), "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), «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), «Universal Systems Language: Lessons Learned from Apollo», IEEE Computer, Dec. 2008.

Источники[править | править код]

  1. Wayne T. K. American Women of Science Since 1900ABC-CLIO, 2011.
  2. http://www.earlham.edu/alumni/homecoming-and-reunions/alumni-awards/award-recipient-archives/2009-outstanding-alumni-and-distinguished-service-awards/
  3. 1 2 Tiffany K. Wayne. American Women of Science Since 1900. — ABC-CLIO, 2011. — P. 480–1. — ISBN 978-1-59884-158-9.
  4. 1 2 3 4 NASA Office of Logic Design «About Margaret Hamilton» (Last Revised: February 03, 2010)
  5. 1 2 M. Hamilton, W.R. Hackler (December 2008). “Universal Systems Language: Lessons Learned from Apollo”. IEEE Computer. DOI:10.1109/MC.2008.541.
  6. Ruth Esther Heafield. Wujek-Calcaterra & Sons. Проверено 15 декабря 2014.
  7. 1 2 3 2009 Outstanding Alumni and Distinguished Service Awards. Earlham College. Проверено 15 декабря 2014.
  8. Steven Levy (1984), Hackers: Heroes of the Computer Revolution.
  9. AGC - Conference 1: Margaret Hamilton's introduction. authors.library.caltech.edu. Проверено 9 декабря 2015.
  10. Margaret Hamilton. Cambridge Women's Heritage Project. Проверено 23 декабря 2014.
  11. 1 2 Michael Braukus NASA News «NASA Honors Apollo Engineer» (Sept. 3, 2003)
  12. M. Hamilton, S. Zeldin (1976) «Higher order software—A methodology for defining software» IEEE Transactions on Software Engineering, vol.
  13. Thompson, Arthur A.; Strickland, A. J., (1996), «Strategic Management: Concepts and Cases», McGraw-Hill Companies, ISBN=0-256-16205-0
  14. Rowena Barrett. Management, Labour Process and Software Development: Reality Bites. — Routledge, 1 June 2004. — P. 42. — ISBN 978-1-134-36117-5.
  15. Krut, Jr., B., (1993) «Integrating 001 Tool Support in the Feature-Oriented Domain Analysis Methodology» (CMU/SEI-93-TR-11, ESC-TR-93-188), Pittsburgh, SEI, Carnegie Mellon University.
  16. Ouyang, M., Golay, M.W. (1995), An Integrated Formal Approach for Developing High Quality Software of Safety-Critical Systems, Massachusetts Institute of Technology, Cambridge, MA, Report No. MIT-ANP-TR-035.
  17. Software Productivity Consortium, (SPC) (December 1998), Object-Oriented Methods and Tools Survey, Herndon, VA.
  18. Rayl, A.J.S. NASA Engineers and Scientists-Transforming Dreams Into Reality. 50th Magazine. NASA (October 16, 2008). Проверено 27 декабря 2014.
  19. ACM Digital Library accessed January 24, 2016
  20. The origin of «software engineering» accessed January 24, 2016
  21. 1 2 NASA Press Release «NASA Honors Apollo Engineer» (September 03, 2003)
  22. NASA Administrator Sean O’Keefe has commented saying "The concepts she and her team created became the building blocks for modern software engineering.
  23. James Cox Hamilton, at 77; lawyer was quiet warrior for First Amendment, Boston Globe (August 31, 2014). Проверено 15 декабря 2014.

Ссылки[править | править код]