TORIma Academy Logo TORIma Academy
Margaret Hamilton (software engineer)
دانش

Margaret Hamilton (software engineer)

TORIma آکادمی — مهندس نرم افزار

Margaret Hamilton (software engineer)

Margaret Hamilton (software engineer)

مارگارت الین همیلتون (متولد 17 اوت 1936) دانشمند کامپیوتر آمریکایی است. او بخش مهندسی نرم‌افزار را در MIT مدیریت کرد…

مارگارت الین همیلتون (متولد هفیلد، زاده 17 اوت 1936) دانشمند برجسته کامپیوتر آمریکایی است. او به‌عنوان مدیر بخش مهندسی نرم‌افزار در آزمایشگاه ابزار دقیق MIT خدمت کرد، جایی که رهبری او در توسعه نرم‌افزار پرواز درون‌برد برای رایانه هدایت آپولو ناسا، که برای برنامه آپولو حیاتی بود، نقش اساسی داشت. متعاقباً، او دو شرکت نرم‌افزاری تأسیس کرد: نرم‌افزارهای سفارشی عالی در سال 1976 و فناوری‌های همیلتون در سال 1986، که هر دو در کمبریج، ماساچوست واقع شدند.

مارگارت الین همیلتون (ننه هیفیلد؛ زادهٔ ۱۷ اوت ۱۹۳۶) دانشمند کامپیوتر آمریکایی است. او بخش مهندسی نرم‌افزار را در آزمایشگاه ابزار دقیق MIT هدایت کرد، جایی که او توسعه نرم‌افزار پرواز درون‌برد را برای کامپیوتر هدایت آپولو ناسا برای برنامه آپولو رهبری کرد. او بعداً دو شرکت نرم‌افزاری، Higher Order Software در سال 1976 و Hamilton Technologies در سال 1986، هر دو در کمبریج، ماساچوست تأسیس کرد.

مجموعه کار گسترده همیلتون شامل بیش از 130 مقاله منتشر شده، مجموعه مقالات و گزارش‌ها، همراه با مشارکت در حدود 60 پروژه و شش برنامه مهم است. او با ابداع اصطلاح «مهندسی نرم‌افزار»، هدف آن را این‌گونه بیان می‌کند: «من شروع به استفاده از اصطلاح «مهندسی نرم‌افزار» کردم تا آن را از سخت‌افزار و دیگر انواع مهندسی متمایز کنم، با این حال، هر نوع مهندسی را به عنوان بخشی از فرآیند کلی مهندسی سیستم‌ها در نظر گرفتم. کمک های اساسی او در توسعه نرم افزار پرواز داخل هواپیما برای ماموریت های آپولو ماه ناسا.

زندگی اولیه و پیشینه تحصیلی

مارگارت الین هیفیلد در 17 اوت 1936 در پائولی، ایندیانا، در خانواده کنت هیفیلد و روث استر هیفیلد (متولد پارتینگتون) به دنیا آمد. متعاقباً، خانواده او به میشیگان نقل مکان کردند، جایی که او تحصیلات متوسطه خود را در دبیرستان هنکاک در سال 1954 به پایان رساند.

او تحصیلات خود را در رشته ریاضیات در دانشگاه میشیگان در سال 1955 آغاز کرد و متعاقباً به کالج ارلهام منتقل شد، موسسه ای که قبلاً مادرش در آن تحصیل می کرد. در سال 1958، او مدرک لیسانس هنر را در ریاضیات گرفت که با یک مدرک تحصیلی در فلسفه تکمیل شد. او به فلورانس لانگ، که ریاست دپارتمان ریاضیات در ارلهام را بر عهده داشت، انگیزه خود را برای دنبال کردن ریاضیات انتزاعی و شغلی به عنوان استاد ریاضیات تقویت کرد.

او تصمیم خود را برای گنجاندن یک فلسفه کوچک در فعالیت‌های آکادمیک خود به تأثیر پدربزرگش، پدربزرگ، شاعر، پدر و مادرش نسبت می‌دهد.

حرفه حرفه ای

