SpaceWASM :la NASA publie un runtime WASM pour les vaisseaux spatiaux

Par:
francoistonic

lun, 13/07/2026 - 08:08

La NASA publie un projet un peu particulier : SpaceWasm. Il s'agit d'une implémentation de Wasm 1.0 créée par l'équipe JPL de la Nasa. Il contient 2 éléments :

- décodeur / validateur 

- interpréteur 

SpaceWasm n'exécute pas directement le bytecode WebAssembly. Une des raisons est la lenteur d'exécution. C'est pour cela que le runtime convertit le bytecode en une autre représentation intermédiaire, plus adaptée aux attentes de la Nasa. Le projet a été codé en Rust. 

Le projet prend en compte les contraintes des vaisseaux spatiaux. "Ces contraintes permettent une utilisation déterministe de la mémoire et une exécution efficace dans des environnements aux ressources limitées, tout en maintenant la compatibilité avec la plupart des modules WebAssembly standard." précise le projet. 

Les contraintes sont nombreuses. Par exemple, il ne faut pas dépasser 256 modules, la page size est de 64 Ko et de ne pas dépasser 65 636 pages. La liste : https://github.com/nasa/spacewasm/blob/main/src/SPEC.md

Pour le moment SpaceWasm supporte Wasm MVP et les globales mutables. 

Page du projet : https://github.com/nasa/spacewasm

Commentaires

Les contraintes sont nombreuses. Par exemple […] la page size est de 64 Ko et de ne pas dépasser 65 636 pages.

La limite de 4Go par processus est une limite de Wasm32 en général.