NASA使用了JavaScript腳本來控制JWST太空望遠鏡的任務執行
儘管配備了各種先進的科學儀器,但剛剛分享了首批宇宙照片的詹姆斯·韋伯太空望遠鏡,還是被發現很可能採用了陳舊的JavaScript 編程語言來控制。由集成科學儀器模塊(ISIM)文檔可知,JWST 配套軟件基於腳本任務處理(Script Processor Task)方案。
太空望遠鏡科學研究所的Ilana Dashevsky 和Vicki Balzano 指出(PDF):
在接收到任務命令後,JWST 的腳本處理器會運行JavaScript 編寫的腳本、並且支持同時運行10 個。
JWST 有一堆用於執行特定任務的預編寫腳本,以’最大化效率和最小化地面系統’。
地面上的科學家可告訴JWST 去做什麼,然後交給腳本處理器程序去解釋。
程序會根據腳本的訪問系統,來調用其它應用程序和系統。
腳本處理流程示意
即便如此,JWST 還是未採用JavaScript 直接控制中紅外儀器的Web 瀏覽器。
因為它更像是給主管提供了一份任務列表(本例中為JavaScript),然後將之分發給旗下團隊。
ISIM 屬於望遠鏡相機儀器的集合體,JS 腳本控制著它們的工作過程。
NASA 更是直接將ISIM 稱作JWST望遠鏡的心臟。
作為JWST 功能拼圖的一環,JavaScript 仍然非常重要。
至於為何使用老朽的JavaScript 編程語言,Dashevsky 和Balzano 的說法是,他們是用Nombas ScriptEase 5.00e 構建的。
由現已停運的Nombas網站可知,該軟件的上一次更新,可追溯到大約20 年前的2003 年1 月,但我們對JWST 團隊的選擇並不感到意外。
據悉,雖然JWST 於2021 年底發射升空,但該項目其實在1989 年就已萌芽。
JWST 的實際開建為2004 年,當時距離ScriptEase 5 的發布也只過去兩年。
當然,航天器的功能通常很是簡單。比之最新穎的技術解決方案,研究人員更關注它的穩健性。
最大化效率論文中的簡化架構插圖
需要指出的是,與項目本身一樣,描述JWST 上的JavaScript 系統的文檔也已相當陳舊。
Dashevsky 和Balzano 沒有註明撰寫的日期,但出版年份是2006,此外ISIM 手稿則是源於2011(也有說2010)。
最後,雖然NASA 沒有回應TheVerge的置評請求,但JWST文檔頁面上一篇2017 年發表的文章,還是提到過“基於事件驅動的科學操作”,與JavaScript 的系統概念不謀而合。
順道一提,這份知識庫中還詳細介紹了JWST 板載的68 GB 固態存儲器,稱之可容納58.8 ~ 65 GB 的實際科學數據。