Маргарет Гамільтон

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до навігації Перейти до пошуку
Маргарет Гамільтон
Margaret Hamilton 1995.jpg
Ім'я при народженні англ. Margaret Heafield Hamilton[1]
Народилася 17 серпня 1936(1936-08-17)[2] (85 років)
Паолі, Індіана, США[1]
Країна Flag of the United States.svg США
Діяльність інформатик, математик, інженер, бізнесвумен
Галузь інформатика[1]
Відома завдяки інформатика
Alma mater Ерлгем-коледжd (1958)[3] і Коледж літератури, науки і мистецтв Мічиганського університетуd
Заклад Національне управління з аеронавтики і дослідження космічного простору[1], Charles Stark Draper Laboratoryd, Лабораторія комп'ютерних наук та штучного інтелекту МТІd і Массачусетський технологічний інститут[1]
Нагороди

Маргарет Гефілд Гамільтон (англ. Margaret Hamilton, уроджена Гефілд, англ. Heafield, нар. 17 серпня, 1936, Паолі)[4] — американська науковиця у галузі інформатики, інженер систем і власниця бізнесу. Була директоркою відділу програмної інженерії[5] Лабораторії приладобудування Массачусетського технологічного інституту[en], яка розробила бортове програмне забезпечення польоту для космічної програми «Аполлон».[6] У 1986 році вона стала засновницею і генеральною директоркою Hamilton Technologies, Inc., у Кембриджі, штат Массачусетс. Компанія створена довкола мови Universal Systems Language, заснованої на її парадигмі «розробки перед фактом» (DBTF) для систем і проєктування програмного забезпечення.[7]

Гамільтон опублікувала понад 130 наукових праць, тез і звітів по 60 проєктах і 6 великих програмах, у яких вона брала участь.

22 листопада 2016 року нагороджена президентською медаллю Свободи від президента США Барака Обами за її роботу з керування розробкою бортового програмного забезпечення польоту для місій NASA польотів на Місяць «Аполлон».[8][9]

Ранні роки[ред. | ред. код]

Маргарет Гефілд народилася у Паолі, штат Індіана, у сім'ї Кеннета і Рут-Естер (уроджена Партінгтон) Гефілдів.[10] Після закінчення середньої школи Генкок в 1954 році, вона почала вивчала математику в університеті штату Мічиган в 1955 році та згодом отримала ступінь бакалавра математики з другою спеціалізацією з філософії в коледжі Ерлгем[en] у 1958 році.[11][12] Після випуску вона певний час викладала у школі математику і французьку мову, щоб підтримати чоловіка, котрий навчався на бакалавра в Гарварді, з кінцевою метою отримати диплом пізніше. Переїхала до Бостона, штат Массачусетс, з наміром написати диплом з абстрактної математики в університеті Брандейс. Вона згадує жінку-професора математики, яка підтримувала її прагнення вивчати абстрактну математику. Були й інші джерела натхнення за межами технологічного світу, в тому числі її батько, філософ і поет, і її дід, директор школи і квакер-священнослужитель. Вона каже, що ці люди надихнули її на вивчення філософії.[13] У 1960 році вона зайняла тимчасову посаду в Массачусетському технологічному інституті з розробки програмного забезпечення для прогнозування погоди на комп'ютерах LGP-30 і PDP-1 (у проєкт MAC[en] Марвіна Мінскі) для професора Едварда Нортона Лоренца з факультету метеорології.[14] Гамільтон тоді писала, що комп'ютерні науки і програмна інженерія ще не були дисциплінами; натомість програмісти навчалися на роботі з практичним досвідом.

З 1961 по 1963 рік вона працювала над проєкті Sage[en] у лабораторії Лінкольна, де вона була одною з програмістів, які писали програмне забезпечення для першого комп'ютера AN/FSQ-7 (а саме XD-1) для пошуку ворожих повітряних суден; вона також писала програмне забезпечення для Дослідних лабораторій повітряних сил США у Кембриджі[en].

