Маргарет Гефілд (, у шлюбі Гамільтон, , нар. 17 серпня 1936, Паолі) — американська програмістка, науковиця в галузі інформатики, інженерка систем і підприємиця. Була директоркою відділу програмної інженерії , яка розробила бортове програмне забезпечення для польоту в рамках космічної програми «Аполлон».NASA Office of Logic Design «About Margaret Hamilton» (Last Revised: February 03, 2010) У 1986 році стала засновницею і генеральною директоркою Hamilton Technologies, Inc., у Кембриджі, штат Массачусетс. Компанія створена довкола мови Universal Systems Language, заснованої на її парадигмі «розробки перед фактом» (DBTF) для систем і проєктування програмного забезпечення.
Гамільтон опублікувала понад 130 наукових праць, тез і звітів по 60 проєктах і 6 великих програмах, у яких вона брала участь.
22 листопада 2016 року вона була нагороджена президентською медаллю Свободи від президента США Барака Обами за її роботу з керування розробкою бортового програмного забезпечення для польотів на Місяць у рамках проєкту NASA «Аполлон».
Ранні роки Маргарет Гефілд народилася у Паолі, штат Індіана, у сім'ї Кеннета і Рут-Естер (до шлюбу Партінгтон) Гефілдів. Після закінчення середньої школи Генкок в 1954 році, вона почала вивчала математику в університеті штату Мічиган в 1955 році та згодом здобула ступінь бакалавра математики з другою спеціалізацією з філософії в у 1958 році. Після випуску вона певний час викладала у школі математику і французьку мову, щоб підтримати чоловіка, котрий навчався на бакалавра в Гарварді, з кінцевою метою отримати диплом пізніше. Переїхала до Бостона, штат Массачусетс, з наміром написати диплом з абстрактної математики в університеті Брандейс. Вона згадує жінку-професора математики, яка підтримувала її прагнення вивчати абстрактну математику. Були й інші джерела натхнення за межами технологічного світу, зокрема її батько, філософ і поет, і її дід, директор школи і квакер-священнослужитель. Вона каже, що ці люди надихнули її на вивчення філософії. У 1960 році вона зайняла тимчасову посаду в Массачусетському технологічному інституті з розробки програмного забезпечення для прогнозування погоди на комп'ютерах LGP-30 і PDP-1 (у проєкт MAC Марвіна Мінскі) для професора Едварда Нортона Лоренца з факультету метеорології. Гамільтон тоді писала, що комп'ютерні науки і програмна інженерія ще не були дисциплінами; натомість програмісти навчалися на роботі з практичним досвідом.
З 1961 по 1963 рік вона працювала на у лабораторії Лінкольна, де була однією з програмістів, які писали програмне забезпечення для першого комп'ютера AN/FSQ-7 (а саме XD-1) для пошуку ворожих повітряних суден; вона також писала програмне забезпечення для .
Проєкт SAGE Проєкт SAGE був продовженням проєкту "Whirlwind", розпочатого Массачусетським технологічним інститутом для створення комп'ютерної системи, яка могла б прогнозувати погодні системи та відстежувати їхнє переміщення з допомогою симуляторів. Невдовзі SAGE було розроблено для військового використання у зенітній протиповітряній обороні від можливого радянського нападу під час «холодної війни». Гамільтон сказала:
Завдяки зусиллям Гамільтон, які вона доклала до цього проєкту, вона стала кандидаткою на посаду в NASA як провідна розробниця програмного забезпечення польотів для «Аполлон».
NASA
Гамільтон потім приєдналася до Массачусетського технологічного інституту, яка в той час працювала над космічною місією «Аполлон». Згодом вона керувала командою, якій приписується розробка програмного забезпечення для Аполлона і Скайлеб. Команда Гамільтон відповідала за розробку бортового програмного забезпечення, що включало алгоритми, розроблені різними старшими вченими командного модуля Аполлона, посадкового модуля і далі Скайлеб. Інша частина її команда змоделювала і розробила програмне забезпечення систем, яке включало програмне забезпечення для виявлення помилок і відновлення, таких як перезавантаження і режими показу (також «пріоритетні покази», ), що Гамільтон спроєктувала і розробила. Вона напрацьовувала практичний досвід у часи, коли курси комп'ютерних наук були рідкістю, а курси програмної інженерії ще не існували.
Її спеціалізацією були і розробка програмного забезпечення, і процесів, парадигми розробки, формальні мови , системно-орієнтовані об'єкти для моделювання і розробки систем, автоматизовані середовища життєвого циклу, методи максимізації надійності програмного забезпечення і повторного використання, , досягнення за допомогою вбудованих властивостей мов, техніки з відкритою архітектурою для надійних систем, повна автоматизація життєвого циклу, забезпечення якості, плавна інтеграція, техніки виявлення помилок і відновлення, людино-машинний інтерфейс, операційні системи, техніки наскрізного тестування та управління життєвим циклом.
Аполлон 11 В один із критичних моментів місії Аполлон 11 бортовий комп'ютер Аполлона разом з бортовим програмним забезпеченням польоту запобіг аварійному завершенню роботи програми висадки на Місяць. За три хвилини до того, як Місячний модуль досяг поверхні Місяця, спрацювало кілька комп'ютерних сигналізацій. Комп'ютер був перевантажений перериваннями, викликаними неправильними фазами електропостачання до радара модуля. Програмні сигнали сповістили про «виконавче перевантаження», що означало, що бортовий комп'ютер не зміг завершити всі свої завдання в режимі реального часу і довелося відкласти деякі з них. Chapter 11.4. Асинхронне виконання, яке розробив , команда Гамільтон використала для розробки асинхронного бортового програмного забезпечення:
Сигнали пріоритетних показів Гамільтон перервали нормальні покази астронавтів, щоб попередити їх, що є аварійна ситуація, і «дати астронавтам ухвалити рішення (приземлятися чи не приземлятися)». , комп'ютерний інженер NASA в управлінні місії, розпізнав значення помилок, які були виведені для астронавтів, і крикнув: «Далі, далі!» І вони продовжили. Доктор Пауло Курто, старший технолог, який номінував Гамільтон на NASA Space Act Award, назвав її роботу «основами ультранадійної розробки програмного забезпечення».
Гамільтон так описала цю подію:
Бізнес З 1976 по 1984 рік Маргарет Гамільтон була директоркою компанії, яку вона співзаснувала, під назвою Higher Order Software (HOS), для подальшого розвитку ідей попередження помилок і відмовостійкості, що базувались на її досвіді в MIT. Вони створили продукт під назвою USE.IT, на основі методики HOS, розробленої в MIT.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.Thompson, Arthur A.; Strickland, A. J., (1996), «Strategic Management: Concepts and Cases», McGraw-Hill Companies, Він успішно використовувався у багатьох урядових проєктах. Одним з важливих проєктів було формалізувати та реалізувати перший обчислюваний IDEF, C-IDEF для повітряних сил, що ґрунтувався на HOS.
Одна критична оцінка стверджувала, що крім кількох незалежних відгуків, методика HOS отримала невеликий аналіз, якщо не рахувати консультантів, які співпрацюють з компанією. Ця оцінка, проведена консультантом ВМС США, стверджувала, що «літератури HOS, як правило, рекламує їхні ідеї й продукти більше, ніж робить внесок по суті у галузь комп'ютерних наук.» Едсгер Дейкстра описав програмне забезпечення USE.IT, як «механізований допоміжний засіб для застосування застарілих технологій». Детальний аналіз теорії HOS і мови AXES використав Гарел для розробки похідної мови для сучаснішої форми структурованого програмування, похідної від HOS, під назвою мова програмування And/Or. Посилаючись на класичну працю Дейкстри про структурне програмування, зазначає: «Як стане ясно, „шари“, в які організована програма, а це лежить в основі ідеї структурного програмування, відповідають рівням дерева». Далі Гарел показує, як HOS і похідна від нього мова програмування And/Or пов'язані з математичною логікою, теорією ігор і штучного інтелекту. Інші використовували HOS для формалізації семантики лінгвістичних квантифікаторів та формалізації дизайну надійних вбудованих систем реального часу
Гамільтон покинула компанію HOS в 1985 році. У березні 1986 року вона стала засновницею і генеральним директором Hamilton Technologies, Inc. в Кембриджі, штат Массачусетс. Діяльність компанії зосереджувалася навколо мови (USL) і пов'язаного з нею автоматизованого середовища, та 001 Tool Suite, заснованого на парадигмі «розробки перед фактом» (DBTF) для проєктування систем і розробки програмного забезпечення.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.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.Software Productivity Consortium, (SPC) (December 1998), Object-Oriented Methods and Tools Survey, Herndon, VA.SPC-98022-MC, Version 02.00.02.
Спадщина
Гамільтон придумала термін «програмна інженерія» у часи космічної місії Аполлон:
Гамільтон докладно описує, як вона прийшла до терміну «програмна інженерія»:
Коли Гамільтон почала використовувати термін «програмна інженерія», програмна інженерія не сприймалася всерйоз проти іншої інженерії і не розглядалася як наука. Вона почала використовувати термін «програмна інженерія» у час на ранніх місій Аполлона для того, щоб надати програмному забезпеченню такої ж легітимності, як в інших галузей, таких як апаратна інженерія. З плином часу, термін «програмна інженерія» отримав таку ж повагу, як і будь-яка інша дисципліна. «В MIT вона допомагала зі створенням основоположних принципів комп'ютерного програмування, оскільки працювала зі своїми колегами над написанням коду для першого у світі портативного комп'ютера». Інновації Гамільтон виходять далеко за відігравання важливої ролі в доставленні людей на Місяць. Гамільтон, як і багато інших жінок-інженерок, кинула виклик чоловічому домінуванню у галузі STEM того часу, щоб дозволити входженню жінок у ці галузі в прийдешні роки.
Автори книжки про вважають, що вона була першою Site Reliability інженеркою.
Нагороди У 1986 році вона отримала премію Ади Августи Лавлейс від Association for Women in Computing. Цю нагороду присуджують особам, які досягли успіху в одній (або обох) з двох областей: 1) Видатні наукові і технічні досягнення і 2) Надзвичайний внесок в обчислювальну спільноту на основі досягнень і внесок обчислювальну галузь від імені жінок. У 2003 році їй вручили NASA Exceptional Space Act Award за науковий і технічній внесок. Премія включала грошову винагороду в розмірі 37 200 доларів США, це найбільша сума, присуджена будь-кому в історії НАСА.Michael Braukus NASA News «NASA Honors Apollo Engineer» (Sept. 3, 2003)NASA Press Release «NASA Honors Apollo Engineer» (September 03, 2003)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.» У 2009 році вона отримала Нагороду видатного випускника . У 2016 році вона отримала президентську медаль Свободи від Барака Обами, найвищу цивільну відзнаку у США. 28 квітня 2017 року вона отримала Computer History Museum Fellow Award, яка відзначає виняткових чоловіків і жінок, чиї ідеї змінили світ. У 2017 році надійшов у продаж набір Лего «Жінки НАСА», що містив (крім інших речей) міні-фігурки Гамільтон, Мей Джемісон, Саллі Райд і Ненсі Грейс Роман.
Особисте життя