在回答有关Java用法示例的问题时,我碰到了一些文章,其中NASA在执行火星任务时使用Java进行地面控制,但我无法确定它是否曾在地球之外使用过。你知道这种情况吗?
答案 0 :(得分:9)
在这里,您将找到一篇论文,讨论在空间应用程序中使用Java的当前状态:
REAL-TIME JAVA IN SPACE: POTENTIAL BENEFITS AND OPEN CHALLENGES
他们说:
在短时间内,不太可能 与当前的Java实现 整个航天器机载软件 可以用Java编写。然而, Java可以用作隔离 没有的软件平台 被指定为最高临界点, 虽然关键代码仍然存在 用Ada或C写的。
其中一位同一作者报告了使用Ovm(开源RTSJ(Java实时规范)实施)的无人驾驶飞行器(UAV)的成功试飞:
答案 1 :(得分:6)
一个经常被忽视的事实是大多数太空探测器都使用较旧的处理器。他们根本无法运行当前的商业软件。它们不够快或不够强大。太空中的IC芯片暴露在高水平的宇宙射线中。它们的高能粒子可以破坏现代CPU和其他IC芯片上的小纳米元件。为了在太空中可靠地工作,您需要专门设计的带有冗余组件的IC,在重型屏蔽上花费很多,或者使用较旧的IC芯片,这些IC芯片具有较大的元件,可以在不被破坏的情况下受到宇宙射线的撞击。
这些旧CPU中的大多数都将使用RTX(如VxWorks)运行,并且可以使用汇编语言编程,也可以使用C语言编写,并且性能仍然不错。
答案 2 :(得分:2)
可能在文档笔记本电脑上,他们至少会在Shuttle上占用。
这里也提到了Java,这意味着至少Java代码可以与某些航天器通信,如果没有实际运行它们:http://www.dtnrg.org/wiki/Code
答案 3 :(得分:1)
根据这篇文章,地面运营中心将其用于3D Mapping and Planning。一个comment on this forum claims the Mars Lander runs VxWorks.
编辑:由Wind River确认,Spirit and Opportunity run VxWorks RTOS.没有其他参考文献在空间中明确使用Java。
答案 4 :(得分:0)
我想我几年前曾读过一些探测器或卫星使用Java作为其分析设备的一部分,但我怀疑任务关键型软件将在今天用Java开发。
然而:由于宇航员在其笔记本电脑上使用了所有应用程序,如果有用Java编写的应用程序,我不会感到惊讶。也许是一些本地安装的webapp用作bugtracker。
答案 5 :(得分:0)
我无法就任何有关航天器软件的权威发言,但我可以肯定地说,NASA(或其附属机构)使用Java处理来自各种任务的数据。我最近在空间物理实验室工作,该实验室处理在轨航天器的数据和遥测,开发团队(我是其中的一员)几乎完全用Java工作。