在回答有关Java使用示例的问题时,我碰到了一些文章,其中NASA使用Java进行火星任务中的地面控制,但我无法确定它是否曾在地球之外使用过.你知道任何这种情况吗?
在这里,您将找到一篇论文,讨论在空间应用程序中使用Java的当前状态:
空间中的实时JAVA:潜在的好处和开放的挑战
他们说:
在短时间内,使用当前的Java实现不太可能整个航天器板载软件可以用Java编写.但是,Java可以用作没有被赋予最高关键性的软件的隔离平台,而关键代码仍然可以用Ada或C编写.
其中一位同一作者报告了使用Ovm(开源RTSJ(Java实时规范)实现)的无人驾驶飞行器(UAV)的成功试飞:
用于航空电子设备的实时Java虚拟机
经常被忽视的一个事实是大多数太空探测器使用较旧的处理器.他们根本无法运行当前的商业软件.它们不够快或不够强大.太空中的IC芯片暴露在高水平的宇宙射线中.它们的高能粒子可以破坏现代CPU和其他IC芯片上的小纳米元件.为了在太空中可靠地工作,您需要专门设计的带有冗余组件的IC,在重型屏蔽上花费很多,或者使用较旧的IC芯片,这些IC芯片具有较大的元件,可以在不被破坏的情况下受到宇宙射线的撞击.
大多数这些较旧的CPU将使用RTX(如VxWorks)运行,并且可以使用汇编语言编程,也可以使用C语言编写,并且仍能获得不错的性能.