RIP مارگارت همیلتون، که کد او فرود آپولو 11 بر ماه را نجات داد
همیلتون اصطلاح «مهندسی نرم افزار» را نیز ابداع کرد و دو شرکت نرم افزاری موفق را تأسیس کرد.
همیلتون اصطلاح «مهندسی نرم افزار» را ابداع کرد و دو شرکت نرم افزاری موفق را تأسیس کرد.
مارگارت همیلتون، که اصطلاح «مهندسی نرمافزار» را ابداع کرد و در دهه 1960 توسعه نرمافزار پرواز درون هواپیما را برای برنامه آپولو ناسا رهبری کرد، هفته گذشته در سن 90 سالگی درگذشت. همیلتون که در سال 2016 مدال آزادی ریاستجمهوری را دریافت کرد، همچنین به عنوان «مینی فیگور LEGO» جاودانه شد. فضانوردان می جمیسون و سالی راید.
"اینکه بگوییم مارگارت همیلتون یک پیشگام بود - گفتن اینکه او از زمان خود جلوتر بود - دست کم گرفتن چشمگیری است. او در زمانی که این رشته در مراحل ابتدایی خود بود یک مهندس نرم افزار بود و او نه تنها خودش کدهای پیشرفته ای را توسعه داد، بلکه رهبری تیمی را در استفاده از این فناوری نوپا برای توسعه یکی از پیچیده ترین سیستم هایی که بشر تا به حال به دست آورده بود، بر عهده داشت." هوانوردی و فضانوردی. "برنامه آپولو هنوز به عنوان یکی از بزرگترین گواهی های ما بر قدرت همکاری، نبوغ و مهندسی است و همیلتون نقش اساسی در موفقیت آن برنامه داشت."
همیلتون که در سال 1936 در پائولی، ایندیانا به دنیا آمد، در سال 1958 از کالج ارلهام فارغ التحصیل شد و در رشته ریاضیات و یک مدرک جزئی در فلسفه فارغ التحصیل شد. او در همان سال با همسر اولش جیمز کاکس همیلتون ازدواج کرد. اینبرنامه این بود که او تا زمانی که مدرک حقوق خود را تمام کند، کار کند، و پس از آن او را تا پایان تحصیلات تکمیلی حمایت می کرد تا دکترا در ریاضیات بگیرد.
او در نهایت برای ادوارد لورنز، ریاضیدان MIT کار کرد که با استفاده از مجموعه ای از معادلات دیفرانسیل که نشان دهنده تغییرات دما، فشار، سرعت باد و مواردی از این دست بود، یک مدل ریاضی از آب و هوا بسازد. احتمالاً داستان معروفی را شنیدهاید که چگونه لورنز یک شبیهسازی پیوسته را بر روی کامپیوتر LGP-30 خود اجرا میکرد، و از آن روز سرنوشتساز 1961 که متوجه شد حتی تفاوتهای کوچک در مقادیر اولیه میتواند به نتایج بسیار متفاوتی منجر شود - حساسیت به شرایط اولیه که مشخصه نظریه آشوب است، همراه با جاذبههای عجیب. شاید نمی دانستید که این همیلتون بود که مسئول برنامه نویسی LGP-30 بود.
در آن زمان کامپیوترها هنوز یک چیز جدید بودند و نه لورنز و نه همیلتون هیچ دانش برنامه نویسی نداشتند. خودشان یاد دادند بر اساس یک مقاله Quanta در سال 2019، لورنز با روشهای غیرمعمول خود سرگرم شد: به عنوان مثال، یک بار با چرخاندن نوار کاغذی در راهرو و ویرایش کد باینری با دست با مداد، «فرایند اشکالزدایی سخت» را دور زد. او به خاطر میآورد: «یکی را سوراخ میکردم و بقیه را با نوار چسب میپوشاندم». همیلتون در سال 1961 به پروژه دیگری نقل مکان کرد، اما نه قبل از آموزش جایگزین خود: یک فارغالتحصیل ریاضی از کوه هولیوک به نام الن فتر. لورنز مشارکت هر دو زن را در مقالات خود تصدیق کرد.
همیلتون دردر سال 1969، در کنار فهرستهایی از نرمافزار راهنمایی آپولو که او و تیم MITش تولید کردند، ایستاده بود.
عکس رسمی همیلتون برای ناسا در سال 1989.
مارگارت همیلتون در سال 2017 یک فیگور لگو از خود دارد.
در سال 1961، همیلتون به پروژه SAGE در MIT نقل مکان کرد و نرم افزاری را برای نمونه اولیه کامپیوتر XD-1 نوشت تا به نیروی هوایی ایالات متحده در جستجوی هواپیماهای دشمن احتمالی کمک کند. اولین چالش او: رمزگشایی برنامهای که کسی نتوانسته بود به کارش برسد، شاید به این دلیل که یادداشتهای نویسنده به لاتین و یونانی نوشته شده بود. همیلتون موفق شد و با شوق خاطر نشان کرد که این برنامه حتی پاسخ های خود را به زبان یونانی و لاتین چاپ کرده است. در این دوره بود که او به موضوع قابلیت اطمینان نرم افزار علاقه مند شد.
در سال 1965، همیلتون آماده بود تا طبق برنامه ریزی به تحصیلات تکمیلی برود، زمانی که شوهرش آگهی روزنامه ای را مشاهده کرد که می گفت آزمایشگاه ابزار MIT به افرادی نیاز دارد تا نرم افزار کامپیوتری راهنمایی را برای برنامه آپولو ناسا توسعه دهند. او اولین برنامه نویسی بود که استخدام شد و اولین زنی بود که بر روی شش مأموریت فرود ماه از سال 1969 تا 1972 کار می کرد. در آن زمان، کدهای باینری با استفاده از سیم های مسی که در اطراف هسته ها پیچیده شده بود ذخیره می شد. "1" سیمی بود که از یک هسته عبور می کرد و "0" سیمی بود که از هسته عبور می کرد. کارگران نساجی نیوانگلند استخدام شدند تا آنها را به هم ببافند تا طنابهای بلندی ببافند و به همیلتون لقب «مادر طناب» داده شود، زیرا او مسئول آن طنابها بود.
همیلتون اغلب شب ها و آخر هفته ها دختر 4 ساله خود، لورن را به آزمایشگاه می آورد. بچه دوست داشتدر شبیه سازها تظاهر به فضانوردی کرد و یک روز فشردن تصادفی دکمه او باعث شد که سیستم به طور غیرقابل توضیحی خراب شود. ظاهراً لورن "P01" را تایپ کرده بود، یک سکانس پیش از پرتاب، در میانه ماموریت. همیلتون از ناسا خواست که آیا می تواند حفاظتی برای جلوگیری از این اتفاق در یک ماموریت واقعی اضافه کند، اما مقامات بالاتر آن را جدی نگرفتند. سپس فضانورد جیم لاول در حین ماموریت سرنشین دار آپولو 8 در مدار ماه مرتکب این خطا شد و باعث ناپدید شدن داده های ناوبری شد. همیلتون برای بازیابی اطلاعات فراخوانده شد و به شوخی از آن به عنوان "اشکال لورن" یاد کرد.
در سال 1968، همیلتون دستیار مدیر مسئول تیم ماژول فرماندهی و خدمات بود. همیلتون این ایده را داشت که در صورت بارگیری بیش از حد رایانه هدایتکننده با وظایف بیش از حدی که در زمان واقعی از عهده آن برمیآید، یک Failsafe را در روالهای رابط «نمایش اولویتدار» نرمافزار سیستم قرار دهد.
این دقیقا همان چیزی است که در ماموریت تاریخی آپولو 11 در سال 1969 اتفاق افتاد. با نزدیک شدن ماژول قمری عقاب به ماه، باز آلدرین کدهایی را برای نمایش ارتفاع و سایر داده های مربوطه روی صفحه وارد کرد. رایانه آنبورد شروع به چشمک زدن آلارم کرد و مأموریت کنترل را مجبور کرد که فرود را لغو کند. خطای همیلتون به این معنی بود که رایانه کارهای ضروری را در اولویت قرار می داد و کارهای غیر ضروری را لغو می کرد و زنگ خطر این بود که به فضانوردان اطلاع دهد که این اتفاق می افتد. به لطف آینده نگری همیلتون، ایگل همچنان با خیال راحت بر روی دریای آرامش فرود آمد.
همانطور کهخود همیلتون بعداً در نامه ای در سال 1971 به یاد آورد:
کامپیوتر (یا بهتر است بگوییم نرم افزار موجود در آن) آنقدر هوشمند بود که تشخیص دهد از آن خواسته می شود کارهای بیشتری از آنچه باید انجام دهد انجام دهد. سپس زنگ هشداری را به فضانورد ارسال کرد که به این معنی بود: «من در حال حاضر بیش از آنچه باید انجام میدهم، بیش از حد وظایفی را انجام میدهم و فقط کارهای مهمتر را انجام میدهم». به عنوان مثال، موارد مورد نیاز برای فرود ... در واقع، کامپیوتر به گونه ای برنامه ریزی شده بود که بیش از تشخیص شرایط خطا انجام دهد. مجموعه کاملی از برنامه های بازیابی در نرم افزار گنجانده شده است. اقدام نرم افزار، در این مورد، حذف وظایف با اولویت پایین تر و برقراری مجدد موارد مهم بود... اگر کامپیوتر این مشکل را تشخیص نمی داد و اقدامی برای بازیابی انجام نمی داد، من شک دارم که آیا آپولو 11 فرود موفقیت آمیز روی ماه بود.
نرم افزار آپولو که او به توسعه آن کمک کرد، در سال 2015 به GitHub اضافه شد. در سال 2019، گوگل پنجاهمین سالگرد فرود بر ماه - و سهم مهم همیلتون - را با آموزش بیش از 100000 آینه در مزرعه انرژی خورشیدی صحرای Mojave خود برای ایجاد یک پرتره عظیم از نور همیلتون در ماه بازتابی جشن گرفت.
پس از پایان برنامه آپولو، آزمایشگاه ابزار دقیق به آزمایشگاه مستقل دریپر تبدیل شد. همیلتون تا سال 1976 در آنجا کار کرد، زمانی که نرمافزار Higher Order را بر اساس کارش در زمینه پیشگیری از خطا و تحمل خطا تأسیس کرد. در سال 1985، او شرکت را ترک کرد و Hamilton Technologies را تأسیس کرد. محصول اصلی آن زبان سیستم های جهانی (USL) استتوسعه سیستم های نرم افزاری پیچیده که پیشگیری از خطا و برنامه نویسی دفاعی را در اولویت قرار می دهد.
از همیلتون دخترش لورن همیلتون به یادگار مانده است. داماد او، ریچارد سلسنیک؛ دو نوه؛ چهار نوه؛ و خواهر و برادرش جان، دیوید و کاترین.
جنیفر یک نویسنده ارشد در Ars Technica است که تمرکز ویژهای بر محل برخورد علم با فرهنگ دارد و همه چیز از فیزیک و موضوعات بینرشتهای مرتبط گرفته تا فیلمها و سریالهای تلویزیونی مورد علاقهاش را پوشش میدهد. جنیفر با همسرش، فیزیکدان شان ام. کارول، و دو گربه شان، آریل و کالیبان، در بالتیمور زندگی می کند.