2

控制詹姆斯·韦布太空望远镜所有动作的程序,是JavaScript脚本

 2 years ago
source link: http://jandan.net/p/111178
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

今日好价 0821去年价值270多万美元的随机生成艺术品 NFT,大家猜猜现在值多少钱了?

majer @ 2022.08.21 , 17:49

22

控制詹姆斯·韦布太空望远镜所有动作的程序,是JavaScript脚本

詹姆斯·韦布太空望远镜可说是人类最杰出的科技成就之一。容易理解,NASA托管它们的网站使用了JavaScript。不容易理解的是,望远镜本身,很大程度上也是由 JavaScript 脚本控制的。哦,它基于 2002 年的开发包。

根据 JWST 的集成科学仪器模块(ISIM)的手册(PDF),ISIM 的软件由“脚本处理器任务 (SP) 控制,在收到命令后运行用 JavaScript 编写的脚本。 ”负责将这些 JavaScript脚本转化为动作的实际代码可以同时开10个进程。

由太空望远镜科学研究中心的Ilana Dashevsky 和 ​​Vicki Balzano 撰写的手稿和论文 (pdf) 《JWST:最大化效率和最小化地面系统》非常详细地描述了这一流程。JWST有一堆为执行特定任务预先编写的脚本,地面上的科学家可以告诉它运行哪些任务脚本。JavaScript语句将由一个被称为脚本处理器的程序来解释,然后程序将根据脚本的要求访问其他应用程序和系统。当然,JWST 没有运行JavaScript的 Web浏览器——它更像是给经理一个任务列表,让他委派给团队。

JavaScript只是拼图的一部分,尽管如此,JavaScript仍然非常重要——ISIM实际上是帮望远镜拍摄照片的仪器的内部命令集合,脚本控制着这个过程。美国宇航局称其为“詹姆斯韦伯太空望远镜的心脏”。

那么,它使用如此古老的技术似乎有点奇怪。根据 Dashevsky 和 ​​Balzano 的说法,编写脚本的语言被称为 Nombas ScriptEase 5.00e。根据 Nombas(现已不复存在)的网站,ScriptEase 5.00e 的最新更新于 2003 年 1 月发布——是的,差不多二十年前。当控制 JWST 的一些最重要仪器的软件问世时,读到本文的很多人或许刚刚满月。

不过,稍微思考一下,就能明白其中的合理性——虽然 JWST 于 2021 年底推出,但太空望远镜项目于1989年立项。在2004年开始实际建造望远镜时,ScriptEase 5 还是2002年才问世的开发包。考虑到航天器通常采用久经考验的技术而不是最新最好的技术,这实际上并不是特别古老。由于像 JWST 这样的项目需要很长的时间启动,所以当发布日临近时,必须尽早确定的东西可能会显得过时。

值得注意的是,与项目本身一样,这些描述 JWST 的 JavaScript 系统的文档已经很老了;根据 ResearchGate 的说法,Dashevsky 和 ​​Balzano 写的那本书没有注明日期,但出版于2006年,而 ISIM 手册是2011年的。从那时起,NASA 确实有机会替换脚本系统,但那可是一项相当大的工程。

顺便说一句,手册里还包含有关望远镜的68 GB SSD硬盘的更多详细信息,称它可以容纳 58.8 到 65 GB 的实际科学数据。等等,我是不是忘了提这个?是的,这台望远镜的固态驱动器的容量与2008年 MacBook Air 中可用的容量大致相同。

无论如何,我们不是在这里谈论JWST的存储。至于为什么选择了Javascript?使用网页脚本语言有什么意义——为什么不用更传统的C++或Java?

好吧,美国宇航局的文件说,这种方式让“操作人员对望远镜操作有更大的可见性、控制力和灵活性”,让他们“在了解操作仪器的后果和微妙之处时”可轻松更改脚本。基本上,NASA 正在处理一堆以某种人类可读格式编写的文件——如果他们需要进行更改,他们可以打开一个文本编辑器,在地面上进行一堆测试,然后发送更新的文件到 JWST。如果每个程序都是用晦涩难懂的代码编写的,如果你想进行更改就必须重新编译,这肯定更不容易。

如果您仍然担心,请注意太空望远镜科学研究中心的文件提到脚本处理器本身是用 C++ 编写的,显然有效,对吧?韦布传回图片令人难以置信,然而,现在您又听说了一个有趣的幕后花絮——下次当你诅咒现代网络如此缓慢并希望有人将 JavaScript送出地球时,记住,NASA 已经这么做了。

https://www.theverge.com/2022/8/18/23206110/james-webb-space-telescope-javascript-jwst-instrument-control

赞一个 (11)


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK