Сопоставление compliance
Покупатели и производители приёмников отвечают перед общедоступными каркасами устойчивости. В этой папке то, что Kshana вычисляет и записывает, сопоставлено с этими каркасами строка за строкой, а kshana compliance-report заполняет сопоставление по тем прогонам, которые у вас действительно есть.
Формулировки. Выходные данные Kshana подкрепляют доказательствами требование. Это не оценка и не одобрение какого-либо изделия, и ни один из этих файлов не является заявлением органа оценки; Kshana таковым не является. Текст требований пересказан, а не воспроизведён.
| Каркас | Файл |
|---|---|
| US DHS Resilient PNT Conformance Framework, v2.0 | dhs-rpcf.md |
| Рекомендации IMO по помехам для ГНСС на судах | imo-ships.md |
| Рекомендации EASA по помехам для ГНСС в авиации | easa-aviation.md |
| Директива EU NIS2, статья 21 | nis2-art21.md |
| EN 16803 (платный стандарт; только по частям и по номерам пунктов, видимым в каталоге) | en-16803.md |
| NIST IR 8323r1, Foundational PNT Profile (январь 2023) | nist-ir-8323r1.md |
Пакеты стандартов (0,38) превращают каркас в оцениваемые сценарии: в каждом пакете есть сценарии, пороги, заданные до прогона, и строки, которые он подкрепляет доказательствами. kshana standards-pack list показывает их.
| Пакет | Файл |
|---|---|
| DHS Resilient PNT Conformance Framework, профили испытаний для уровней от 1 до 4 | dhs-rpcf-test-profiles.md |
| IMO MSC.1/Circ.1575, обработка данных PNT на судне: уровни точности и целостность | imo-circ-1575.md |
| ICAO Doc 9849, приложение F: мониторинг, оценка и смягчение помех для GNSS | icao-doc9849-appf.md |
Каждый файл перечисляет свои исходные документы с версией, URL, датой прочтения и указанием того, что было и что не было проверено. Источники прочитаны 2026-10-09 (профиль NIST — 2026-10-18; бюллетень EASA и каталожные страницы EN 16803 проверены повторно 2026-10-10). Если источник удалось прочитать только через зеркало или каталожную страницу, файл говорит об этом.
Отчёт#
kshana compliance-report spoof-detect.result.json integrity-raim.result.json session.result.json
записывает compliance-report.compliance.md и compliance-report.compliance.json (--out <base> меняет имя). Входные данные — файлы результатов предыдущих прогонов: прогон сценария записывает <name>.result.json рядом с <name>.toml, а kshana receiver-trust записывает собственный. Вид каждого прогона читается из файла сценария рядом с результатом, из содержимого результата receiver-trust или из поля kind верхнего уровня и должен быть видом, известным движку. Результат указывается как неиспользованный, с причиной, и ничего не засчитывает, если его вид не удаётся найти, он не является известным видом или соседний сценарий и собственное поле kind результата расходятся. (scenario_hash результата и хеш файла сценария не сравниваются: первый движок вычисляет по разобранному сценарию, а хеш файла берётся по тексту, так что это разные величины.)
Одна лишь метка вида не является доказательством. Прогон засчитывается для возможности, только если его результат содержит и поля, которые записывает этот вид (например, результату jamming нужны его показатели качества и строки по эпохам; результату integrity нужны числа отсчётов). Поля перечислены в src/compliance/mapping.rs (KIND_FIELDS), и результат, в котором одного из них нет, не засчитывается. Хеш, не являющийся шестнадцатеричным, не сообщается как хеш. Результат receiver-trust, счётчики которого не являются целыми числами или у которого число обнаруженных или согласующихся превышает число поддающихся оценке, исключается и указывается как неиспользованный.
Для каждой строки отчёт выдаёт одно из:
| Статус | Значение |
|---|---|
evidenced |
каждая названная в строке возможность имеет хотя бы один прогон в наборе |
partly-evidenced |
некоторые имеют |
not-evidenced |
ни одна не имеет |
out-of-scope |
ни один результат Kshana строки не затрагивает |
Столбец пробелов печатается для каждой строки, включая подкреплённые доказательствами: прогон, подкрепляющий доказательствами возможность, всё равно оставляет большую часть требования другим доказательствам. Отчёт повторяет правило формулировок в начале. --mapping печатает статические таблицы, а --sources — список источников.
Прогоны receiver-trust также вносят указанные ими числа (обнаруженные события из поддающихся оценке, согласующиеся предсказания из поддающихся оценке). Они описывают этот журнал, оценённый по событиям и допускам, заданным до прогона, и сообщаются так, как их указывает прогон.
Возможности#
| Возможность | Вывод | Виды прогонов |
|---|---|---|
| Оценка доверия по журналу приёмника | состояние доверия по эпохам по собственному журналу реального приёмника, моменты тревог и согласие с событиями, заданными до прогона | receiver-trust |
| Влияние подавления (jamming) на бюджет линии | отношение мощности несущей к плотности шума и состояние захвата по каждому спутнику при заданной геометрии источника подавления | jamming, lunar-jamming, conflict-resilience |
| Обнаружение спуфинга и meaconing | решения детектора и различающая способность детектора при заданной атаке спуфинга | spoof, spoof-detect, impairment-eval |
| Мониторинг целостности и уровни защиты | уровни защиты, доступность относительно пределов оповещения и результаты обнаружения неисправностей | integrity, araim-reference-check, lunar-integrity |
| Holdover и инерциальное удержание | рост ошибки положения или времени при недоступности GNSS относительно заданного порога | clock, inertial, gnss-ins, ins-trn-coast, hybrid, hybrid-ukf, fusion, timetransfer, quantum-gnss-free-nav, quantum-time-transfer |
| Альтернативные и разнородные источники PNT | характеристики навигации или синхронизации времени по источникам, независимым от основного диапазона GNSS | combined-altpnt, terrain-nav, terrain-slam, gravity-map, leo-pass, leo-pvt, leo-pnt-chain, hybrid-optical-rf, ntn-positioning, hybrid, fusion |
| Оценка устойчивости по ансамблям угроз | коэффициенты выживаемости и устойчивости по каждому вектору угроз для заданного ансамбля, с указанием допущений | conflict-resilience, campaign |
| Происхождение воспроизводимого прогона | хеш сценария, версия движка и начальное значение (seed) содержатся в каждом результате, чтобы прогон можно было повторить | любой прогон, результат которого содержит scenario_hash |