韦伯空间望远镜飞行软件采用 C++ 编写、内置定制的JS解释器
发表于:2022-07-19 08:47:43浏览:673次
厉害了,C++与JavaScript上天,近日NASA发布了韦伯空间望远镜(James Webb Space Telescope,简称 JWST)拍摄的首批全套全彩宇宙深空图像。
据介绍,JWST 预估总耗费高达 100 亿美元,它于 2021 年 12 月 25 日由阿丽亚娜 5 号火箭负责运送升空。送入太空后,JWST 需要航行一段时间再进入预定轨道,此后便会一直在轨道上飞行,轨道位于第二拉格朗日点上,重力相对稳定,故相对于邻近天体来说可以保持不变的位置,不用频繁地进行位置修正,可以更稳定的进行观测。
JWST 运行的飞行软件基于 C++ 编写,不过具体的操作脚本则采用了定制的 JavaScript 进行编写。简单来说,飞行软件用于操作飞船和科学仪器,并内置专有的 JavaScript 解释器,而 JavaScript 脚本则用于执行所有具体的操作和遥测请求。上层 OPE(观测计划执行,Observation Plan Executive)会对观察计划进行处理,这些计划包含一个时间顺序的活动列表(称为 visit),OPE 通过多线程的方式将 visit 的活动参数传递给下层的脚本以进行调用,这些脚本包含实时直接运行控制飞船姿态、科学仪器的命令。
太空望远镜科学研究所发表的论文指出,JWST 整体采用了事件驱动的软件架构 (event-driven architecture),此举为操作望远镜提供了更大的灵活性,也大幅简化了底层系统。此外,事件驱动系统的自主性提供了基于遥测响应的航天器和科学仪器指令。在发生故障的情况下,望远镜可继续进行不受事件影响的科学观测计划的部分,从而保证观测站的效率最大化。
推荐文章
- 如何给OA系统加上名字工号的水印?其实很简单,WEB前端就能实现添加水印
- TP6便捷快速查询日、月、年数据的方法
- 前端:javascript浅拷贝与深拷贝的区别
- 四行JavaScript代码实现禁止复制网站内容
- 小程序进入页面时图片拉伸变形优化方案
- centos系统,宝塔面板SSL证书文件在哪里?
- linux环境下,Composer安装项目时报错:Do not run Composer as root/super user!
- DevOps已向业务进阶,如何实现项目研发效率的提升?
- Layui的table模块导出所有数据,无需修改代码,完美解决方案
- ThinkPHP 6.1.2 版本发布,兼容 PHP8.2以及对ThinkORM3.0 版本的支持