Проєкт SAGE[ред. | ред. код]

Проєкт SAGE був продовженням проєкту "Whirlwind"[en], розпочатого Массачусетським технологічним інститутом для створення комп'ютерної системи, яка могла б прогнозувати погодні системи та відстежувати їхнє переміщення з допомогою симуляторів. Невдовзі SAGE було розроблено для військового використання у зенітній протиповітряній обороні від можливого радянського нападу під час «холодної війни». Гамільтон сказала:

« Вони звикли так робити з новачками, які приходили в цю організацію: призначали їх на цю програму, яку ніхто ніколи не міг зрозуміти чи запустити. Коли я була новачком, вони так само дали її мені. А суть була в тому, що програма була написана підступно, а людина, яка її написала, отримувала задоволення від того, що всі його коментарі були грецькою і латиною. Отож, мене призначили на цю програму, і я насправді змусила її працювати. Вона навіть видавала відповіді латиною і грецькою. Я була першою, хто змусив її працювати.
Оригінальний текст (англ.)
What they used to do when you came into this organization as a beginner, was to assign you this program which nobody was able to ever figure out or get to run. When I was the beginner they gave it to me as well. And what had happened was it was tricky programming, and the person who wrote it took delight in the fact that all of his comments were in Greek and Latin. So I was assigned this program and I actually got it to work. It even printed out its answers in Latin and Greek. I was the first one to get it to work.
«

— Маргарет Гамільтон, [15]

Саме завдяки зусиллям Маргарет, які вона доклала до цього проєкту, вона стала кандидатом на посаду в NASA як провідний розробник програмного забезпечення польотів для «Аполлон».

NASA[ред. | ред. код]

Гамільтон у 1969 році, стоячи поряд з навігаційною програмою, що вона і її команда з МІТ створили для проєкту «Аполлон»
Гамільтон у час її роботи провідним дизайнером програмного забезпечення польотів «Аполлон»

Гамільтон потім приєдналася до Лабораторії Чарльза Старка Дрейпера[en] Массачусетського технологічного інституту, яка в той час працювала над космічною місією «Аполлон». Згодом вона керувала командою, якій приписується розробка програмного забезпечення для Аполлона і Скайлеб.[16] Команда Гамільтон відповідала за розробку бортового програмного забезпечення,[17] що включало алгоритми, розроблені різними старшими вченими командного модуля Аполлона, посадкового модуля і далі Скайлеб.[18] Інша частина її команда змоделювала і розробила програмне забезпечення систем, яке включало програмне забезпечення для виявлення помилок і відновлення, таких як перезавантаження і режими показу (також «пріоритетні покази», англ. Priority Displays), що Гамільтон спроєктувала і розробила.[19] Вона напрацьовувала практичний досвід у часи, коли курси комп'ютерних наук були рідкістю, а курси програмної інженерії ще не існували.

Її спеціалізацією були проєктування систем[en] і розробка програмного забезпечення, моделювання підприємств[en] і процесів, парадигми розробки, формальні мови моделювання систем[en], системно-орієнтовані об'єкти для моделювання і розробки систем, автоматизовані середовища життєвого циклу, методи максимізації надійності програмного забезпечення і повторного використання, аналіз предметної області[en], досягнення коректності[en] за допомогою вбудованих властивостей мов, техніки з відкритою архітектурою для надійних систем, повна автоматизація життєвого циклу, забезпечення якості, плавна інтеграція, техніки виявлення помилок і відновлення, людино-машинний інтерфейс, операційні системи, техніки наскрізного тестування та управління життєвим циклом.[20]

Аполлон 11[ред. | ред. код]

