1969‑yilgi Oyga qo‘nish insoniyat tarixidagi eng yirik texnologik yutuqlardan biri bo‘ldi. Bu yutuqning orqasida, ko‘plab muhandislar va olimlar, lekin ayniqsa bir ayolning ismi – Margaret Hamilton –ning kiritgan hissasi yotadi. Uning hayoti, ilmiy faoliyati va “defensive” dasturlash tamoyillarini yaratishi bugungi kunda ham software engineeringning asosi sifatida e’tirof etiladi.
Ilk qadamlar: ilm-fanga bo‘lgan qiziqish va MITga kirish
1936‑yilda Indiana shtatining Paoli shahrida tug‘ilgan Hamilton, dastlab Michigan universitetida matematika o‘rganishni boshladi, keyin esa Earlham kollejiga o‘tgandi. 1958‑yilda matematika bo‘yicha bakalavr darajasini, falsafa bo‘yicha kichik ixtisoslikni tamomlaganidan so‘ng, 1959‑yilda erini kuzatib, Boston shahriga ko‘chdi. MITda meteorologiya bo‘limida vaqtinchalik ishga joylashib, Edward N. Lorenz professorining ob-havo prognozlari uchun dasturiy ta'minot yaratish loyihasida ishtirok etdi. Bu tajriba uni kompyuter dasturlashiga jalb etdi va kelajakdagi kashfiyotlarining poydevorini qo‘ydi.
MIT Lincoln Laboratoriyasida SAGE loyihasi: dasturiy ishonchlilikka kirish
1961‑yilda Hamilton MIT Lincoln Laboratoriyasida yarim avtomatik yer nazorati tizimi (SAGE) ustida ishladi. U AN/FSQ‑7 kompyuteri uchun dastur yozdi, bu AQSh harbiy aviatsiyasining havodagi tahdidlarni aniqlash tizimi edi. Bu davrda u dasturiy ishonchlilik (software reliability) tushunchasiga qiziqishni boshladi – shu paytda bu atama deyarli noma’lum edi. SAGE loyihasidagi tajriba, keyinchalik Apollo dasturida “defensive” dasturlash tamoyillarini joriy etishiga zamin yaratdi.
Apollo dasturiga qo‘shgan hissasi: “defensive” dasturlashning tug‘ilishi
1965‑yilda MIT Instrumentation Labida “oyga odam yuborish” uchun dasturiy ta'minot ishlab chiqish e’lonini ko‘rgan Hamilton, birinchi marta Apollo loyihasiga qo‘shildi. U dastlab bevosita uchirilmagan missiyalar uchun kod yozdi, keyinchalik esa ekipajli missiyalar uchun on‑board flight software (OBFS) jamoasini boshqardi. 1968‑yilda u Command and Service Module (CSM) bo‘limining yordamchi direktori bo‘lib, 400‑dan ziyod muhandis va dasturchilarni boshqardi.
Hamiltonning “defensive” dasturlashga bo‘lgan yondashuvi, “Lauren error” deb atalgan voqeada namoyon bo‘ldi. Uning to‘rt yoshli qizi Lauren, laboratoriyada simulyatorni noto‘g‘ri bosib, P01 dasturini ishga tushirdi va bu simulyatorni ishdan chiqardi. Hamilton bu xatolikni bartaraf etish uchun dasturga qo‘shimcha tekshiruv qo‘shdi. Dastlab bu o‘zgartirishlar rad etildi, lekin 1968‑yil Apollo 8 missiyasida astronot Jim Lovell ham xuddi shunday xatoni qilganida, Hamilton va jamoasi bu muammoni tezda hal qildi va o‘zgartirishlar amalda qo‘llanildi. Bu holat, dasturiy ta'minotda “noaniq holatlarni oldindan ko‘ra olish” tamoyilining amaliy namunasiga aylandi.
Texnik tafsilotlar: prioritetli dasturiy arxitektura
Hamiltonning jamoasi “priority‑driven” (ustuvorlikka asoslangan) dasturiy arxitektura modelini yaratdi. Bu modelda har bir vazifa va jarayonning muhimligi oldindan belgilangan bo‘lib, real‑vaqt rejimida operatsion tizimga prioritetlar orqali boshqaruv berildi. Natijada, missiya davomida yuzaga kelgan favqulodda holatlarda, eng muhim kod bloklari birinchi bo‘lib bajarilib, xavfsizlikni ta’minladi. Ushbu yondashuv, hozirgi zamonaviy real‑vaqt operatsion tizimlarida (RTOS) keng qo‘llaniladi.
- Moduliylik – dastur kichik, mustaqil modularga bo‘linib, har bir modul alohida sinovdan o‘tkazildi.
- Yuklamani boshqarish – CPU resurslari cheklanganligi sababli, kodlar maksimal samaradorlik bilan ishlashga moslashtirildi.
- Hato izolyatsiyasi – har bir modulda xatolikni aniqlash va izolyatsiya qilish mexanizmlari joriy etildi.
Taqqoslash: Apollo dasturi va zamonaviy kosmik dasturlash
Bugungi kunda NASA va boshqa kosmik agentliklar, “software assurance” (dasturiy ta'minot kafolati) bo‘yicha qat’iy standartlarga amal qiladilar. Bu standartlar, Hamiltonning “defensive” dasturlash tamoyillariga asoslanadi. Masalan, SpaceX kompaniyasining Starlink sun’iy yo‘ldosh tarmog‘i, real‑vaqt prioritetli operatsion tizimlardan foydalangan holda, missiya xavfsizligini ta’minlaydi. Shuningdek, ESA (Yevropa Kosmik Agentligi) ham “fault‑tolerant” (xatolikga chidamli) arxitekturalarni qo‘llaydi – bu ham Hamiltonning yondashuvining zamonaviy davomidir.
Cheklovlar va ochiq savollar
Hamiltonning yondashuvi ko‘plab muvaffaqiyatlarga olib kelgan bo‘lsa-da, ba’zi cheklovlar ham mavjud. Dastlabki kodlar asosan “assembly” tilida yozilgan bo‘lib, o‘qish va parvarishlash qiyin bo‘ldi. Shuningdek, “manual” testlar ko‘p vaqt talab qilgan, avtomatlashtirilgan test tizimlari esa hozirgi kunda mavjud bo‘lgani kabi keng qo‘llanilmagan. Bu savollar, bugungi kunda “continuous integration/continuous deployment” (CI/CD) va avtomatik testlash metodologiyalarining ahamiyatini yanada oshiradi.
Ta’siri: kelajak avlod dasturchilarga ilhom
Margaret Hamilton nafaqat dasturiy ta'minotning texnik jihatlarini rivojlantirdi, balki ayollarni ilm‑fan va texnologiya sohalariga jalb qilishda ham peshqadam bo‘ldi. Uning hayoti, “dasturchi” so‘zini jinsiy stereotiplardan ozod qilishga xizmat qildi. 2016‑yilda Prezident Obama tomonidan “Presidential Medal of Freedom” mukofoti bilan taqdirlanganida, u “software engineeringni mustaqil fan sifatida belgilash” va “insoniyat tarixini o‘zgartirgan sanoatni yaratish” uchun tan olindi.
Bugungi kunda, sun’iy intellekt, avtomatlashtirilgan transport va kiberxavfsizlik sohalarida ham “defensive” dasturlash tamoyillari qo‘llaniladi. Hamiltonning merosi, texnik yondashuvdan tashqari, “jamoaviy ishonch, erkinlik va mas’uliyat” tamoyillarini ham o‘rgatadi – bu esa har qanday murakkab tizimni yaratishda asosiy omil hisoblanadi.
Margaret Hamiltonning hayoti va ishlari, dasturiy ta'minot tarixida bir burilish nuqtasi bo‘lib, kelajak avlod dasturchilariga ilmiy izlanish, ijodiy yondashuv va ijtimoiy mas’uliyatni birlashtirishga ilhom beradi.
Asl manba: news.mit.edu