Java 火星探测车编程语言

Java 火星探测车编程语言,java,embedded,Java,Embedded,我读到Java被广泛用于MER项目(即精神号和机遇号——那些在火星上奔跑的小机器人) 我读到了一些相互矛盾的信息。我离线阅读的一篇文章说Java用于图像查看。维基百科也有类似的说法。 但是说Java在(引用)中使用: 控制漫游者的操作系统 如果有人知道Java是如何在火星探测器上使用的,我很想知道 其次,为什么选择Java来扮演它的角色?我猜控制装置的第一选择是Ada(请不要认为这是对Java的侮辱)。有一个项目总体上评估Java的飞行性能,但它并没有在那些MER Rover上飞行,而且据我所知

我读到Java被广泛用于MER项目(即精神号和机遇号——那些在火星上奔跑的小机器人)

我读到了一些相互矛盾的信息。我离线阅读的一篇文章说Java用于图像查看。维基百科也有类似的说法。 但是说Java在(引用)中使用:

控制漫游者的操作系统

如果有人知道Java是如何在火星探测器上使用的,我很想知道


其次,为什么选择Java来扮演它的角色?我猜控制装置的第一选择是Ada(请不要认为这是对Java的侮辱)。

有一个项目总体上评估Java的飞行性能,但它并没有在那些MER Rover上飞行,而且据我所知,它也没有计划在未来的Rover飞行中使用

最终参考文献似乎是MER飞行软件基线架构和设计文件,由MER FSW团队Joseph F.Snyder、Edwin p.Kan编写。但我找不到可查看的副本。然而,审查文件中有大量关于设计的信息,例如Glenn E.Reeves:


飞行软件主要是编码的 在ANSI C中,具有一些目标组件 代码和一些C++。大小 系统,在源代码行中 (SLOC)为[300K],但该值为 不包括操作系统

<操作系统是风河的VxWorks。

< P>”飞行软件主要以ANSI C编码,有一些目标汇编代码和一些C++。系统的源代码行(SLoC)的大小是[30K],但这个值不包括操作系统“< /P>”。 所以,没有Java

参考: 火星探测车飞行软件概述 格伦·E·里维斯 MER飞行软件架构师 加利福尼亚理工学院喷气推进实验室

“我读到Java被广泛用于MER项目(即精神号和机遇号——那些在火星上奔跑的小机器人)。”

自从1997年火星探路者在着陆器软件上使用VXworks/C以来,20多年来,C(和C++)已被证明足以完成这项任务,因此美国宇航局过于保守,无法改用Java。 火星2020是最后一个使用相同成功组合的JPL航天器。 Java很少用于实时系统,主要用于商业软件


“如果它没有坏,就不要修。”

以前没有比赛吗?可能是因为java在VM中运行——所以当出现问题时,您可以从地球上关闭它……java对这样的应用程序没有任何优势。除非你有美国宇航局的第一篇文章说使用了Java,否则我认为这是一个虚假的谣言。我怀疑他们正在使用Ada或C.@Lundin:或Forth。美国宇航局的工作也有相当多的进展。