В один із критичних моментів місії Аполлон 11 бортовий комп'ютер Аполлона разом з бортовим програмним забезпеченням польоту запобіг аварійному завершенню роботи програми висадки на Місяць. За три хвилини до того, як Місячний модуль досяг поверхні Місяця, спрацювало кілька комп'ютерних сигналізацій. Комп'ютер був перевантажений перериваннями, викликаними неправильними фазами електропостачання до радара модуля.[21][22][7] Програмні сигнали сповістили про «виконавче перевантаження», що означало, що бортовий комп'ютер не зміг завершити всі свої завдання в режимі реального часу і довелося відкласти деякі з них.[23] Асинхронне виконання, яке розробив Дж. Голком-Ланінг[en],[21][24] команда Гамільтон використала для розробки асинхронного бортового програмного забезпечення:

«

Внаслідок того, що техніки виявлення помилок і відновлення бортового програмного забезпечення містили підхід до відкотів в масштабі системи у вигляді «вимкнути та перерахувати» з «безпечного місця», Display Interface Routines (або ж «пріоритетні покази») і їхні можливості людини-в-циклі можна було створити так, щоб мати змогу перервати нормальні покази місії астронавтів критичними сигналами у випадку надзвичайної ситуації. Це базувалося на тому, що ми присвоїли унікальний пріоритет кожному процесу в програмному забезпеченні, щоб переконатися, що всі його події будуть ставатися в правильному порядку і в потрібний час, відносно всього іншого, що відбувається.

Оригінальний текст (англ.)
Because of the flight software's system-software's error detection and recovery techniques that included its system-wide “kill and recompute” from a "safe place" restart approach to its snapshot and rollback techniques, the Display Interface Routines (AKA the priority displays) together with its man-in-the-loop capabilities were able to be created in order to have the capability to interrupt the astronauts' normal mission displays with priority displays of critical alarms in case of an emergency. This depended on our assigning a unique priority to every process in the software in order to ensure that all of its events would take place in the correct order and at the right time relative to everything else that was going on.
«

Сигнали пріоритетних показів Гамільтон перервали нормальні покази астронавтів, щоб попередити їх, що є аварійна ситуація, і «дати астронавтам прийняти рішення «далі/стоп»[en] (приземлятися чи не приземлятися)».[26] Джек Гарман[en], комп'ютерний інженер NASA в управлінні місії, розпізнав значення помилок, які були виведені для астронавтів, і крикнув: «Далі, далі!» І вони продовжили.[27] Доктор Пауло Курто, старший технолог, який номінував Гамілтон на NASA Space Act Award, назвав її роботу «основами ультранадійної розробки програмного забезпечення».

Гамільтон так описала цю подію:

«

Комп'ютер (чи радше програмне забезпечення в ньому) був достатньо розумним, щоб розпізнати, коли його просять виконати більше завдань, ніж він мав би виконувати. Тоді він видав сигнал астронавту, що означав «я перевантажений більшою кількістю завдань, ніж я мав би робити у цю мить, і я продовжу виконувати тільки найбільш важливі», тобто ті, які потрібні для приземлення … Насправді, комп'ютер був запрограмований на більше, ніж розпізнавання обставин помилки. У програмне забезпечення було вбудовано повний набір програм відновлення. Дія програмного забезпечення, в цьому разі, полягала у прибиранні менш пріоритетних завдань і поновленні найбільш важливих … Якби комп'ютер не розпізнав проблему і не виконав дій відновлення, я сумніваюся, що Аполлон здійснив би те успішне приземлення, яке йому вдалося.

Оригінальний текст (англ.)
The computer (or rather the software in it) was smart enough to recognize that it was being asked to perform more tasks than it should be performing. It then sent out an alarm, which meant to the astronaut, I'm overloaded with more tasks than I should be doing at this time and I'm going to keep only the more important tasks; i.e., the ones needed for landing ... Actually, the computer was programmed to do more than recognize error conditions. A complete set of recovery programs was incorporated into the software. The software's action, in this case, was to eliminate lower priority tasks and re-establish the more important ones ... If the computer hadn't recognized this problem and taken recovery action, I doubt if Apollo 11 would have been the successful moon landing it was.[28]
«