در ابتدا، زمانی که همیلتون در بوستون بود، قصد داشت تحصیلات تکمیلی خود را در رشته ریاضیات انتزاعی در دانشگاه برندیس دنبال کند. با این حال، در اواسط سال 1959، همیلتون با ادوارد نورتون لورنز در بخش هواشناسی در موسسه فناوری ماساچوست (MIT) شروع به کار کرد. مسئولیت های او شامل توسعه نرم افزار برای پیش بینی آب و هوا، استفاده از کامپیوترهای LGP-30 و PDP-1 در پروژه MAC ماروین مینسکی بود. مشارکت‌های او در انتشارات بعدی لورنز در مورد نظریه آشوب، واقعیتی که خود لورنز نیز به آن اذعان داشت، جدایی‌ناپذیر بود. در آن دوران، علوم کامپیوتر و مهندسی نرم افزار هنوز به طور رسمی به عنوان رشته های دانشگاهی تثبیت نشده بودند. در نتیجه، برنامه نویسان معمولاً مهارت های خود را از طریق تجربه عملی و حین کار به دست می آورند. در تابستان 1961، او به پروژه دیگری تغییر مسیر داد و متعاقباً الن فتر را به عنوان جانشین خود استخدام و آموزش داد.

پروژه SAGE

بین سال‌های 1961 و 1963، همیلتون با پروژه محیط زمینی نیمه خودکار (SAGE) در آزمایشگاه MIT لینکلن درگیر بود و به عنوان یکی از برنامه‌نویسان مسئول توسعه نرم‌افزار برای نمونه اولیه کامپیوتر AN/FSQ-7 (XD-1) که برای شناسایی هواپیمای بالقوه استفاده می‌شود، خدمت می‌کرد. علاوه بر این، او نرم افزاری را برای ابتکار ردیابی ماهواره ای در آزمایشگاه تحقیقاتی کمبریج نیروی هوایی توسعه داد. پروژه SAGE به عنوان توسعه پروژه Whirlwind، یک ابتکار MIT با هدف ایجاد یک سیستم کامپیوتری با قابلیت پیش‌بینی الگوهای آب و هوا و نظارت بر مسیرهای آنها از طریق شبیه‌سازی، آغاز شد. متعاقباً SAGE برای کاربردهای نظامی در پدافند هوایی ضد هوایی اقتباس شد. همیلتون بازگو کرد:

زمانی که شما به عنوان مبتدی وارد این سازمان شدید، کاری که آنها انجام می دادند این بود که این برنامه را به شما اختصاص دادند که هیچ کس نتوانست آن را کشف کند یا اجرا کند. وقتی مبتدی بودم به من هم دادند. و اتفاقی که افتاده بود این بود که برنامه نویسی مشکل بود، و شخصی که آن را نوشت از این که همه نظراتش به یونانی و لاتین بود خوشحال شد. بنابراین این برنامه به من محول شد و در واقع آن را به کار انداختم. حتی پاسخ های خود را به زبان لاتین و یونانی چاپ کرد. من اولین کسی بودم که آن را به کار انداختم.

تلاش‌های موفق او در این پروژه، او را به عنوان یک نامزد قوی برای نقش توسعه‌دهنده اصلی نرم‌افزار پرواز آپولو در ناسا قرار داد.

آزمایشگاه ابزار دقیق MIT و توسعه رایانه راهنمایی آپولو

در سال 1965، مارگارت همیلتون از پروژه آپولو آگاه شد و با چشم انداز "بسیار هیجان انگیز" یک ابتکار اکتشاف ماه، به دنبال مشارکت بود. او متعاقباً به آزمایشگاه ابزار MIT ملحق شد، نهادی که مسئول توسعه رایانه هدایت آپولو برای برنامه اکتشاف ماه آپولو است. همیلتون خود را به عنوان برنامه نویس افتتاحیه استخدام شده برای پروژه آپولو در MIT و اولین برنامه نویس زن در این تلاش متمایز کرد و در نهایت به سمت مدیر بخش مهندسی نرم افزار ارتقا یافت. مسئولیت‌های او شامل رهبری تیمی بود که همه نرم‌افزارهای درون پرواز را برای فرماندهی فضاپیمای آپولو و ماژول قمری و همچنین ایستگاه فضایی Skylab بعدی توسعه و آزمایش کردند. بخش مشخصی از تیم او بر طراحی و پیاده‌سازی نرم‌افزار سیستم‌ها متمرکز شد که شامل مکانیسم‌های تشخیص خطا و بازیابی بحرانی مانند راه‌اندازی مجدد و روال‌های رابط نمایش (همچنین به عنوان نمایشگرهای اولویت شناخته می‌شود) که هر دو توسط همیلتون طراحی و توسعه داده شدند. او در دوره‌ای که برنامه‌های درسی رسمی علوم کامپیوتر کمیاب بود و دوره‌های مهندسی نرم‌افزار وجود نداشت، تخصص عملی به دست آورد.

