Margaret Heafield Hamilton (talaffuzi: Margaret Xeyfild Hamilton; 1936-yil 17-avgust, Paoli, Indiana, AQSh) — amerikalik kompyuter olimi, tizim muhandisi va biznes egasi. U Massachusets Texnologiya Instituti (MIT) qoshidagi oʻlchov tizimlari laboratoriyasining dasturiy taʼminotni ishlab chiqish boʻlimi boshligʻi edi. Boʻlim NASAning Apollon kosmik dasturi uchun bortda dasturiy taʼminotni ishlab chiqdi. U 1976-yilda Higher Order Software kompaniyasiga, 1986-yilda Kembrijda, Massachusets shtatida Hamilton Technologies, Inc.ga asos solgan.
Hamilton oltmishta loyiha va oltita asosiy dastur boʻyicha 130 dan ortiq ilmiy maqolalar va hisobotlarni nashr etgan. U „dasturiy taʼminotni ishlab chiqish“ atamasi bilan bogʻliq boʻlgan mutaxassislardan biridir.
2016-yil 22-noyabrda Xemilton NASAning Oy dasturi uchun bortli dasturiy taʼminotni ishlab chiqishga olib borgan faoliyati uchun Barak Obamadan Prezidentning Ozodlik medalini oldi.
Margaret Xeyfild 1936-yil 17-avgustda Indiana shtatining Paoli shahrida Kennet va Rut Ester Xeyfild oilasida tugʻilgan. 1954-yilda Xankok oʻrta maktabini tugatgandan soʻng u Michigan universitetida matematika boʻyicha tahsil oldi. 1958-yilda u Earlham kollejida matematika va falsafa (mutaxassislik boʻlmagan) boʻyicha bakalavr darajasini oldi.
Oʻqishni tamomlagandan soʻng, Margaret qisqa vaqt davomida oʻrta maktabda matematika va fransuz tilidan dars berdi, Garvard universitetida bakalavr darajasida ishlagan eri oilasini boqdi. Keyin u Brandeys universitetida abstrakt matematika boʻyicha aspiranturani tamomlash uchun Bostonga koʻchib oʻtdi. Hamilton Erlxem kollejining matematika boʻlimi boshligʻi Florens Longning yordami bilan mavhum matematika boʻyicha professor boʻlganini taʼkidlaydi.[1] Boshqa ilhomlar qatorida, hozir texnologiya olamidan tashqarida, u faylasuf va shoir boʻlgan otasi hamda maktab direktori va Kvaker vaziri boʻlgan bobosi falsafa boʻyicha ilmiy darajaga ega boʻlishda taʼsirli boʻlgan deb hisoblaydi.[2]
1959-yilning yozida Hamilton Edvard Lorenz uchun MIT meteorologiya boʻlimida ishlay boshladi.[3] U Marvin Minskining MAC loyihasida LGP-30 va PDP-1 kompyuterlari uchun ob-havo prognozi dasturlarini ishlab chiqishda ishtirok etgan.[4][5][6] U Lorentzning xaos nazariyasi boʻyicha ishiga hissa qoʻshgan. Oʻsha paytda kompyuter fanlari va dasturiy taʼminotni ishlab chiqish hali yoʻlga qoʻyilmagan va dasturchilar ish joyida oʻzlarining amaliy tajribalaridan oʻrganganlar.[7] 1961-yil yozida u boshqa loyihaga oʻtdi, oʻrniga Эллен Феттер[en]ni yolladi va tayyorladi.[3]
1961-yildan 1963-yilgacha Hamilton Linkoln laboratoriyasining SAGE (Yarim avtomatik yer muhiti) loyihasida ishlagan[5], bu yerda u AN/FSQ-7 (XD-1) prototipini qidirish uchun dasturiy taʼminot yaratgan dasturchilardan biri boʻlgan. U, shuningdek , Kembrij tadqiqot laboratoriyalarida havo kuchlarining sunʼiy yoʻldoshlarini kuzatish loyihasi uchun dasturiy taʼminot yozgan.[5] SAGE loyihasi MIT tomonidan ob-havo tizimlarini bashorat qilish va simulyatorlar yordamida ularning harakatini kuzatish uchun kompyuter tizimini yaratish uchun boshlangan Whirlwind loyihasining davomi edi. SAGE tez orada Sovuq urush davrida mumkin boʻlgan Sovet hujumiga qarshi havo mudofaasida harbiy foydalanish uchun ishlab chiqilgan. „Ushbu tashkilotga kelganingizda, odatda sizga boshlangʻich sifatida hech kim tushuna olmagan yoki ishlay olmagan ushbu dastur beriladi; va men bilan ham xuddi shunday edi. Buni dasturlash qiyin ish boʻlib chiqdi va dastur kodini kim yozgan boʻlsa, u yunon va lotin tillarida sharh qoldirishdan zavq oldi. Va shuning uchun ular meni ushbu dasturga qoʻyishdi, lekin men uni baribir ishga tushiraman. Dastur hatto lotin va yunon tillarida javoblarni chop etdi. Men buni birinchi boʻlib ishga solganman“ degan edi u. Aynan Hamiltonning ushbu loyihadagi saʼy-harakatlari uni NASAning Apollon dasturi uchun dasturiy taʼminotni ishlab chiqaruvchi etakchisiga nomzod qilib koʻrsatdi.[8]
Keyin Hamilton Apollon dasturida ishlagan MITdagi Draper Lab jamoasiga qoʻshildi. Oxir-oqibat, u Apollon kosmik kemasi va Skylab orbital stantsiyasi uchun dasturiy taʼminotni ishlab chiqish bilan shugʻullanadigan guruhga rahbarlik qildi.[11] Hamilton jamoasi parvoz dasturi uchun mas’ul edi[12], unga Apollon qoʻmondon moduli, Oyga qoʻnuvchi va Skylab uchun bir nechta eng yaxshi olimlar tomonidan ishlab chiqilgan algoritmlar kiradi.[7][7][13] Uning jamoasining yana bir qismi tizim dasturini ishlab chiqdi. U Gamilton ishlab chiqqan qayta ishga tushirish va „Indikatsiya interfeysi protseduralari“ (shuningdek, „Ustuvor koʻrsatkichlar“ deb nomlanuvchi) kabi xatolarni aniqlash va tuzatish dasturlarini oʻz ichiga oladi.[14] U kompyuter fanlari kurslari kamdan-kam boʻlgan va dasturiy taʼminot muhandisligi kurslari hali mavjud boʻlmagan bir paytda amaliy tajriba orttirish uchun ishlagan.[7] Hamilton dasturiy taʼminotni ishlab chiqish boʻlimi boshligʻi sifatida ham ishlagan.[15]
Uning tajriba sohalariga tizimlar arxitekturasi va dasturiy taʼminotni ishlab chiqish, biznes-jarayonlarni modellashtirish va korporativ darajadagi biznes-jarayonlarni modellashtirish, rivojlanish paradigmasi, rasmiy tizimlarni modellashtirish tillari, tizimni modellashtirish va ishlab chiqish uchun tizimga yoʻnaltirilgan obyektlar, avtomatlashtirilgan hayot aylanishi muhiti va kodni qayta ishlatish stavkalari, ilovalar domenini tahlil qilish, oʻrnatilgan til vositalari bilan algoritm toʻgʻriligi, ishonchli tizimlar ochiq arxitektura texnikasi, toʻliq hayot aylanishini avtomatlashtirish, sifatni taʼminlash usullari, uzluksiz integratsiya, xatolarni aniqlash va tuzatish usullari, foydalanuvchi interfeyslari, operatsion tizimlar, yakuniy to-end sinovlari, hayot aylanishini boshqarish texnikasi dasturiy taʼminot sifatini oshirish usullari kiradi.[7][9]
Apollon 11 dasturining muhim daqiqalaridan birida bort kompyuterining parvoz dasturi oyga qoʻnishni toʻxtatib qoʻyishning oldini oldi. Oy moduli oy yuzasiga yetib borishidan uch daqiqa oldin bir nechta signal signallari chalindi. Oy modulining radariga etkazib berilgan quvvatning notoʻgʻri fazasi tufayli kompyuter uzilishlar bilan haddan tashqari yuklangan.[16] Dastur signallari „ijroiya tizimining toʻlib ketishi“ ni koʻrsatdi, yaʼni asosiy kompyuter real vaqtda barcha vazifalarni bajara olmadi va baʼzilarini keyinga qoldirdi.[17] J Laning tomonidan ishlab chiqilgan asinxron ijro moduli[16][18] Gamilton jamoasi tomonidan asinxron parvoz dasturini ishlab chiqish uchun ishlatilgan:
Parvoz dasturiy ta'minotining tizimli qismidagi xatolarni aniqlash va tiklash usullari orqali "xavfsiz joy" qayta ishga tushirish yondashuvidan tizimni suratga olish va orqaga qaytarish texnikasiga qadar tizimli "o'ldirish va qayta hisoblash" yondashuvini o'z ichiga olgan. Xulq-atvor biz dasturiy ta'minotda har bir jarayon uchun belgilagan noyob ustuvorliklarga bog'liq edi - bu barcha hodisalar boshqa hodisalarga nisbatan to'g'ri vaqtda va to'g'ri tartibda sodir bo'lishini ta'minladi.
Hamiltonning ustuvor signallari astronavtlarni favqulodda vaziyat yuzaga kelganligi haqida ogohlantirish uchun oddiy displeylarini toʻxtatib, „kosmonavtlarga qoʻnish yoki qoʻnmaslikni tanlash imkoniyatini berdi“.[19] NASA missiyasini boshqarish muhandisi Jek Garman astronavtlar ustuvor displeylarda koʻrgan xatolarning maʼnosini tushunib, baqirdi: „Kelinglar, kelinglar!“. Va ular qoʻnishni davom ettirdilar.[20] Xemiltonni NASA kosmik qonuni mukofotiga nomzod qilib koʻrsatgan katta texnolog Pol Kurtauld uning ishini „oʻta ishonchli dasturiy taʼminot dizaynining asosi“ deb atadi.
1976-yilda Hamilton va uning hamkori MITdagi tajribalariga tayangan holda xatolarning oldini olish va dasturiy taʼminotning xatolarga chidamliligi haqidagi gʻoyalarni yanada rivojlantirish uchun Higher Order Software (HOS)[21] nomli kompaniyaga asos soldi.[22] Ular USE dasturiy mahsulotini yaratdilar. MITda ishlab chiqilgan HOS metodologiyasiga asoslangan IT.[23][24] U koʻplab davlat loyihalarida muvaffaqiyatli qoʻllanilgan.[25][26] Eʼtiborga molik loyihalardan biri IDEFning avtomatlashtirilgan versiyasi boʻlgan C-IDEF ni rasmiylashtirish va amalga oshirish boʻldi, bu AQSh Harbiy-havo kuchlari tomonidan Integratsiyalashgan kompyuter quvvatli ishlab chiqarish (ICAM) loyihasida ishlab chiqilgan modellashtirish tilidir.[27]
Kompyuter (aniqrog'i undagi dasturiy ta'minot) undan kerak bo'lgandan ko'ra ko'proq vazifalarni bajarish so'ralayotganini tushunadigan darajada aqlli edi. Keyin u ogohlantirish yubordi, ya'ni "Men hozir bajarishim kerak bo'lgandan ko'ra ko'proq vazifalar bilan to'lib-toshganman va faqat eng muhim vazifalarni qoldiraman"; ya'ni qo'nish uchun zarur bo'lgan vazifalar... Aslida, kompyuter xatolarni tan olishdan ko'ra ko'proq narsani qilish uchun dasturlashtirilgan. Dasturiy ta'minotda tiklash protseduralarining to'liq to'plami jalb qilingan. Bunday holda dasturiy ta'minot pastroq ustuvor vazifalarni olib tashladi va muhimroq vazifalarni tikladi... Agar kompyuter bu muammoni tan olmaganida va tiklash choralarini ko'rmaganida, Apollon 11 oyga muvaffaqiyatli qo'ngan bo'lishiga shubha qilaman.
Hamilton 1984-yilgacha HOS bosh direktori boʻlgan va 1985-yilda kompaniyani tark etgan. 1986-yil mart oyida u Massachusets shtatining Kembrij shahrida Hamilton Technologies kompaniyasiga asos solgan. Kompaniya USL tili va u bilan bogʻliq avtomatlashtirilgan muhit — 001 Tool Suite atrofida tizim dizayni va dasturiy taʼminotni ishlab chiqish uchun „Haqiqatdan oldin dizayn“ paradigmasi asosida qurilgan.
Hamilton, Entoni Ottinger va Barri Bom „dasturiy taʼminot muhandisligi“ intizomini yaratganlar.[28][29] Hamiltonga koʻra:
MITda u boshqa muhandislik fanlarida bo'lgani kabi o'zining dasturiy ta'minotiga ham "qonuniylik" berishni xohladi, shunda dasturiy ta'minot ham, uni ishlab chiquvchilar ham o'zlariga munosib bo'lgan kreditni olishadi. Natijada, u boshqa ishlanma turlaridan farqlash uchun "dasturiy ta'minotni ishlab chiqish" atamasini kiritdi.
Gamilton „dasturiy taʼminot muhandisligi“ atamasini Apollonning dastlabki dasturlari davrida qoʻllashni boshlaganida,[30][31] boshqa rivojlanish turlari bilan solishtirganda, dasturiy taʼminot muhandisligi jiddiy qabul qilinmadi[32] va fan hisoblanmadi. Vaqt oʻtishi bilan „dasturiy taʼminotni ishlab chiqish“ atamasi boshqa texnik fanlar kabi hurmatga sazovor boʻldi.[28][33] IEEE Software jurnalining 2018-yil sentyabr-oktyabr sonida dasturiy taʼminot ishlab chiqilishining 50 yilligi nishonlandi.[34] Hamilton „xatolar“, ular dasturiy taʼminotni ishlab chiqishga qanday taʼsir qilgani va tizimdagi aksariyat „xatolar“ ning oldini olish uchun USL dan qanday foydalanish mumkinligi haqida gapiradi. „ Wired“ jurnalida Robert Makmillan taʼkidlaganidek, „MITda Hamilton hamkasblari bilan birgalikda dunyodagi birinchi portativ kompyuter kodini yozish orqali dasturlash asoslarini oʻrnatishga yordam berdi“.[35] Karen Tegan Padid Wired nashrida shunday deb yozgan edi: „U yana bir dasturlash kashshofi, COBOL tilini yaratuvchisi Greys Xopper bilan birga ayollarni dasturiy taʼminotning texnik sohasida muvaffaqiyatga erishishda katta xizmatlari bor“.[36][37]
Men bu atamani birinchi marta kiritganimda hech bo'lmaganda bizning dunyomizda bu haqda hech kim eshitmagan edi. Odamlar mening radikal g'oyalarim haqida gapirib meni masxara qilishni yaxshi ko'rishardi. Texnik yig'ilishda eng hurmatli "apparat" guruslaridan biri men bilan hamfikr bo'lganini tushuntirgan kunni unutmayman, chunki u dasturiy ta'minotni yaratish jarayoni ham, xuddi apparatda bo'lgani kabi, muhandislik intizomi sifatida ham ko'rib chiqilishi kerak degan edi.
Gamilton „dasturiy taʼminot muhandisligi“ atamasini Apollonning dastlabki dasturlari davrida qoʻllashni boshlaganida,[38] boshqa rivojlanish turlari bilan solishtirganda, dasturiy taʼminot muhandisligi jiddiy qabul qilinmadi[32] va fan hisoblanmadi. Vaqt oʻtishi bilan „dasturiy taʼminotni ishlab chiqish“ atamasi boshqa texnik fanlar kabi hurmatga sazovor boʻldi.[28][33] IEEE Software jurnalining 2018-yil sentyabr-oktyabr sonida dasturiy taʼminot ishlab chiqilishining 50 yilligi nishonland.[34] Hamilton „xatolar“, ular dasturiy taʼminotni ishlab chiqishga qanday taʼsir qilgani va tizimdagi aksariyat „xatolar“ ning oldini olish uchun USL dan qanday foydalanish mumkinligi haqida gapiradi. „ Wired“ jurnalida Robert Makmillan taʼkidlaganidek, „MITda Hamilton hamkasblari bilan birgalikda dunyodagi birinchi portativ kompyuter kodini yozish orqali dasturlash asoslarini oʻrnatishga yordam berdi“.[35] Karen Tegan Padid Wired nashrida shunday deb yozgan edi: „U yana bir dasturlash kashshofi, COBOL tilini yaratuvchisi Greys Xopper bilan birga ayollarni dasturiy taʼminotning texnik sohasida muvaffaqiyatga erishishda katta xizmatlari bor“.[36][37]
Margaret eri James Koks Hamilton bilan Erlxem kollejida oʻqiyotganda tanishgan. Ular 1950-yillarning oxirida Hamilton bakalavr darajasini olganidan keyin turmush qurishdi. Ularning Loren ismli qizi bor edi. Er-xotin ajrashgan.[48]