Де Kshana працює, а де ні
Межа обсягу, записана так, щоб ніхто не відкрив її як зобов'язання на нараді.
Скорочення: CPU — центральний процесор; GPU — графічний процесор; NPU — нейронний процесор; FPGA — програмована користувачем вентильна матриця; MCU — мікроконтролер; RTOS — операційна система реального часу; OPS-SAT — супутникова лабораторія програмного забезпечення на орбіті Європейського космічного агентства; PyPI — Python Package Index; MCP — Model Context Protocol; AI — штучний інтелект; JSON — JavaScript Object Notation.
Прогони#
| Ціль | Як | Примітки |
|---|---|---|
| Робочі станції та сервери Linux, macOS і Windows, x86-64 та 64-бітний ARM | двійковий файл kshana або крейт Rust |
випускові двійкові файли для Linux x86-64, macOS (Apple silicon та Intel) і Windows x86-64; на інших цілях збирає його cargo install kshana |
| Python 3,9 або новіший | колесо kshana на PyPI (--features python) |
колеса для Linux, macOS і Windows, x86-64 та 64-бітний ARM |
| Клієнти MCP (агенти ШІ) | сервер kshana-mcp: cargo install kshana-mcp, або образ контейнера |
образ для linux/amd64 і linux/arm64 |
| Браузери та середовища виконання JavaScript | пакет WebAssembly на npm (--features wasm) |
той самий рушій, скомпільований у WebAssembly |
| Невеликий комп'ютер на судні поруч із приймачем | еталонна збірка в deploy/reference-build/: kshana receiver-trust live із перевіркою, що публікує в Signal K і, за вибором, в OpenCPN |
лише консультативно, це не навігаційне обладнання із затвердженням типу; проєкт не випробовував його на судні; див. MARINE-INTEGRATIONS.md |
| Сервери Signal K | втулок у integrations/signalk/ |
постачається й проходить модульні тести на записаному синтетичному виході; не опублікований на npm |
| OpenCPN | NMEA 0183 у режимі перевірки через TCP від монітора | за вибором; див. MARINE-INTEGRATIONS.md |
| Комп'ютери корисного навантаження класу Linux | крейт Rust або двійковий файл, кросскомпільований | Комп'ютери корисного навантаження класу OPS-SAT і подібні |
| Периферійні вузли з GPU, NPU або FPGA поруч із процесором Linux | на процесорі Linux | Kshana не використовує жодного з прискорювачів; вона працює поруч із ними |
Не працює#
Бездискова льотна MCU чи невелика RTOS без стандартної бібліотеки Rust. Kshana — це крейт std повністю: вона виділяє пам'ять у купі, читає файли, форматує JSON і використовує функції з рухомою комою зі стандартної бібліотеки. Збірки no_std немає, і немає жодної функціональної можливості, що її створює.
Рішення: ми не пропонуємо льотного ядра no_std. Його створення було б окремим продуктом зі своїм тягарем верифікації і втягнуло б Kshana в льотне програмне забезпечення, де кваліфікація — окрема програма, шляху до якої ми не маємо.
Що робити натомість#
- Запускайте Kshana на землі або на комп'ютері корисного навантаження і завантажуйте її результати. Вид
slot-timingстворює саме ті числа, які потрібні льотному комп'ютеру: частоту визначень, час порушення, захисний інтервал. Таблиця з них займає кілька байтів. - Перенесіть замкнену форму, якщо потрібна лише вона. Інверсія holdover — це короткий монотонний пошук кореня для поліноміальної дисперсії, задокументований із рівняннями в
SLOT-TIMING.md. Повторна реалізація в льотному коді проста; код, похідний від Kshana, залишається під ліцензією Kshana.
Також поза обсягом#
Жорсткі гарантії реального часу (Kshana виділяє пам'ять і не заявляє про найгірший час виконання); льотна кваліфікація будь-чого; а також протокол синхронізації, контролер чи стек маршрутизації. Kshana постачає докази щодо синхронізації часу, за якими проєктуються ці системи. Вона не є однією з них.