تخصص گسترده همیلتون طیف گسترده‌ای از رشته‌ها، از جمله طراحی سیستم‌ها و توسعه نرم‌افزار، مدل‌سازی سازمانی و فرآیند، پارادایم‌های توسعه، زبان‌های مدل‌سازی چرخه سیستم‌های رسمی، زبان‌های مدل‌سازی چرخه سیستم‌گرای سیستم‌محور را در بر می‌گرفت. روش‌شناسی برای بهینه‌سازی قابلیت اطمینان و استفاده مجدد نرم‌افزار، تجزیه و تحلیل دامنه، اطمینان از صحت از طریق ویژگی‌های زبان داخلی، تکنیک‌های معماری باز برای سیستم‌های قوی، اتوماسیون چرخه عمر جامع، تضمین کیفیت، یکپارچه‌سازی یکپارچه، تکنیک‌های تشخیص و بازیابی خطای پیشرفته، سیستم‌های رابط انسان و ماشین، سیستم‌های عامل، پروتکل‌های آزمایشی انتها به انتها و پروتکل‌های آزمایش چرخه. این تکنیک‌های یکپارچه برای افزایش قابلیت اطمینان کد با تسهیل شناسایی اولیه و اصلاح خطاها در فرآیند توسعه نرم‌افزار طراحی شده‌اند.

فرود ماه آپولو 11

در طول مرحله حساس ماموریت آپولو 11، رایانه هدایت آپولو، همراه با نرم افزار پروازی خود، با موفقیت از توقف فرود روی ماه جلوگیری کرد. تقریباً سه دقیقه قبل از فرود بر ماه، چندین زنگ هشدار رایانه فعال شد. مهندس نرم افزار رابرت ویلز نشان داد که فضانورد باز آلدرین درخواستی را برای رایانه برای نمایش ارتفاع و سایر داده های مربوطه بر روی صفحه نمایش خود آغاز کرده است. اگرچه این سیستم به گونه ای طراحی شده بود که هفت برنامه همزمان را در خود جای دهد، ورودی آلدرین یک هشتم را تشکیل می داد. این عمل، که آلدرین مکرراً در شبیه‌سازی‌ها انجام می‌داد، به دنباله‌ای از کدهای خطای پیش‌بینی‌نشده در طول فرود واقعی منجر شد. نرم‌افزار پرواز داخلی این آلارم‌ها را رهگیری کرد و «نمایش‌هایی که هرگز نباید اتفاق بیفتد» را ارائه می‌کرد که فضانوردان را با اعلان‌های هشدار اولویت قطع می‌کرد. همیلتون از سال‌ها قبل دقیقاً برای این سناریو پیش‌بینی و آماده شده بود.

همیلتون مکرراً یک مکانیسم ایمنی اضافی را به یاد می آورد. سیستم ابتکاری "نمایش اولویت" او یک خطر تبعی را معرفی کرد: پتانسیل عدم هماهنگی بین فضانورد و کامپیوتر در طول دوره های عملیاتی بحرانی. هنگامی که آلارم‌ها فعال شدند و نمایش‌های اولویت جایگزین برنامه‌های استاندارد شدند، انتقال اساسی به برنامه‌های جدید با سرعتی اتفاق افتاد که "یک گام کندتر" نسبت به سیستم‌های امروزی توصیف شد.

