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

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

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

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

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

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

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

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

  • 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 2004), 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. Tiffany K. Wayne (2011). American Women of Science Since 1900. ABC-CLIO. с. 480–1. ISBN 978-1-59884-158-9. 
  4. NASA Software Engineering Division/Code 580. 
  5. NASA Office of Logic Design «About Margaret Hamilton» (Last Revised: February 03, 2010)
  6. а б M. Hamilton, W.R. Hackler (December 2008). Universal Systems Language: Lessons Learned from Apollo. IEEE Computer. doi:10.1109/MC.2008.541. 
  7. White House honors two of tech's female pioneers. Процитовано 7 June 2017. 
  8. President Obama Names Recipients of the Presidential Medal of Freedom. 16 November 2016. Процитовано 7 June 2017. 
  9. Ruth Esther Heafield. Wujek-Calcaterra & Sons. Процитовано December 15, 2014. 
  10. 2009 Outstanding Alumni and Distinguished Service Awards. Earlham College. Процитовано December 15, 2014. 
  11. Pioneers in Computer Science. Архів оригіналу за 17 вересень 2016. Процитовано 8 грудень 2017. 
  12. Margaret Hamilton: The Untold Story of the Woman Who Took Us to the Moon. Futurism (en-US). 2016-07-20. Процитовано 2016-12-12. 
  13. Lorenz, Edward (March 1962). The Statistical Prediction of Solutions. the Meteorological Society of Japan. 
  14. Steven Levy (1984), Hackers: Heroes of the Computer Revolution, Chapter 5: The Midnight Computer Wiring Society. Doubleday. ISBN 0-385-19195-2.
  15. AGC – Conference 1: Margaret Hamilton's introduction. authors.library.caltech.edu. Процитовано 2015-12-09. 
  16. About Margaret Hamilton. NASA Office of Logic Design. Процитовано 9 April 2017. 
  17. NASA – NASA Engineers and Scientists-Transforming Dreams Into Reality. nasa.gov. 
  18. Hoag, David (September 1976). The History of Apollo On-board Guidance, Navigation, and Control. Charles Stark Draper Laboratory. 
  19. Green, Alan (June 1967). Keyboard and Display Program and Operation. Charles Stark Draper Laboratory. с. 29. 
  20. Weinstock, Maia (2016-08-17). Scene at MIT: Margaret Hamilton’s Apollo code. MIT News. Процитовано 2016-08-17. 
  21. а б Eyles, Don. Tales from the Lunar Module Guidance Computer. 
  22. Blair-Smith, Hugh (November 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. Процитовано June 13, 2013.  Chapter 11.4.
  24. Mindell, David A. (September 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 (2009-07-17). Recalling the 'Giant Leap'. Процитовано 2016-09-08. 
  27. Lickly, Dan (2009-07-17). Recalling the 'Giant Leap'. Процитовано 2016-09-08. 
  28. Hamilton, Margaret H. (March 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. Процитовано June 9, 2014. 
  30. Hamilton, Margaret H. (March 1, 1971). Computer Got Loaded. Datamation (Letter) (Cahners Publishing Company). ISSN 0011-6963. 
  31. AGC Biography – Margaret Hamilton. 
  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 June 2004). Management, Labour Process and Software Development: Reality Bites. Routledge. с. 42. ISBN 978-1-134-36117-5. 
  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. 
  38. Dijkstra, Edsgar (April 7, 1983). Judging "HOS" From a Distance. 
  39. Harel, David (April 1979). And/Or Programs: A New Approach to Structured Programming. 
  40. Cushing, Steven. ABSTRACT CONTROL STRUCTURES. AND THE SEMANTICS OF QUANTIFIERS. Computer Science Department, St. Anselm College. 
  41. Holland, Michael (June 1997). A Constrained Interface Refinement Method for Embedded System Design. Department of Computing. MPCE, Macquarie University. 
  42. 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.
  43. 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.
  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. 
  46. Snyder, Lawrence and Henry, Ray Laura, «Fluency with Information Technology», Pearson, ISBN 0-13-444872-3
  47. Rayl, A.J.S. (October 16, 2008). NASA Engineers and Scientists-Transforming Dreams Into Reality. 50th Magazine. NASA. Процитовано December 27, 2014. 
  48. Cambridge woman helped put a man on the moon. 
  49. The NASA Heritage Of Creativity. 
  50. Makers:Margaret Hamilton Videos. Makers.com. 
  51. Verne (2014-12-25). Margaret Hamilton, the Engineer Who Took the Apollo to the Moon. Medium. Процитовано 2016-04-29. 
  52. Her Code Got Humans on the Moon—And Invented Software Itself. WIRED (en-US). Процитовано 2016-04-29. 
  53. Software — and a Woman — at the Heart of Lunar Triumph. WIRED (en-US). Процитовано 2016-04-29. 
  54. https://landing.google.com/sre/sre-book/chapters/preface/
  55. Ada Lovelace Awards. Association for Women in Computing. 
  56. Michael Braukus NASA News «NASA Honors Apollo Engineer» (Sept. 3, 2003)
  57. NASA Press Release «NASA Honors Apollo Engineer» (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. Процитовано 2016-11-16. 
  60. Honour for software writer on Apollo moon mission (English). BBC News. 23 November 2016. Процитовано 23 November 2016. 
  61. The 2017 Fellow Award Honorees. Computer History Museum. 
  62. The 2017 Fellow Award Acceptance Speech. Computer History Museum. 
  63. Science (2017-06-22). Women of NASA Lego toy set now on sale for $24.99. Business Insider. Процитовано 2017-11-01. 
  64. Stickgold, Emma (August 31, 2014). James Cox Hamilton, at 77; lawyer was quiet warrior for First Amendment. Boston Globe. Процитовано December 15, 2014. 

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

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