Pull to refresh

В «Джеймсе Уэббе» используется ПО на движке JavaScript 20-летней давности

Reading time2 min
Views11K

В системе управления космического телескопа «Джеймс Уэбб» обнаружили ПО Script Processor (SP, обработчик сценариев) на движке JavaScript 20-летней давности, передаёт портал The Verge. Это ПО управляет модулем ISIM (Integrated Science Instrument Module) с научными приборами NIRCam, NIRSpec, MIRI и FGS-NIRISS. SP запускает определённые скрипты на JS, когда на это поступает соответствующая команда. В свою очередь для написания команд используется SDK Nombas ScriptEase 5.00e. Пакет получал последнее обновление в 2003 году, после чего Nombas обанкротилась. Кроме того, сам SP написан на C++.

Прямая цитата из документа НАСА

The primary command source in normal operations is the Script Processor Task (SP), which runs scripts written in JavaScript upon receiving a command to do so. The script execution is performed by a JavaScript engine running as separate task that supports ten concurrent JavaScripts running independently of each other. A set of extensions to the JavaScript language have been implemented that provide the interface to SP, which in turn can access ISIM FSW services through the standard task interface ports. Also, to provide communication between independently running Javascript, there are extensions that can set and retrieve the values of shared parameters.

A collection of JavaScripts, stored as ASCII files, make up the Operations Scripts System, discussed in Section 3.7, which provides the capability for automatic operations (see Figure 22). A JavaScript can send a command by communicating to SP, which sends the command packet to the Command Manager. If the command that originated from a JavaScript is an SI function, such as to move a Grating Wheel to a certain position, the command would be routed to the Application Task for that SI. That SI Application Task may generate many commands to the SI hardware to complete the requested operation. These hardware commands are sent via the Command Manager to the bus interface task, either 1553 or SpaceWire, that connects with the SI component being commanded.

Источник, стр. 15

Фактически, ISIM представляет собой набор инструментов, делающих снимки через телескоп, а скрипты управляют этим процессом. НАСА называет его «сердцем» телескопа. С одной стороны, может показаться странным использование такого старого движка для передового инструмента. Однако разработка проекта телескопа началась ещё в 1989 году, а в 2004 году начали строить сам телескоп, то есть всего через год после последнего обновления SDK. Тогда ещё никто не думал, что реализация проекта может затянуться до 2022 года. Кроме того, проект и документы, описывающие SP, относятся к 2006 и 2010 годам. После этого, как отмечает The Verge, не было никаких данных о смене ПО для ISIM. НАСА на текущий момент не ответило на запрос портала с просьбой уточнить, были ли какие-либо изменения в ПО за последние десять лет.

Как указывает НАСА, использование SP именно в таком виде облегчает операторам работу с телескопом. По мере изучения тонкостей работы с инструментами инженеры легко меняют скрипт при необходимости. Если им нужно внести изменения, операторы просто открывают текстовый редактор, проводят тесты на Земле и отправляют обновлённый файл на «Уэбб».

Tags:
Hubs:
Total votes 22: ↑20 and ↓2+30
Comments15

Other news