همیلتون به‌طور گسترده این مسئله بالقوه را تحلیل کرده بود. تجزیه و تحلیل او نشان داد که اگر یک فضانورد، مانند آلدرین، خیلی سریع با یک صفحه نمایش اولویت تعامل داشته باشد، ممکن است سیستم همچنان یک پاسخ "عادی" را ثبت کند. راه حل ابداع او یک دستورالعمل رویه ای بود: پس از ظاهر شدن یک صفحه نمایش اولویت، فضانورد باید ابتدا تا پنج بشمارد.

طبق گزارش‌های خاص، آلارم‌ها توسط فضانوردانی که به‌طور ناخواسته سوئیچ رادار قرار ملاقات را فعال کرده‌اند، ایجاد شده است. با این حال، این ادعا در مورد فعال شدن ناخواسته رادار توسط رابرت ویلز از موزه ملی محاسبات به چالش کشیده شده است. رایانه بارگذاری بیش از حد وقفه‌ها را تجربه کرد، که ناشی از تغذیه فازی نادرست به رادار قرار ملاقات فرودگر بود. آلارم های برنامه سیگنال "سرریزهای اجرایی" را نشان می دهد که نشان می دهد رایانه راهنما قادر به اجرای تمام وظایف محول شده خود در زمان واقعی نیست و در نتیجه باید برخی از عملیات ها را به تعویق می اندازد. تیم همیلتون از مدیر اجرایی ناهمزمان، که در اصل توسط J. Halcombe Laning طراحی شده بود، برای توسعه نرم افزار پرواز ناهمزمان استفاده کرد.

نرم‌افزار پرواز از تکنیک‌های تشخیص و بازیابی خطای پیشرفته، مانند راه‌اندازی مجدد «کشیدن و محاسبه مجدد» در سراسر سیستم از یک «مکان امن» و عملکردهای عکس فوری/بازگشت استفاده می‌کند. این قابلیت‌ها توسعه روتین‌های رابط نمایش (همچنین به عنوان نمایشگرهای اولویت شناخته می‌شوند) را تسهیل می‌کند، که همراه با ویژگی‌های انسان در حلقه، می‌تواند نمایشگرهای استاندارد ماموریت فضانوردان را برای ارائه هشدارهای اضطراری حیاتی قطع کند. این عملکرد متکی بر اختصاص یک اولویت منحصر به فرد به هر فرآیند نرم افزاری است که از اجرای دقیق زمانی و متوالی همه رویدادها اطمینان حاصل می کند.

سیستم هشدار اولویتی همیلتون برای نادیده گرفتن نمایشگرهای استاندارد فضانوردان در مواقع اضطراری طراحی شده است و اطلاعات مهمی را ارائه می‌دهد که تصمیم «برو/نرو» را در مورد فرود ممکن می‌سازد. در طی یک حادثه مهم، جک گارمن، مهندس کامپیوتر ناسا در کنترل ماموریت، پیام های خطای ارسال شده توسط نمایشگرهای اولویت را به دقت تفسیر کرد و ادامه ماموریت را با تعجب، "برو، برو!" پل کورتو، یک فن‌شناس ارشد که متعاقباً همیلتون را برای جایزه قانون فضایی ناسا نامزد کرد، از کمک‌های او به عنوان «پایه‌ای برای طراحی نرم‌افزار فوق‌العاده قابل اعتماد» تمجید کرد.

همیلتون متعاقباً دیدگاه خود را درباره این حادثه مستند کرد:

نرم افزار سیستم برای تشخیص وضعیت اضافه بار مهندسی شده است، که نشان دهنده درخواست برای کارهایی بیشتر از آن چیزی است که می تواند به طور بهینه اجرا شود. به محض شناسایی، زنگ هشداری را به صدا درآورد و به فضانورد سیگنال داد: «در حال حاضر با وظایفی بیش از حد بارگذاری شده‌ام و فقط حیاتی‌ترین آن‌ها را اولویت‌بندی می‌کنم،» یعنی، کارهای ضروری برای فرود. فراتر از تشخیص خطا، نرم افزار مجموعه ای جامع از برنامه های بازیابی را در خود جای داده است. در این نمونه خاص، پاسخ نرم افزار شامل غیرفعال کردن وظایف با اولویت پایین و برقراری مجدد عملکردهای با اولویت بالاتر بود. اگر سیستم قادر به شناسایی این مشکل و شروع بازیابی نبود، فرود موفقیت آمیز آپولو 11 روی ماه به طور قابل توجهی به خطر می افتاد.

