Als Antwort auf eine Frage zu Java-Beispielen stieß ich auf einige Artikel, in denen die NASA Java für die Bodenkontrolle bei einer Mission zum Mars verwendete, aber ich konnte nicht herausfinden, ob sie jemals außerhalb der Erde verwendet wurde. Kennen Sie solche Fälle?
Hier finden Sie eine Veröffentlichung, in der der aktuelle Stand der Java-Nutzung in Weltraumanwendungen erläutert wird:
ECHTZEIT-JAVA IM RAUM: POTENZIELLE VORTEILE UND OFFENE HERAUSFORDERUNGEN
Sie sagen:
In kurzer Zeit ist das unwahrscheinlich mit aktuellen Java-Implementierungen der Software für die gesamte Raumsonde könnte in Java geschrieben werden. Jedoch, Java könnte als Isolation verwendet werden Plattform für Software, die nicht hat wurde die höchste Kritikalität zugewiesen, während der kritische Code immer noch sein würde geschrieben in Ada oder C.
Hier berichtet einer der gleichen Autoren über einen erfolgreichen Testflug eines unbemannten Luftfahrzeugs (UAV), das Ovm (Open-Source-RTSJ-Implementierung (Real Time Specification for Java)) verwendet:
Eine oft übersehene Tatsache ist, dass die meisten Raumsonden ältere Prozessoren verwenden. Sie können einfach keine kommerzielle Software ausführen. Sie sind nicht schnell genug oder stark genug. IC-Chips im Weltraum sind hohen kosmischen Strahlen ausgesetzt. Die energiereichen Teilchen können die kleinen Nanometerkomponenten auf modernen CPUs und anderen IC-Chips zerstören. Um zuverlässig im Weltraum zu arbeiten, benötigen Sie entweder speziell entwickelte ICs mit redundanten Komponenten, die viel für eine starke Abschirmung benötigen, oder ältere IC-Chips mit größeren Komponenten, die von einer kosmischen Strahlung getroffen werden können, ohne zerstört zu werden.
Die meisten dieser älteren CPUs laufen mit einem RTOS wie VxWorks und sind entweder in Assembler programmiert oder verwenden eine Sprache wie C und erhalten trotzdem eine anständige Leistung.
Wahrscheinlich auf den Dokumentations-Laptops, die sie dort zumindest mit dem Shuttle aufnehmen.
Java wird hier auch erwähnt, was impliziert, dass es zumindest Java-Code gibt, der mit einigen Raumfahrzeugen sprechen kann, wenn nicht tatsächlich auf ihnen ausgeführt wird: Ссылка
Laut diesem Artikel verwendet das Ground Operations Center es für 3D Mapping und Planung . Ein Kommentar zu diesem Forum behauptet, dass der Mars Lander VxWorks ausführt.
Bearbeiten: Bestätigt von Wind River, dem Spirit und Opportunity, starte VxWorks RTOS. Keine anderen Referenzen, bei denen Java explizit im Space verwendet wurde.
Ich glaube, ich habe vor ein paar Jahren gelesen, dass einige Sonden oder Satelliten Java als Teil ihrer Analysegeräte verwendet haben, aber ich bezweifle, dass missionskritische Software heute in Java entwickelt wird.
Aber: Mit all den Anwendungen, die Astronauten auf ihren Laptops verwenden, wäre ich nicht überrascht, wenn es Anwendungen in Java geben würde. Vielleicht eine lokal installierte Webapp, die als Bugtracker benutzt wird.
Ich kann mit keiner Autorität in Bezug auf die Software an Bord von Raumfahrzeugen sprechen, aber ich kann definitiv sagen, dass Java von der NASA (oder ihren Tochtergesellschaften) verwendet wird, um die Daten der verschiedenen Missionen zu verarbeiten. Ich arbeitete vor kurzem in einem Labor für Weltraumphysik, das Daten und Telemetrie für Raumsonden im Orbit abwickelte, und das Entwicklungsteam (an dem ich beteiligt war) arbeitete fast ausschließlich in Java.
Tags und Links java