Tłumaczenie maszynowe, niezweryfikowane przez osobę, dla której polski jest językiem ojczystym. Wzorcem jest wersja angielska.

API i integracjeEdytuj na GitHubieŹródło: docs/DEPLOYMENT-TARGETS.md

Gdzie Kshana działa, a gdzie nie

Granica zakresu, spisana po to, by nikt nie odkrył jej jako zobowiązania na spotkaniu.

Skróty: CPU, central processing unit (procesor); GPU, graphics processing unit (procesor graficzny); NPU, neural processing unit (procesor neuronowy); FPGA, field-programmable gate array; MCU, microcontroller unit (mikrokontroler); RTOS, real-time operating system (system operacyjny czasu rzeczywistego); OPS-SAT, satelita Europejskiej Agencji Kosmicznej będący orbitalnym laboratorium oprogramowania; PyPI, Python Package Index; MCP, Model Context Protocol; AI, sztuczna inteligencja; JSON, JavaScript Object Notation.

Przebiegi#

Cel Jak Uwagi
Stacje robocze i serwery z Linuksem, macOS i Windows, x86-64 i 64-bitowe ARM binarka kshana lub crate Rusta binarki wydaniowe dla Linuksa x86-64, macOS (Apple silicon i Intel) oraz Windows x86-64; na pozostałych celach buduje ją cargo install kshana
Python 3,9 lub nowszy pakiet wheel kshana w PyPI (--features python) pakiety wheel dla Linuksa, macOS i Windows, x86-64 i 64-bitowe ARM
Klienci MCP (agenci AI) serwer kshana-mcp: cargo install kshana-mcp lub obraz kontenera obraz dla linux/amd64 i linux/arm64
Przeglądarki i środowiska uruchomieniowe JavaScriptu pakiet WebAssembly w npm (--features wasm) ten sam silnik, skompilowany do WebAssembly
Mały komputer na łodzi, obok odbiornika wzorcowa kompilacja w deploy/reference-build/: kshana receiver-trust live z bramką, publikująca do Signal K i, opcjonalnie, do OpenCPN wyłącznie doradczo, nie jest to sprzęt nawigacyjny z zatwierdzeniem typu; projekt nie testował tego na statku; zob. MARINE-INTEGRATIONS.md
Serwery Signal K wtyczka w integrations/signalk/ dostarczona i przetestowana jednostkowo na zarejestrowanym wyniku syntetycznym; nieopublikowana w npm
OpenCPN NMEA 0183 w trybie bramki przez TCP z monitora opcjonalnie; zob. MARINE-INTEGRATIONS.md
Komputery ładunku klasy Linux crate Rusta lub binarka, kompilowane skrośnie Komputery ładunku klasy OPS-SAT i podobne
Węzły brzegowe z GPU, NPU lub FPGA obok procesora Linux na procesorze Linux Kshana nie używa żadnych akceleratorów; działa obok nich

Nie działa#

Bare-metalowy lotniczy MCU lub mały RTOS bez standardowej biblioteki Rusta. Kshana jest w całości crate'em std: alokuje na stercie, czyta pliki, formatuje JSON i używa funkcji zmiennoprzecinkowych biblioteki standardowej. Nie ma kompilacji no_std ani cechy, która by ją tworzyła.

Decyzja: nie oferujemy rdzenia lotniczego no_std. Jego zbudowanie byłoby osobnym produktem z własnym obciążeniem weryfikacyjnym i wprowadziłoby Kshana do oprogramowania lotniczego, gdzie kwalifikacja jest odrębnym programem, do którego nie mamy żadnej drogi.

Co robić zamiast tego#

  • Uruchom Kshana na ziemi lub na komputerze ładunku i prześlij jego wyniki. Rodzaj slot-timing wytwarza dokładnie te liczby, których potrzebuje komputer pokładowy: kadencję rozwiązań, czas przekroczenia, margines. Tabela z nimi to kilka bajtów.
  • Przenieś wzór zamknięty, jeśli tylko on jest potrzebny. Inwersja holdover to krótkie monotoniczne wyszukiwanie pierwiastka wielomianowej wariancji, udokumentowane wraz z równaniami w SLOT-TIMING.md. Ponowna implementacja w kodzie lotniczym jest prosta; kod wywiedziony z Kshana pozostaje na licencji Kshana.

Także poza zakresem#

Twarde gwarancje czasu rzeczywistego (Kshana alokuje pamięć i nie podaje żadnego twierdzenia o czasie wykonania w najgorszym przypadku); kwalifikacja lotnicza czegokolwiek; oraz protokół synchronizacji, sterownik lub stos routingu. Kshana dostarcza dowody dotyczące synchronizacji czasu, względem których te systemy są projektowane. Nie jest żadnym z nich.