— Лист від Маргарет Г. Гамільтон, директора комп'ютерного програмування польотів Аполлона у Лабораторії Дрейпера у MIT, Кембридж, Массачусетс[29] , «Computer Got Loaded», Datamation[en], March 1, 1971[30]

Бізнес[ред. | ред. код]

З 1976 по 1984 рік, Гамільтон була директоркою компанії, яку вона співзаснувала, під назвою Higher Order Software (HOS), для подальшого розвитку ідей попередження помилок і відмовостійкості, що базувались на її досвіді в MIT.[31] Вони створили продукт під назвою USE.IT, на основі методики HOS, розробленої в MIT.[32][33][34] Він успішно використовувався у багатьох урядових проєктах.[35][36] Одним з важливих проєктів було формалізувати та реалізувати перший обчислюваний IDEF, C-IDEF для повітряних сил, що ґрунтувався на HOS.[джерело?]

Одна критична оцінка стверджувала, що крім декількох незалежних відгуків, методика HOS отримала невеликий аналіз, якщо не рахувати консультантів, які співпрацюють з компанією.[37] Ця оцінка, проведена консультантом ВМС США, стверджувала, що «літератури HOS, як правило, рекламує їхні ідеї й продукти більше, ніж робить внесок по суті у галузь комп'ютерних наук.» Едсгер Дейкстра описав програмне забезпечення USE.IT, як «механізований допоміжний засіб для застосування застарілих технологій».[38] Детальний аналіз теорії HOS і мови AXES використав Гарел для розробки похідної мови для більш сучасної форми структурованого програмування, похідної від HOS, під назвою мова програмування And/Or.[39] Посилаючись на класичну працю Дейкстри про структурне програмування, Девід Гарел[en] зазначає: «Як стане ясно, „шари“, в які організована програма, а це лежить в основі ідеї структурного програмування, відповідають рівням дерева». Далі Гарел показує, як HOS і похідна від нього мова програмування And/Or пов'язані з математичною логікою, теорією ігор і штучного інтелекту. Інші використовували HOS для формалізації семантики лінгвістичних квантифікаторів[40] та формалізації дизайну надійних вбудованих систем реального часу[41]

Гамільтон покинула компанію HOS в 1985 році. У березні 1986 року вона стала засновницею і генеральним директором Hamilton Technologies, Inc. в Кембриджі, штат Массачусетс. Діяльність компанії зосереджувалася навколо мови Universal Systems Language[en] (USL) і пов'язаного з нею автоматизованого середовища, та 001 Tool Suite, заснованого на парадигмі «розробки перед фактом» (DBTF) для проєктування систем і розробки програмного забезпечення.[42][43][44]

Спадщина[ред. | ред. код]

Офіційне фото для НАСА, 1989

Гамільтон придумала термін «програмна інженерія» у часи космічної місії Аполлон[сумнівно ]:

«

За цей час в Массачусетському технологічному інституті, вона хотіла надати їхньому програмному забезпеченню "легітимності", такої ж, як в інших інженерних дисциплін, щоб йому (і тим, хто його створює) віддавали належну повагу. Як результат, вона вигадала термін "програмна інженерія", щоб відрізнити її від інших видів інженерії.

Оригінальний текст (англ.)
During this time at MIT, she wanted to give their software “legitimacy”, just like with other engineering disciplines, so that it (and those building it) would be given its due respect; and, as a result she made up the term “software engineering” to distinguish it from other kinds of engineering.
«

Гамільтон докладно описує, як вона прийшла до терміну «програмна інженерія»:

«

Коли я вперше придумала цей термін, ще ніхто не чув про це раніше, принаймні в нашому світі. Це було постійним жартом упродовж тривалого часу. Вони любили підсміюватися з мене за мої радикальні ідеї. Це був незабутній день, коли один з найбільш шанованих гуру апаратного забезпечення пояснив усім на зборах, що він згоден зі мною, що процес створення програмного забезпечення має також розглядатися як інженерна дисципліна, нарівні з апаратною інженерією. Не тому, що він приймає новий "термін" як такий, а тому, що ми заслужили його і прийняття від інших у кімнаті цю присутність в інженерній галузі у своєму власному праві."

