Maschinelle Übersetzung, nicht von einem Muttersprachler geprüft. Englisch ist die maßgebliche Fassung.

APIs und IntegrationenAuf GitHub bearbeitenQuelle: docs/DEPLOYMENT-TARGETS.md

Wo Kshana läuft und wo nicht

Eine Abgrenzung des Umfangs, aufgeschrieben, damit niemand sie in einer Besprechung als Zusage entdeckt.

Abkürzungen: CPU, Hauptprozessor; GPU, Grafikprozessor; NPU, neuronaler Prozessor; FPGA, im Feld programmierbare Gatteranordnung; MCU, Mikrocontroller; RTOS, Echtzeitbetriebssystem; OPS-SAT, das Satelliten-Softwarelabor der Europäischen Weltraumorganisation im Orbit; PyPI, der Python Package Index; MCP, das Model Context Protocol; AI, künstliche Intelligenz; JSON, JavaScript Object Notation.

Läufe#

Ziel Wie Hinweise
Linux-, macOS- und Windows-Arbeitsplätze und -Server, x86-64 und 64-Bit-ARM die Binärdatei kshana oder das Rust-Crate Release-Binärdateien für Linux x86-64, macOS (Apple Silicon und Intel) und Windows x86-64; auf den anderen Zielen baut cargo install kshana es
Python 3,9 oder neuer das Wheel kshana auf PyPI (--features python) Wheels für Linux, macOS und Windows, x86-64 und 64-Bit-ARM
MCP-Clients (KI-Agenten) der Server kshana-mcp: cargo install kshana-mcp oder das Container-Image Image für linux/amd64 und linux/arm64
Browser und JavaScript-Laufzeitumgebungen das WebAssembly-Paket auf npm (--features wasm) dieselbe Engine, nach WebAssembly kompiliert
Ein kleiner Rechner an Bord eines Boots, neben dem Empfänger der Referenz-Build in deploy/reference-build/: kshana receiver-trust live mit dem Gate, das an Signal K und, optional, an OpenCPN veröffentlicht beratend, keine typzugelassene Navigationsausrüstung; vom Projekt nicht auf einem Schiff getestet; siehe MARINE-INTEGRATIONS.md
Signal-K-Server das Plugin in integrations/signalk/ ausgeliefert und mit Unit-Tests an aufgezeichneter synthetischer Ausgabe getestet; nicht auf npm veröffentlicht
OpenCPN NMEA 0183 im Gate-Modus über TCP vom Monitor optional; siehe MARINE-INTEGRATIONS.md
Nutzlastrechner der Linux-Klasse das Rust-Crate oder die Binärdatei, quer kompiliert Nutzlastrechner der OPS-SAT-Klasse und ähnliche
Edge-Knoten mit GPU, NPU oder FPGA neben einer Linux-CPU auf der Linux-CPU Kshana nutzt keinen der Beschleuniger; es läuft neben ihnen

Läuft nicht#

Ein Bare-Metal-Flug-MCU oder ein kleines RTOS ohne die Rust-Standardbibliothek. Kshana ist durchgehend ein std-Crate: Es belegt Speicher auf dem Heap, liest Dateien, formatiert JSON und verwendet die Gleitkommafunktionen der Standardbibliothek. Es gibt keinen no_std-Build und kein Feature, das einen erzeugt.

Entscheidung: Wir bieten keinen no_std-Flugkern an. Ihn zu bauen wäre ein eigenes Produkt mit eigenem Verifikationsaufwand, und es würde Kshana in die Flugsoftware bringen, wo die Qualifizierung ein eigenes Programm ist, für das wir keinen Weg haben.

Was stattdessen zu tun ist#

  • Kshana am Boden oder auf einem Nutzlastrechner ausführen und die Ergebnisse hochladen. Die Art slot-timing liefert genau die Zahlen, die ein Flugrechner braucht: eine Fix-Kadenz, einen Verletzungszeitpunkt, eine Schutzgröße. Eine Tabelle davon umfasst wenige Bytes.
  • Eine geschlossene Form portieren, wenn nur sie benötigt wird. Die Holdover-Inversion ist eine kurze monotone Nullstellensuche über eine Polynomvarianz, mit ihren Gleichungen dokumentiert in SLOT-TIMING.md. Sie in Flugcode neu zu implementieren ist unkompliziert; von Kshana abgeleiteter Code bleibt unter der Lizenz von Kshana.

Ebenfalls außerhalb des Umfangs#

Harte Echtzeitgarantien (Kshana belegt Speicher und macht keine Aussage zur Ausführungszeit im ungünstigsten Fall); die Flugqualifizierung von irgendetwas; sowie ein Synchronisationsprotokoll, ein Regler oder ein Routing-Stack. Kshana liefert die Nachweise zur Zeitgebung, gegen die diese Systeme entworfen werden. Es ist keines davon.