In welcher Sprache ist die auf der ISS laufende Software geschrieben?

Welche Programmiersprache wird für die auf der ISS verwendete Software verwendet? Ist es die eigene Programmiersprache der NASA oder ist es so etwas wie C oder C #, vielleicht Haskell?

Vergiss nicht eine meiner unbeliebtesten Sprachen, Ada.
@JBentley Es scheint auf jeden Fall so! Meine Kommentare waren nur meine eigene Meinung und beratend und/oder warnend. Ich habe nicht vtc, weil ich mir nicht sicher war. Glücklicherweise hat sich diese Frage während meiner Abwesenheit erledigt, also Ende gut, alles gut. Ich habe den ursprünglichen Kommentar gelöscht, da er nicht mehr hilfreich ist, und RB hat die Schreibweise von Haskell korrigiert ;-)
"The software"- lässt es klingen, als gäbe es ein einziges monolithisches Programm, das alles ausführt. Das wird nicht der Fall sein. Es wird Hunderte von Subsystemen mit jeweils mehreren Ebenen der Hardware- und Softwareautomatisierung geben, die jeweils auf einer Reihe von Tools, Technologien und Plattformen basieren.
Wie ich bereits geschrieben habe, ist es mit ziemlicher Sicherheit interessanter zu fragen, "mit welchem ​​​​Prozess" als "in welcher Sprache", Sie ein sehr hohes Maß an Zuverlässigkeit erreichen, und die Geschichte des Mars Climate Orbiter ist eine Geschichte von Prozessen, die nicht angewendet werden.
@dmckee - Die Prozesse zur Entwicklung der ISS-Flugsoftware waren sehr streng. Die Prozesse, die zu ihrer Wartung verwendet werden, sind sogar noch strenger.
@ David Ich weiß. Nun, aus zweiter Hand. Einmal arbeitete ich an einem Teilchenphysikprojekt, bei dem wir einige eingebettete Platinen in eine große Stahldose schweißen wollten, und wir haben eine Reihe von Seminaren von NASA-Vertretern darüber, wie man versucht, Zuverlässigkeit zu erreichen, wenn man nicht kleben kann Büroklammer in der Reset-Öffnung. Als selbstbewusster Programmierer ist das ganze Geschäft sehr beängstigend, weil ich weiß , dass ich nicht automatisch so gut bin.

Antworten (2)

Fast die gesamte sicherheitskritische Software, die auf der US-Seite der Raumstation läuft, ist in Ada geschrieben. Ich habe "fast alle" und nicht "alle" geschrieben, da wahrscheinlich einige Low-Level-Gerätetreiber in Assembler geschrieben sind. Ich kann nicht herausfinden, in welcher Sprache/Sprachen der Code geschrieben wurde, der auf der russischen Seite läuft. Es würde mich nicht wundern, wenn das auch größtenteils Ada ist.

Nicht sicherheitskritische Software (z. B. alles, was auf einem Laptop läuft) ist in einer Mischung von Sprachen geschrieben.

Ich weiß, dass Ada ein Standard war, der vor etwa 20 Jahren verwendet wurde, aber werden neue Teile der Station immer noch mit Ada geschrieben?
@PearsonArtPhoto - Wenn es sicherheitskritisch ist, ja. Die sicherheitskritische Software läuft auf den sogenannten Multiplexer-Demultiplexer (MDM) Computern und kritischen Anzeigegeräten. Nicht sicherheitskritische Software läuft auf Laptops.
Was sind Ihre Quellen?
@Bruno höchstwahrscheinlich Insider-Informationen. (Diese Person scheint dort zu arbeiten)
@DavidHammen, was um alles in der Welt ist Ada?
@Daniel - Es ist eine (jetzt Nischen-) Sprache, die in den 1970er und 1980er Jahren vom Komitee erfunden wurde. Die Hauptabsicht bestand darin, integrierte Mechanismen für die Sicherheit, für die Echtzeitprogrammierung und für eingebettete Systeme bereitzustellen.
@DavidHammen, du hast gerade mein Leben für eine ganze Welt geöffnet, von der ich nie wusste, dass sie existiert. Vielen Dank, dass Sie dies geteilt haben. Wenn ein neugieriger Geist diese Sprache lernen wollte, wie würde er oder sie vorgehen?
@Daniel, das Ada-Programmier-Wikibook und die darin enthaltenen Links sind ein guter Ausgangspunkt.
Fortran im Weltraum, lol. Ada ist die Sprache, in der das Apache-Helikopter-Treibstoffprogramm geschrieben ist. Die meisten staatlichen Codes verwenden Ada. Es war wie Scala vor Scala und einiges mehr.
@AndrewScottEvans - Die meisten neuen Regierungscodes verwenden Ada nicht. Ada ist eine Sprache aus einem früheren Jahrtausend, ebenso wie Fortran.
@David Hammen ist also der erste Apache und ISS. Macht es nicht unwahr. Daher war und ist nicht. Wenn Sie den Fortran-Witz nicht verstehen, haben Sie keine Ahnung, wie weit verbreitet er immer noch in alter Hardware ist. Es ist buchstäblich überall. Sie können immer noch 100.000 Jobs programmieren, um diese Systeme am Laufen zu halten.
Ada ist immer noch sehr prominent in der (militärischen) Luft- und Raumfahrt, selbst in vielen ziemlich modernen Systemen. Besonders in sicherheitskritischen Anwendungen. (Ich habe im Bereich Software gearbeitet)
@Nefrin - Das stimmt bis zu einem gewissen Grad und anscheinend mehr in Europa als in den USA. Dass das US-Verteidigungsministerium das Ada-Mandat vor 20 Jahren fallen ließ, führte dazu, dass viele Projektmanager neue Projekte in etwas anderem als Ada codieren ließen.
Ada ist immer noch eine gute Wahl für alles, was sicherheitskritisch ist - es ist viel einfacher, die Sicherheitsanforderungen damit zu erfüllen als mit einer Sprache wie C/C++ oder Python usw.
Zitat benötigt. Oder zumindest eine Erklärung, woher Sie das wissen oder jemand dies überprüfen könnte.
@AndrewScottEvans Sicherlich ist es nicht buchstäblich überall?

Am Betrieb der ISS sind viele Programme beteiligt. Die genauen Details sind schwer zu erkennen, eine Menge NASA-Software ist über diese Seite verfügbar , mit einigen Einschränkungen, aber hier ist, was ich finden kann.

  • Astrobee- Führt das "Robotic Operating System" aus
  • Geolokalisierung über eine Python-Bibliothek
  • Einige Elemente verwenden LabView

Ich bin mir sicher, dass es viele andere Sprachen gibt, darunter C, C++ und C#, aber es wäre sehr schwierig, eine vollständige Liste zu bekommen.

Auf software.nasa.gov katalogisiert die NASA ihre veröffentlichte Software. Ein Großteil der Software für die ISS kann nicht veröffentlicht werden.