Оригінальний текст (англ.)
When I first came up with the term, no one had heard of it before, at least in our world. It was an ongoing joke for a long time. They liked to kid me about my radical ideas. It was a memorable day when one of the most respected hardware gurus explained to everyone in a meeting that he agreed with me that the process of building software should also be considered an engineering discipline, just like with hardware. Not because of his acceptance of the new 'term' per se, but because we had earned his and the acceptance of the others in the room as being in an engineering field in its own right.
«

Коли Гамільтон почала використовувати термін «програмна інженерія»,[47][48][49] програмна інженерія не сприймалася всерйоз проти іншої інженерії[50] і не розглядалася як наука. Вона почала використовувати термін «програмна інженерія» у час на ранніх місій Аполлона для того, щоб надати програмному забезпеченню такої ж легітимності, як в інших галузей, таких як апаратна інженерія. З плином часу, термін «програмна інженерія» отримав таку ж повагу, як і будь-яка інша дисципліна.[51] «В MIT вона допомагала зі створенням основоположних принципів комп'ютерного програмування, оскільки працювала зі своїми колегами над написанням коду для першого у світі портативного комп'ютера».[52] Інновації Гамільтон виходять далеко за відігравання важливої ролі в доставці людей на Місяць. Гамільтон, як і багато інших жінок-інженерів, кинула виклик чоловічому домінуванню у галузі STEM того часу, щоб дозволити входженню жінок у ці галузі в прийдешні роки.[53]

Автори книжки про Site Reliability Engineering[en] вважають що вона була першим Site Reliability інженером.[54]

Нагороди[ред. | ред. код]

  • У 1986 році вона отримала премію Ади Августи Лавлейс від Association for Women in Computing. Ця нагорода присуджується особам, які досягли успіху в одній (або обох) з двох областей: 1) Видатні наукові і технічні досягнення і 2) Надзвичайний внесок в обчислювальну спільноту на основі досягнень і внесок обчислювальну галузь від імені жінок.[55]
  • У 2003 році їй вручили NASA Exceptional Space Act Award за науковий і технічній внесок. Премія включала грошову винагороду в розмірі 37 200 доларів США, це найбільша сума, присуджена будь-кому в історії НАСА.[56][57][58]
  • У 2009 році вона отримала Нагороду видатного випускника Ерлгем-коледжу[en].
  • У 2016 році вона отримала президентську медаль Свободи від Барака Обами, найвищу цивільну відзнаку у США.[59][60]
  • 28 квітня 2017 року, вона отримала Computer History Museum Fellow Award, яка відзначає виняткових чоловіків і жінок, чиї ідеї змінили світ.[61][62]
  • У 2017 році, надійшов у продаж набір Лего «Жінки НАСА», що містив (крім інших речей) міні-фігурки Гамільтон, Мей Джемісон, Саллі Райд, і Ненсі Грейс Роман.[63]

Особисте життя[ред. | ред. код]

Свого чоловіка, Джеймса Кокс Гамільтона, зустріла в Ерлгем-коледжі. Вони одружилися в кінці 1950-х років після того, як Гамільтон здобула ступінь бакалавра. У них народилася дочка Лорен, яка згодом вийшла заміж за мільярдера, актора, танцюриста і хореографа Джеймса Кокса Чемберса[en]. У вихідні дні вона часто брала Лорен у лабораторію, щоб провести час зі своєю дочкою й одночасно «написати код, створюючи підпрограми, які надалі будуть додані бортовий комп'ютер Аполлона». Маргарет Гамілтон і Джеймс Кокс Гамільтон згодом розлучилися.[64]

Публікації[ред. | ред. код]

Див. також[ред. | ред. код]

