Kde Kshana běží a kde ne
Hranice rozsahu, zapsaná tak, aby ji nikdo neobjevil jako závazek na schůzce.
Zkratky: CPU, centrální procesorová jednotka; GPU, grafický procesor; NPU, neuronový procesor; FPGA, programovatelné hradlové pole; MCU, mikrokontrolér; RTOS, operační systém reálného času; OPS-SAT, softwarová laboratorní družice Evropské kosmické agentury na oběžné dráze; PyPI, Python Package Index; MCP, Model Context Protocol; AI, umělá inteligence; JSON, JavaScript Object Notation.
Běhy#
| Cíl | Jak | Poznámky |
|---|---|---|
| Pracovní stanice a servery s Linuxem, macOS a Windows, x86-64 a 64bitové ARM | binárka kshana nebo crate pro Rust |
vydané binárky pro Linux x86-64, macOS (Apple silicon a Intel) a Windows x86-64; na ostatních cílech ji sestaví cargo install kshana |
| Python 3,9 nebo novější | wheel kshana na PyPI (--features python) |
wheely pro Linux, macOS a Windows, x86-64 a 64bitové ARM |
| Klienti MCP (agenti AI) | server kshana-mcp: cargo install kshana-mcp, nebo obraz kontejneru |
obraz pro linux/amd64 a linux/arm64 |
| Prohlížeče a běhová prostředí JavaScriptu | balíček WebAssembly na npm (--features wasm) |
tentýž engine zkompilovaný do WebAssembly |
| Malý počítač na lodi vedle přijímače | referenční sestavení v deploy/reference-build/: kshana receiver-trust live s bránou, publikující do Signal K a volitelně do OpenCPN |
pouze poradní charakter: nejde o typově schválené navigační zařízení; projekt jej netestoval na plavidle; viz MARINE-INTEGRATIONS.md |
| Servery Signal K | plugin v integrations/signalk/ |
dodáván a jednotkově testován na zaznamenaném syntetickém výstupu; nepublikován na npm |
| OpenCPN | NMEA 0183 v režimu brány přes TCP z monitoru | volitelně; viz MARINE-INTEGRATIONS.md |
| Palubní počítače třídy Linux | crate pro Rust nebo binárka, křížově kompilovaná | Palubní počítače třídy OPS-SAT a podobné |
| Okrajové uzly s GPU, NPU nebo FPGA vedle procesoru Linux | na procesoru Linux | Kshana nepoužívá žádný z akcelerátorů; běží vedle nich |
Neběží#
Letový MCU bez operačního systému nebo malý RTOS bez standardní knihovny Rustu. Kshana je po celou dobu crate std: alokuje na haldě, čte soubory, formátuje JSON a používá funkce plovoucí řádové čárky ze standardní knihovny. Neexistuje žádné sestavení no_std ani žádná funkce, která by jej vytvářela.
Rozhodnutí: letové jádro no_std nenabízíme. Jeho vytvoření by byl samostatný produkt s vlastní zátěží ověřování a vneslo by Kshana do letového softwaru, kde je kvalifikace samostatným programem, k němuž nemáme žádnou cestu.
Co dělat místo toho#
- Provozujte Kshana na zemi nebo na palubním počítači a nahrávejte její výsledky. Druh
slot-timingvytváří přesně ta čísla, která letový počítač potřebuje: kadenci určení polohy, čas překročení, ochranný interval. Tabulka s nimi zabere několik bajtů. - Přeneste uzavřený tvar, pokud je to vše, co je třeba. Inverze holdoveru je krátké monotónní hledání kořene polynomiálního rozptylu, zdokumentované se svými rovnicemi v
SLOT-TIMING.md. Jeho reimplementace v letovém kódu je přímočará; kód odvozený z Kshana zůstává pod licencí Kshana.
Také mimo rozsah#
Záruky tvrdého reálného času (Kshana alokuje a netvrdí nic o době provádění v nejhorším případě); letová kvalifikace čehokoli; a synchronizační protokol, regulátor nebo směrovací zásobník. Kshana dodává časovací důkazy, proti nimž se tyto systémy navrhují. Není jedním z nich.