مشارکت های کارآفرینی

در سال 1976، همیلتون با Saydean Zeldin، نرم‌افزار بالاتر سفارش (HOS) را با هدف پیشرفت مفاهیم پیشگیری از خطا و تحمل خطا که از کار آنها بر روی برنامه آپولو در MIT به دست می‌آید، تأسیس کرد. آنها متعاقباً USE.IT را توسعه دادند، محصولی مبتنی بر روش HOS که در MIT فرموله شده بود. این محصول در ابتکارات مختلف دولتی کاربرد موفقیت آمیزی پیدا کرد، به ویژه پروژه ای برای رسمی کردن و پیاده سازی C-IDEF، یک تکرار خودکار از IDEF، یک زبان مدل سازی که توسط نیروی هوایی ایالات متحده در پروژه تولید یکپارچه به کمک رایانه (ICAM) ایجاد شده است. در سال 1980، دانشمند کامپیوتر بریتانیایی-اسرائیلی، دیوید هارل، یک زبان برنامه نویسی ساختاریافته برگرفته از HOS را پیشنهاد کرد که با چشم انداز اهداف فرعی AND/OR چارچوب بندی شده بود. علاوه بر این، HOS توسط سایر محققان برای رسمی کردن معنایی کمی‌سازهای زبانی و ایجاد طرح‌های دقیق برای سیستم‌های جاسازی شده در زمان واقعی قابل اعتماد استفاده شده است.

همیلتون تا سال 1984 به عنوان مدیر عامل HOS خدمت کرد و در سال 1985 شرکت را ترک کرد. این موجودیت جدید بر زبان سیستم های جهانی (USL) و محیط خودکار همراه آن، مجموعه ابزار 001 متمرکز شده است، که هر دو بر پارادایم "توسعه قبل از واقعیت" او برای طراحی سیستم های جامع و مهندسی نرم افزار مبتنی است.

تاثیر پایدار

همیلتون به طور گسترده برای ابداع اصطلاح "مهندسی نرم افزار" شناخته شده است. او متعاقباً در مورد پیدایش این نامگذاری توضیح داد:

در ابتدا، این اصطلاح در حوزه حرفه ای ما ناآشنا بود. این موضوع برای مدت طولانی موضوع شوخی باقی ماند و همکاران اغلب در مورد مفاهیم غیرمتعارف من را مسخره می کردند. یک لحظه مهم زمانی رخ داد که یک کارشناس سخت افزار بسیار محترم در جلسه ای علناً تأیید کرد که توسعه نرم افزار مستلزم به رسمیت شناختن به عنوان یک رشته مهندسی، مشابه مهندسی سخت افزار است. این پذیرش صرفاً از پذیرش اصطلاحات جدید سرچشمه نمی گیرد، بلکه از تصدیق جمعی که کار ما خود را به عنوان یک رشته مهندسی مشروع تثبیت کرده است.

