JavaScript dans l’espace – Télescope James Webb

JavaScript est le principal moyen d’automatiser une page Web, mais qui aurait pensé que la NASA le choisirait comme un moyen d’amener les scientifiques à planifier leurs observations.

Le télescope James Web a déjà fourni suffisamment d’images époustouflantes pour gagner l’approbation populaire et il oblige même les astrophysiciens à reconsidérer si le big bang s’est réellement produit, bien que le jury ne soit pas seulement encore sur celui-là et qu’il soit susceptible de l’être pendant un certain temps. C’est de la bonne science !

Du point de vue logiciel, le James Webb est également intéressant. Les logiciels spatiaux ont tendance à être en retard par rapport à tout ce qui est de pointe disponible au moment du déploiement. La raison en est, bien sûr, la durée de la plupart des projets et la réticence à adopter tout ce qui pourrait ne pas être stable. J’ai été surpris de découvrir que le logiciel de Webb est basé sur Rational Rose Real-time (RRT) et JavaScript.

Rational Rose est un nom que je n’ai pas entendu depuis longtemps. C’était un générateur de code basé sur UML. Vous avez essentiellement créé un modèle graphique UML (Unified Modeling Language), défini de nombreuses propriétés et généré le code. Voici comment il est utilisé pour le James Webb :

“… en utilisant RRT, un ensemble de ports d’interface de tâche standard auxquels chaque tâche se conforme et qui lui permet d’envoyer des paquets de commandes, de recevoir des paquets de télémétrie, de recevoir des valeurs de table internes pour la configuration des tâches, de recevoir des informations sur l’heure système, d’effectuer des opérations sur les fichiers, utilisez des minuteurs gérés de manière centralisée et répondez aux demandes d’enregistrement pour vérifier que chaque tâche est toujours en cours d’exécution.”

L’approche utilisant RRT était très populaire dans les années 1990 et l’utilisation de tâches séparées est la base de ROS (Robot Operating System) et est toujours populaire dans de nombreux autres systèmes matériels. IBM a peut-être abandonné RRT, mais il est clair que la NASA n’a pas le luxe d’abandonner simplement le logiciel, elle a dépensé tellement d’argent pour atteindre le point L2.

Là où les choses prennent une tournure légèrement inhabituelle, c’est dans le choix de la manière d’orchestrer les services fournis par RRT – JavaScript.

“La principale source de commande dans les opérations normales est la tâche de processeur de script (SP), qui exécute des scripts écrits en JavaScript lors de la réception d’une commande pour le faire. L’exécution du script est effectuée par un moteur JavaScript s’exécutant en tant que tâche distincte qui prend en charge dix JavaScripts simultanés en cours d’exécution Un ensemble d’extensions du langage JavaScript a été implémenté pour fournir l’interface à SP, qui à son tour peut accéder aux services ISIM FSW via les ports d’interface de tâche standard également, pour fournir une communication entre des JavaScripts indépendants en cours d’exécution, il existe des extensions qui peuvent définir et récupérer les valeurs des paramètres partagés.”

Je ne sais pas pour vous, mais je trouve l’utilisation des “JavaScripts” un peu déconcertante – comme s’il s’agissait vraiment de scripts…

web1

Le JavaScript doit être écrit par des scientifiques et des techniciens – est-ce un bon choix ? Je pensais que les scientifiques ne parlaient Fortran ou peut-être Python que s’ils étaient trop jeunes pour en savoir plus.

“Le fait que l’OSS soit écrit en JavaScript et stocké à bord sous forme de fichiers texte est important car cela donne au personnel d’exploitation une plus grande visibilité, un meilleur contrôle et une plus grande flexibilité sur les opérations du télescope. Au fur et à mesure qu’ils apprennent les ramifications et les subtilités de l’utilisation des instruments, ils peuvent modifier les JavaScripts et, après des tests approfondis dans une installation au sol, ils peuvent simplement remplacer un fichier embarqué pour effectuer le changement. Les JavaScripts sont écrits en utilisant la terminologie du domaine de commandes et de télémétrie de l’utilisateur”

L’ensemble du système est piloté par les événements par conception et cela fait de JavaScript un bon choix car il a été piloté par les événements puisqu’il n’était vraiment rien de plus qu’un script. Même ainsi, les systèmes événementiels, et les systèmes asynchrones en général, ne sont pas réputés pour être fiables ou faciles à déboguer. Le JavaScript est très probablement implémenté à l’aide de ScriptEase, un interpréteur désormais disparu conçu pour être intégré à un programme C/C++. Cela a peut-être semblé être un bon choix en 2000, voire à la pointe de la technologie, mais ce n’est pas un bon choix aujourd’hui.

Je suppose que le vrai gain est que les utilisateurs peuvent rentrer chez eux et signaler, probablement avec un gros rire réprimé, qu’ils ont passé une bonne journée au travail à écrire du JavaScript pour un site Web…

icône web

Plus d’information

Statut du système de modules d’instruments scientifiques intégrés du télescope spatial James Webb

Articles Liés

L’état de JavaScript 2021

Comment va JavaScript ?

JavaScript hérite de la terre

JavaScript – est le nouveau Basic !

Pour être informé des nouveaux articles sur I Programmer, inscrivez-vous à notre newsletter hebdomadaire, abonnez-vous au flux RSS et suivez-nous sur Twitter, Facebook ou Linkedin.

Bannière

pythondata

commentaires

ou envoyez votre commentaire à : comments@i-programmer.info

.

Leave a Comment