Каков вклад НАСА в разработку программного обеспечения?

Каков вклад НАСА в развитие разработки программного обеспечения? Каковы соответствующие стандарты, которым они должны соответствовать? В основном меня интересует авионика, но я не нахожу никакой актуальной информации о вкладе НАСА в разработку программного обеспечения... Может ли кто-нибудь помочь мне в этом?

Это чрезвычайно широкий вопрос, но разработка программного обеспечения для полетов на космических шаттлах была очень тщательной. Вы можете прочитать популярную статью об этом здесь: fastcompany.com/28121/they-write-right-stuff или выполнить поиск дополнительных технических документов на NTRS и klabs.org.
Вам может быть интересно: cs.umd.edu/~basili/publications/proceedings/P94.pdf

Ответы (3)

НАСА было (и остается) ведущей организацией в области разработки программного обеспечения еще до того, как появился термин «программная инженерия». Типы программного обеспечения, разработанного для НАСА, варьируются от одноразовых сценариев/электронных таблиц, предназначенных для получения грубого приближения к конкретному инженерному вопросу, до программ/сценариев/электронных таблиц, содержащих конфиденциальную, но несекретную информацию (например, номера социального страхования) и летного программного обеспечения для аппараты, которые доставят людей в космос.

НАСА признает, что уровень строгости и уровень защиты данных сильно различаются в зависимости от программного обеспечения, разработанного для него. Некоторое программное обеспечение, такое как электронная таблица, предназначенное для получения приблизительной оценки дельты V, необходимой для полета на Марс, требует очень мало строгости или защиты. Намерение является грубым приближением, и нет конфиденциальных, но несекретных данных, которые нужно защищать. С другой стороны, программное обеспечение для полетов, которое управляет транспортным средством, которое доставляет людей в космос, и которое собирает данные о здоровье космонавтов, нуждается как в максимальной строгости, так и в максимальной защите данных.

С этой целью у НАСА есть несколько рекомендаций и требований относительно того, как человек или организация должны создавать программное обеспечение. Программное обеспечение наивысшей критичности должно соответствовать довольно обременительным правилам для программного обеспечения класса А, установленным процедурными требованиями НАСА 7150.2 . Строго говоря, все программное обеспечение, написанное для НАСА, должно соответствовать правилам, установленным в этом документе. Строго говоря, заметки, написанные мелком на салфетке в баре во время вечерней пятничной встречи за пределами офиса (например, в учреждении, не принадлежащем НАСА, где подают опьяняющие напитки), вполне могут быть достаточными для ранее упомянутой грубой электронной таблицы.

Ваш вопрос очень широк, поскольку программное обеспечение очень важно для всего, что делает НАСА. Но я постараюсь ответить в меру своих возможностей.

НАСА имеет богатую историю развития разработки программного обеспечения. На самом деле, как заметил Мартин Шредер, Маргарет Гамильтон , легендарный инженер-программист программы «Аполлон», придумала термин «инженер-программист». НАСА проложило путь к написанию эффективного, надежного и хорошо протестированного кода. Взгляните на этот документ « Дизайн, разработка, интеграция: система программного обеспечения SpaceShuttle PrimaryFlight ». В нем подробно описан процесс тщательного тестирования и разработки программного обеспечения для полета космического корабля "Шаттл". На протяжении многих лет инженеры-программисты НАСА разрабатывали все более надежные методы разработки программного обеспечения для полетов и тестирования IV&V. Вот отличный документ с обзором программного обеспечения для полетов MER.

Я думаю, что наибольший вклад НАСА в разработку программного обеспечения, прежде всего, заключается в количестве выпущенного ими качественного программного обеспечения с открытым исходным кодом. Просто зайдя на code.nasa.gov , вы получите все, от среды моделирования Trick до программного обеспечения astrobee , которое прямо сейчас летает на МКС. Вот публикация программного обеспечения astrobee. Мой личный фаворит — выпуск Core Flight System (CFS), целью которого является создание общей основы для программного обеспечения для управления космическими кораблями. С его помощью они создали сообщество разработчиков программного обеспечения для полетов, чтобы помочь продвигать современное программное обеспечение для полетов.

спасибо, это кажется очень полезным для меня.
Рад был помочь. Не стесняйтесь задавать мне больше вопросов.

Маргарет Гамильтон , женщина, придумавшая термин « программная инженерия », сделала это, будучи директором отдела программной инженерии Лаборатории приборостроения Массачусетского технологического института, которая разрабатывала бортовое летное программное обеспечение для космической программы «Аполлон».

Как она могла придумать этот термин, будучи его директором?
@JCRM Я размышляю, но нет ничего необычного в том, что кто-то, которому поручено создать новый отдел, приложил руку к выбору названия отдела.
@JCRM Прочитайте связанную статью. :-)
Я прочитал это. Ничто не указывает на то, что она придумала этот термин, будучи директором — только то, что она придумала этот термин, работая в Массачусетском технологическом институте, и что она [помимо других ролей] была директором по разработке программного обеспечения в Массачусетском технологическом институте. Также есть [сомнительный] тег на том, что она придумала этот термин.