در طول ماموریت‌های اولیه آپولو، زمانی که همیلتون اصطلاح "مهندسی نرم‌افزار" را معرفی کرد، رشته توسعه نرم‌افزار فاقد شناخت و جایگاه علمی در زمینه‌های مهندسی دیگر بود. هدف همیلتون ایجاد توسعه نرم افزار به عنوان یک رشته مهندسی مشروع بود. پس از آن، "مهندسی نرم افزار" به احترام قابل مقایسه با سایر رشته های فنی دست یافت. شماره سپتامبر / اکتبر 2018 نرم افزار IEEE، پنجاهمین سالگرد مهندسی نرم افزار را گرامی داشت. همیلتون در مورد تأثیر عمیق «خطاها» در تلاش‌های مهندسی نرم‌افزار خود، به‌ویژه اینکه چگونه زبان توسعه‌یافته‌اش، USL، می‌تواند اکثر «خطاها» سیستم را کاهش دهد، بحث کرد. طراحی USL با هدف جلوگیری از اکثر خطاهای ناشی از توسعه اولیه سیستم، در نتیجه کاهش اتکا به آزمایش‌های گسترده پس از توسعه بود. تجربه او در طول ماموریت آپولو، که منجر به تدوین یک نظریه ریاضی برای سیستم‌ها و نرم‌افزار شد، از ایجاد USL خبر داد. این روش تأثیر قابل توجهی را در زمینه مهندسی نرم افزار حفظ کرده است. رابرت مک میلان، که برای Wired می نویسد، سهم خود را در MIT برجسته کرد و اظهار داشت که "در ایجاد اصول اصلی در برنامه نویسی کامپیوتری که با همکارانش در نوشتن کد برای اولین کامپیوتر قابل حمل جهان کار می کرد، کمک کرد." نوآوری های همیلتون فراتر از نقش محوری او در ماموریت های ماه است. کارن تگان پادیر از Wired's همچنین اظهار داشت که همیلتون، در کنار گریس هاپر، مخترع COBOL و یکی دیگر از پیشگامان اولیه برنامه نویسی، شایستگی شناسایی قابل توجهی برای تسهیل ورود و موفقیت زنان در زمینه های STEM مانند نرم افزار دارد.

یادبودها

در سال 2017، مجموعه لگو "زنان ناسا" شامل مینی فیگورهای همیلتون، فضانوردان مای جمیسون و سالی راید، و نانسی گریس رومن، رئیس افتتاحیه نجوم ناسا منتشر شد. مایا واینستاک در اصل این مجموعه را برای ارج نهادن به مشارکت این زنان در تاریخ ناسا پیشنهاد کرد. بخش همیلتون در این مجموعه به‌طور مشخصی عکس نمادین او در سال 1969 را بازسازی می‌کند و او را در کنار مجموعه‌ای از فهرست‌های نرم‌افزاری‌اش به تصویر می‌کشد.

در سال 2019، به مناسبت پنجاهمین سالگرد فرود آپولو، Google با پیکربندی آینه‌ها در تصویر Ivancility 1 با استفاده از پروژه ایوان‌پاه 1 و پروژه‌ی Power1 Sollo خود، از همیلتون تقدیر کرد. مهتاب.

شخصیت مارگو مدیسون، یک مهندس خیالی ناسا که در سریال تاریخ جایگزین برای همه بشریت حضور دارد، از همیلتون الهام گرفته است.

تمجید

انتشارات انتخابی

Çavkanî: Arşîva TORÎma Akademî

درباره این نوشته

اطلاعاتی درباره Margaret Hamilton (software engineer)

راهنمایی کوتاه درباره زندگی، پژوهش‌ها، کشف‌ها و جایگاه علمی Margaret Hamilton (software engineer).

برچسب‌های موضوع

اطلاعات درباره Margaret Hamilton (software engineer) Margaret Hamilton (software engineer) کیست زندگی Margaret Hamilton (software engineer) پژوهش‌های Margaret Hamilton (software engineer) کشف‌های Margaret Hamilton (software engineer) دستاوردهای علمی

جست‌وجوهای رایج درباره این موضوع

  • Margaret Hamilton (software engineer) کیست؟
  • Margaret Hamilton (software engineer) چه چیزی کشف کرد؟
  • دستاوردهای علمی Margaret Hamilton (software engineer) چیست؟
  • چرا Margaret Hamilton (software engineer) مهم است؟

آرشیو دسته‌بندی

آرشیو دانش نه‌ورۆک آکادمی توریمه

در این بخش از آرشیو توریمه آکادمی نه‌ورۆک، به کاوش در دنیای وسیع دانش می‌پردازیم. از پیچیدگی‌های زیست‌شناسی مانند DNA و CRISPR گرفته تا مفاهیم بنیادی فیزیک و ریاضیات، و از پدیده‌های طبیعی همچون آتشفشان‌ها و آب‌های

خانه بازگشت به دانش