JAVA拯救“勇气”号

综合报道

  1月21日,正在火星表面探测的“勇气”号火星车突然发生故障,与美国宇航局控制中心失去联系长达40多个小时。23日,控制中心终于收到“勇气”号传来的三次微弱信号,科学家们对这些数据进行了分析,对“勇气”号的故障原因作出推断,最后得出一个初步的结论:“勇气”号的状态已由病危转为病重。”美国宇航局经过慎重考虑,决定将勇气号探测车上的VxWorks嵌入式操作系统转入“故障模式”。

  美国宇航局火星探测醒目主管查尔斯·埃拉齐对媒体解释了这种软件故障模式对于拯救勇气号所起到的作用:“目前的勇气号火星车就如同一个挂在悬崖边的越野车,状态十分不稳定,任何一个错误的操作都可能导致火星车的完全报废,所以这种故障模式将能够让“勇气”号继续保持目前状况,现在火星车上的电源、探测等子系统的自动指令通道都被VxWorks嵌入式操作系统中的故障模式软件自动切断,以避免对这些子系统进行任何改动。”

  有“Java之父”之称的贾斯丁博士介绍了在拯救行动中嵌入式操作系统VxWorks所起到的作用。去年12月上旬,NASA JPL(喷气推进实验室)才向“勇气”号上传了登陆软件VxWorks嵌入式操作系统,运行在经过抗辐射处理的Rad 6000 CPU上。VxWorks具备故障应急模式,在整个火星车出现故障之后,这个软件系统能够自动关闭影响火星车正常工作的部分,在必要情况下,它能够向“勇气”号上的计算机处理器发出自动重启的指令。在勇气号登陆之后的时间里,勇气号的计算机控制系统已经自动启动了130多次,以便解决遇到的各种故障。“这显然是迄今为止Java应用中最酷的一举。”

  颇为有趣的是,美国宇航局同勇气号的联系也是通过一种Java装备来进行的。设在美国加州的喷气推进实验室官员吉尼·查尔方特在接受路透社采访时表示:这种Java装备调用了火星探测任务数据库中的所有原始数据,并建造了一个科学家可以随意翻看、放大的三维火星地形图。就像在网上购物那样,研究人员只要点点光标,就能安排“勇气”号的日常活动、传输海量数据并进行通信。例如,科学家要研究火星上的某块石头,只需对“勇气”号发出指令,“勇气”号就会自动跑到那块岩石跟前,对岩石做全面调查。 由于地球与勇气号之间的数据传输速率只有2Kbps,进行一次软件传输需要24个小时才能完成。这些软件将控制火星探测器完成所有的科学研究任务,如果有必要,还将随时上传软件“补丁”。

  在最近这两三周,美国宇航局将使用这种Java设备向勇气号传出大量故障排除指令,以便让这台火星探测车能够正常工作。

  据透露,美国宇航局正在同Sun的实验室合作,准备开发一个更加智能化和高度集成化的Java控制系统,一旦开发成功,它将使未来的宇宙探测器在探测火星之时能够具有智能化、独立进行决策的能力。