Языки, используемые для написания программ для спутниковых миссий? - PullRequest
13 голосов
/ 22 февраля 2010

Просто ради интереса, мы знаем, что в создании спутника задействовано много программ. На каких языках они написаны?

Ответы [ 8 ]

12 голосов
/ 22 февраля 2010

Спутниковые миссии НАСА Я принимал участие во всех используемых языках ассемблера для встроенного программного обеспечения. НАСА настойчиво предпочитает использовать летное программное обеспечение с наследием - повторное использование компонентов (как аппаратных, так и программных) с проверенной историей успеха в предыдущих миссиях. Таким образом, вместо использования скомпилированного кода на новейших, самых мощных процессорах, мы часто заканчиваем тем, что используем сборку с ручным кодированием на слабых, но проверенных временем процессорах. Например, Проект THEMIS, созданный в 2003 году и запущенный в 2007 году, работает на процессорах Intel 8085 с сборочными модулями с ручным кодированием и наследием предыдущих миссий, таких как WIND, CLUSTER и STEREO.

3 голосов
/ 22 февраля 2010

Поскольку они имеют собственную архитектуру, подключенную к разным периферийным устройствам ввода / вывода, их следует программировать на C / C ++ или непосредственно на ASM для повышения производительности и оптимизации.

Они полностью кастомизированы, поэтому я не думаю, что есть другие подходы к проблеме, думаю также, что они должны использовать действительно низкое энергопотребление (и должны заряжаться от солнца), поэтому у них, как правило, не такое мощное оборудование, и они должны быть ДЕЙСТВИТЕЛЬНО оптимизированным (вот почему ASM таков). Вы не должны тратить ни одного цикла процессора!

Наконец, устройства, подключенные к спутнику, действительно необычны, поэтому я думаю, что трудно использовать какой-либо стандартный API-интерфейс для интерфейса (например, RS232 или т. Д.), Я думаю, что они различны для каждого случая.

Я бы не удивился, обнаружив, что многие старые чипы, такие как Z80s , выполняют грязную работу на спутнике только потому, что они достаточно мощные, чтобы выполнять простые задачи, несмотря на их 8-битную шину!

2 голосов
/ 22 февраля 2010

Помимо возможностей, которые уже упоминались, по крайней мере один космический корабль контролировался программным обеспечением, написанным на Лиспе для части его полета.

2 голосов
/ 22 февраля 2010

C, C ++ и Ada упоминаются здесь (да, авторы не могут использовать заглавную букву "Ada"). Код C может быть написан от руки или сгенерирован из Scade .

1 голос
/ 22 апреля 2016

НАСА использует много языков, и оно варьируется в зависимости от его использования и того, где оно используется. Программы, написанные для некоторых вычислений и для некоторых сценариев, написаны в основном на Python. Программы для наземных приборов и наземного управления написаны с использованием C, C ++, Ada и т. Д. Критические программы, написанные для бортовых приборов и оборудования, в основном написаны на языке ассемблера, поскольку он дает большую часть контроля над оборудованием, а некоторые старые языки на спутнике используется столько же аппаратных средств, сколько старых технологий (это не значит, что они устарели, потому что некоторые функции без них невозможны) и другие языки, такие как MatLab, Visual Basic также используется для научных расчетов.

1 голос
/ 09 октября 2015

Большинство рабочих языков, используемых в НАСА и Локхиде, сосредоточены вокруг статистики и исчисления. Это означает MATLAB, haskell, Erlang и scala. MATLAB и Erlang - самые большие, которых попросили предоставить.

Пока аппаратная часть будет сосредоточена вокруг Assembly, C и Verilog.

1 голос
/ 22 февраля 2010

Я могу вам сказать, что Mars Rover имел хотя бы немного кода C ++ (PDF Link); Они использовали библиотеку Rogue Wave Tools.h ++ .

0 голосов
/ 22 февраля 2010

Как и в случае любого другого программного обеспечения, язык, используемый для выполнения какой-либо функции на спутнике, будет наиболее подходящим языком с учетом различных действующих бизнес-факторов и драйверов ИТ.

Вы найдете примеры использования разных языков в аэрокосмической сфере, если вы посмотрите вокруг. Учитывая ваш вопрос, вы, вероятно, захотите взглянуть на Ada , которая часто упоминается как используемая в «системах реального времени», новостной статье, так что эффект здесь некоторые пользователи без защиты перечислены здесь здесь .

...