Примітки[ред. | ред. код]

  1. а б в г д https://www.computerhistory.org/atchm/2017-chm-fellow-margaret-hamilton/
  2. Wayne T. K. American Women of Science Since 1900ABC-CLIO, 2011.
  3. http://www.earlham.edu/alumni/homecoming-and-reunions/alumni-awards/award-recipient-archives/2009-outstanding-alumni-and-distinguished-service-awards/
  4. Tiffany K. Wayne (2011). American Women of Science Since 1900. ABC-CLIO. с. 480–1. ISBN 978-1-59884-158-9. Архів оригіналу за 17 березня 2015. Процитовано 8 грудня 2017. 
  5. NASA Software Engineering Division/Code 580. Архів оригіналу за 13 березня 2022. Процитовано 17 березня 2022. 
  6. NASA Office of Logic Design «About Margaret Hamilton» Архівовано 27 квітня 2017 у Wayback Machine. (Last Revised: February 03, 2010)
  7. а б M. Hamilton, W.R. Hackler (December 2008). Universal Systems Language: Lessons Learned from Apollo. IEEE Computer. doi:10.1109/MC.2008.541. 
  8. White House honors two of tech's female pioneers. Архів оригіналу за 27 квітня 2017. Процитовано 7 червня 2017. 
  9. President Obama Names Recipients of the Presidential Medal of Freedom. 16 листопада 2016. Архів оригіналу за 22 листопада 2016. Процитовано 7 червня 2017. 
  10. Ruth Esther Heafield. Wujek-Calcaterra & Sons. Архів оригіналу за 16 грудня 2014. Процитовано 15 грудня 2014. 
  11. 2009 Outstanding Alumni and Distinguished Service Awards. Earlham College. Архів оригіналу за 18 травня 2015. Процитовано 15 грудня 2014. 
  12. Pioneers in Computer Science. Архів оригіналу за 17 вересня 2016. Процитовано 8 грудня 2017. 
  13. Margaret Hamilton: The Untold Story of the Woman Who Took Us to the Moon. Futurism (амер.). 20 липня 2016. Архів оригіналу за 20 грудня 2016. Процитовано 12 грудня 2016. 
  14. Lorenz, Edward (March 1962). The Statistical Prediction of Solutions. the Meteorological Society of Japan. 
  15. AGC – Conference 1: Margaret Hamilton's introduction. authors.library.caltech.edu. Архів оригіналу за 31 січня 2016. Процитовано 9 грудня 2015. 
  16. About Margaret Hamilton. NASA Office of Logic Design. Архів оригіналу за 27 квітня 2017. Процитовано 9 квітня 2017. 
  17. NASA – NASA Engineers and Scientists-Transforming Dreams Into Reality. nasa.gov. Архів оригіналу за 29 червня 2010. Процитовано 8 грудня 2017. 
  18. Hoag, David (September 1976). The History of Apollo On-board Guidance, Navigation, and Control. Charles Stark Draper Laboratory. Архів оригіналу за 5 листопада 2016. Процитовано 8 грудня 2017. 
  19. Green, Alan (June 1967). Keyboard and Display Program and Operation. Charles Stark Draper Laboratory. с. 29. Архів оригіналу за 17 липня 2016. Процитовано 8 грудня 2017. 
  20. Weinstock, Maia (17 серпня 2016). Scene at MIT: Margaret Hamilton’s Apollo code. MIT News. Архів оригіналу за 18 серпня 2016. Процитовано 17 серпня 2016. 
  21. а б Eyles, Don. Tales from the Lunar Module Guidance Computer. Архів оригіналу за 20 липня 2016. Процитовано 8 грудня 2017. 
  22. Blair-Smith, Hugh (7 листопада 2011). System integration issues in Apollo 11. IEEE Aerospace and Electronic Systems Magazine (IEEE) 26 (11). doi:10.1109/MAES.2011.6065654. 
  23. Collins, Michael; Aldrin, Edwin E., Jr. (1975). A Yellow Caution Light. У Cortright, Edgar M. Apollo Expeditions to the Moon. Washington, D.C.: NASA. OCLC 1623434. NASA SP-350. Архів оригіналу за 19 лютого 2008. Процитовано 13 червня 2013.  Chapter 11.4.
  24. Mindell, David A. (30 вересня 2011). Digital Apollo. MIT Press. с. 149. 
  25. Snyder, Lawrence and Henry, Ray Laura, «Fluency7 with Information Technology», Pearson, ISBN 0-13-444872-3
  26. Hamilton, Margaret (17 липня 2009). Recalling the 'Giant Leap'. Архів оригіналу за 15 вересня 2016. Процитовано 8 вересня 2016. 
  27. Lickly, Dan (17 липня 2009). Recalling the 'Giant Leap'. Архів оригіналу за 15 вересня 2016. Процитовано 8 вересня 2016. 
  28. Hamilton, Margaret H. (1 березня 1971). Computer Got Loaded. Datamation (Letter) (Cahners Publishing Company). ISSN 0011-6963. 
  29. Rayl, A.J.S. (2008). NASA Engineers and Scientists-Transforming Dreams Into Reality. 50th Magazine. NASA. Архів оригіналу за 29 червня 2010. Процитовано 9 червня 2014. 
  30. Hamilton, Margaret H. (1 березня 1971). Computer Got Loaded. Datamation (Letter) (Cahners Publishing Company). ISSN 0011-6963. 
  31. AGC Biography – Margaret Hamilton. Архів оригіналу за 25 липня 2011. Процитовано 8 грудня 2017. 
  32. M. Hamilton, S. Zeldin (1976) «Higher order software—A methodology for defining software» IEEE Transactions on Software Engineering, vol. SE-2, no. 1, Mar. 1976.
  33. Thompson, Arthur A.; Strickland, A. J., (1996), «Strategic Management: Concepts and Cases», McGraw-Hill Companies, ISBN 0-256-16205-0
  34. Rowena Barrett (1 червня 2004). Management, Labour Process and Software Development: Reality Bites. Routledge. с. 42. ISBN 978-1-134-36117-5. Архів оригіналу за 17 березня 2015. Процитовано 8 грудня 2017. 
  35. M. Hamilton; S. Zeldin. Higher order software techniques applied to a space shuttle prototype program in Lecture Notes in Computer Science, vol. 19, G. Goos and J. Hartmanis, Ed. New York: Springer-Verlag, pp. 17–31, presented at Program Symp. Proc., Colloque sur la Programmation, Paris, France, April 9-11, 1974. 
  36. B. Cohen; W.T. Harwood; M.I. Jackson. The Specification of Complex Systems,. 
  37. Huber, Hartmut (August 1987). Higher Order Software – Evaluation and Critique. Naval Surface Warfare Center. Архів оригіналу за 7 травня 2016. Процитовано 8 грудня 2017. 
  38. Dijkstra, Edsgar (7 квітня 1983). Judging "HOS" From a Distance. Архів оригіналу за 5 березня 2016. Процитовано 8 грудня 2017. 
  39. Harel, David (April 1979). And/Or Programs: A New Approach to Structured Programming. Архів оригіналу за 18 жовтня 2016. Процитовано 8 грудня 2017. 
  40. Cushing, Steven. ABSTRACT CONTROL STRUCTURES. AND THE SEMANTICS OF QUANTIFIERS. Computer Science Department, St. Anselm College. Архів оригіналу за 19 жовтня 2016. Процитовано 8 грудня 2017. 
  41. Holland, Michael (June 1997). A Constrained Interface Refinement Method for Embedded System Design. Department of Computing. MPCE, Macquarie University. Архів оригіналу за 27 вересня 2017. Процитовано 8 грудня 2017. 
  42. Krut, Jr., B., (1993) «Integrating 001 Tool Support in the Feature-Oriented Domain Analysis Methodology Архівовано 26 червня 2013 у Wayback Machine.» (CMU/SEI-93-TR-11, ESC-TR-93-188), Pittsburgh, SEI, Carnegie Mellon University.
  43. Ouyang, M., Golay, M.W. (1995), An Integrated Formal Approach for Developing High Quality Software of Safety-Critical Systems Архівовано 19 лютого 2015 у Wayback Machine., Massachusetts Institute of Technology, Cambridge, MA, Report No. MIT-ANP-TR-035.
  44. Software Productivity Consortium, (SPC) (December 1998), Object-Oriented Methods and Tools Survey, Herndon, VA.SPC-98022-MC, Version 02.00.02.
  45. Margaret Hamilton 2017 Fellow. Computer History Museum. Архів оригіналу за 29 червня 2017. Процитовано 8 грудня 2017. 
  46. Snyder, Lawrence and Henry, Ray Laura, «Fluency with Information Technology», Pearson, ISBN 0-13-444872-3
  47. Rayl, A.J.S. (16 жовтня 2008). NASA Engineers and Scientists-Transforming Dreams Into Reality. 50th Magazine. NASA. Архів оригіналу за 29 червня 2010. Процитовано 27 грудня 2014. 
  48. Cambridge woman helped put a man on the moon. Архів оригіналу за 18 серпня 2016. Процитовано 8 грудня 2017. 
  49. The NASA Heritage Of Creativity. Архів оригіналу за 29 травня 2016. Процитовано 8 грудня 2017. 
  50. Makers:Margaret Hamilton Videos. Makers.com. Архів оригіналу за 5 вересня 2017. Процитовано 8 грудня 2017. 
  51. Verne (25 грудня 2014). Margaret Hamilton, the Engineer Who Took the Apollo to the Moon. Medium. Архів оригіналу за 13 квітня 2016. Процитовано 29 квітня 2016. 
  52. Her Code Got Humans on the Moon—And Invented Software Itself. WIRED (амер.). Архів оригіналу за 23 жовтня 2015. Процитовано 29 квітня 2016. 
  53. Software — and a Woman — at the Heart of Lunar Triumph. WIRED (амер.). Архів оригіналу за 5 травня 2016. Процитовано 29 квітня 2016. 
  54. Архівована копія. Архів оригіналу за 10 квітня 2019. Процитовано 10 квітня 2019. 
  55. Ada Lovelace Awards. Association for Women in Computing. Архів оригіналу за 14 квітня 2016. Процитовано 8 грудня 2017. 
  56. Michael Braukus NASA News «NASA Honors Apollo Engineer» Архівовано 24 листопада 2010 у Wayback Machine. (Sept. 3, 2003)
  57. NASA Press Release «NASA Honors Apollo Engineer» Архівовано 26 грудня 2017 у Wayback Machine. (September 03, 2003)
  58. NASA Administrator Sean O'Keefe has commented saying «The concepts she and her team created became the building blocks for modern software engineering. It's an honor to recognize Ms. Hamilton for her extraordinary contributions to NASA.»
  59. President Obama Names Recipients of the Presidential Medal of Freedom. Office of the Press Secretary. Архів оригіналу за 22 листопада 2016. Процитовано 16 листопада 2016. 
  60. Honour for software writer on Apollo moon mission (English). BBC News. 23 листопада 2016. Архів оригіналу за 24 листопада 2016. Процитовано 23 листопада 2016. 
  61. The 2017 Fellow Award Honorees. Computer History Museum. Архів оригіналу за 19 грудня 2017. Процитовано 8 грудня 2017. 
  62. The 2017 Fellow Award Acceptance Speech. Computer History Museum. Архів оригіналу за 10 липня 2020. Процитовано 8 грудня 2017. 
  63. Science (22 червня 2017). Women of NASA Lego toy set now on sale for $24.99. Business Insider. Архів оригіналу за 1 листопада 2017. Процитовано 1 листопада 2017. 
  64. Stickgold, Emma (31 серпня 2014). James Cox Hamilton, at 77; lawyer was quiet warrior for First Amendment. Boston Globe. Архів оригіналу за 16 грудня 2014. Процитовано 15 грудня 2014. 

Джерела[ред. | ред. код]

Посилання[ред. | ред. код]