Traduction automatique, non relue par un locuteur natif. L'anglais fait foi.

API et intégrationsModifier sur GitHubSource : docs/DEPLOYMENT-TARGETS.md

Où Kshana s'exécute, et où il ne s'exécute pas

Une limite de périmètre, consignée afin que personne ne la découvre sous la forme d'un engagement lors d'une réunion.

Abréviations : CPU, unité centrale de traitement ; GPU, unité de traitement graphique ; NPU, unité de traitement neuronal ; FPGA, réseau de portes programmable sur site ; MCU, microcontrôleur ; RTOS, système d'exploitation temps réel ; OPS-SAT, le satellite laboratoire de logiciels en orbite de l'Agence spatiale européenne ; PyPI, le Python Package Index ; MCP, le Model Context Protocol ; AI, intelligence artificielle ; JSON, JavaScript Object Notation.

Exécutions#

Cible Comment Notes
Postes de travail et serveurs Linux, macOS et Windows, x86-64 et ARM 64 bits le binaire kshana, ou la crate Rust binaires de la version publiée pour Linux x86-64, macOS (Apple silicon et Intel) et Windows x86-64 ; sur les autres cibles, cargo install kshana le construit
Python 3,9 ou version ultérieure le paquet wheel kshana sur PyPI (--features python) wheels pour Linux, macOS et Windows, x86-64 et ARM 64 bits
Clients MCP (agents d'IA) le serveur kshana-mcp : cargo install kshana-mcp, ou l'image de conteneur image pour linux/amd64 et linux/arm64
Navigateurs et environnements d'exécution JavaScript le paquet WebAssembly sur npm (--features wasm) le même moteur, compilé en WebAssembly
Un petit ordinateur à bord d'un bateau, à côté du récepteur la version de référence dans deploy/reference-build/ : kshana receiver-trust live avec la porte, qui publie vers Signal K et, sur option, vers OpenCPN à titre consultatif, et non un équipement de navigation homologué ; non testé sur un navire par le projet ; voir MARINE-INTEGRATIONS.md
Serveurs Signal K le module d'extension dans integrations/signalk/ livré et testé unitairement sur une sortie synthétique enregistrée ; non publié sur npm
OpenCPN NMEA 0183 en mode porte sur TCP depuis le moniteur sur option ; voir MARINE-INTEGRATIONS.md
Ordinateurs de charge utile de classe Linux la crate Rust ou le binaire, compilé en croisé Ordinateurs de charge utile de classe OPS-SAT et similaires
Nœuds en périphérie avec un GPU, un NPU ou un FPGA à côté d'un CPU Linux sur le CPU Linux Kshana n'utilise aucun des accélérateurs ; il s'exécute à côté d'eux

Ne s'exécute pas#

Un MCU de vol à nu (bare-metal) ou un petit RTOS sans la bibliothèque standard de Rust. Kshana est une crate std de bout en bout : elle alloue sur le tas, lit des fichiers, met en forme du JSON et utilise les fonctions en virgule flottante de la bibliothèque standard. Il n'existe aucune version no_std ni aucune fonctionnalité qui en produise une.

Décision : nous ne proposons pas de noyau de vol no_std. En construire un serait un produit distinct, avec sa propre charge de vérification, et cela placerait Kshana dans le logiciel de vol, où la qualification est un programme à part entière pour lequel nous n'avons aucune voie d'accès.

Que faire à la place#

  • Exécutez Kshana au sol ou sur un ordinateur de charge utile, et téléversez ses résultats. Le type de scénario slot-timing produit exactement les chiffres dont un calculateur de vol a besoin : une cadence de positionnement, un instant de dépassement, une garde. Un tableau de ces valeurs fait quelques octets.
  • Portez une forme analytique, si c'est tout ce qu'il faut. L'inversion du holdover est une courte recherche de racine monotone sur une variance polynomiale, documentée avec ses équations dans SLOT-TIMING.md. La réimplémenter dans du code de vol est simple ; le code dérivé de Kshana reste sous la licence de Kshana.

Également hors périmètre#

Les garanties temps réel strict (Kshana alloue de la mémoire et n'avance aucune affirmation sur le temps d'exécution dans le pire cas) ; la qualification en vol de quoi que ce soit ; et un protocole de synchronisation, un contrôleur ou une pile de routage. Kshana fournit les éléments de preuve de synchronisation temporelle à partir desquels ces systèmes sont conçus. Il n'est pas l'un d'eux.