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

Compliance i bench testowyEdytuj na GitHubieŹródło: docs/compliance/README.md

Mapowanie compliance

Nabywcy i producenci odbiorników odpowiadają przed publicznymi ramami odporności. Ten folder wiersz po wierszu odwzorowuje to, co Kshana oblicza i rejestruje, na te ramy, a kshana compliance-report wypełnia odwzorowanie na podstawie przebiegów, którymi faktycznie dysponujesz.

Sformułowania. Wyniki Kshana dostarczają dowodów na spełnienie wymagania. Nie są oceną ani zatwierdzeniem żadnego produktu, a żaden z tych plików nie jest oświadczeniem organu oceniającego; Kshana takim organem nie jest. Treść wymagań jest sparafrazowana, nigdy nie jest powielana.

Ramy Plik
US DHS Resilient PNT Conformance Framework, v2.0 dhs-rpcf.md
Wytyczne IMO dotyczące zakłóceń GNSS dla statków imo-ships.md
Wytyczne EASA dotyczące zakłóceń GNSS dla lotnictwa easa-aviation.md
Dyrektywa UE NIS2, art. 21 nis2-art21.md
EN 16803 (norma płatna; wyłącznie według części i numerów klauzul widocznych w katalogu) en-16803.md
NIST IR 8323r1, Foundational PNT Profile (styczeń 2023) nist-ir-8323r1.md

Pakiety norm (0,38) zamieniają ramy w scenariusze z oceną: każdy pakiet ma scenariusze, progi ustalone przed przebiegiem i wiersze, dla których dostarcza dowodów. kshana standards-pack list je pokazuje.

Pakiet Plik
DHS Resilient PNT Conformance Framework, profile testowe dla poziomów 1 do 4 dhs-rpcf-test-profiles.md
IMO MSC.1/Circ.1575, okrętowe przetwarzanie danych PNT: poziomy dokładności i integralność imo-circ-1575.md
ICAO Doc 9849 Appendix F, monitorowanie, ocena i ograniczanie zakłóceń GNSS icao-doc9849-appf.md

Każdy plik wymienia swoje dokumenty źródłowe z wersją, adresem URL, datą odczytu oraz informacją, co sprawdzono, a czego nie. Źródła odczytano 2026-10-09 (profil NIST 2026-10-18; biuletyn EASA i strony katalogowe EN 16803 sprawdzono ponownie 2026-10-10). Gdy źródło dało się odczytać tylko przez lustro lub stronę katalogową, plik to zaznacza.

Każdy test trzech ocenianych pakietów norm, z rzeczywistych przebiegów silnika v0.40.0 (`kshana standards-pack run`): dhs-rpcf: 6 spełnionych, 1 niespełniony, 2 wymagają danych wejściowych; imo-circ-1575: 1 spełniony, 4 niespełnione, 2 wymagają danych wejściowych; icao-doc9849-appf: 6 spełnionych, 0 niespełnionych, 2 wymagają danych wejściowych. Łącznie 13 spełnionych, 5 niespełnionych i 6 wymaga danych wejściowych, których silnik nie ma (dziennika odbiornika lub dokumentacji sprzętu). Każdy próg ustalono przed przebiegiem; niespełniony próg pozostaje niespełniony. Spełniony próg oznacza, że modelowany scenariusz spełnił podany próg, i nic nie mówi o produkcie. Pakiety dostarczają dowodów dla cytowanych wierszy; nie są oceną. Wyłącznie doradczo: wynik analizy z narzędzia badawczo-inżynieryjnego; nie jest to sprzęt nawigacyjny z zatwierdzeniem typu ani usługa bezpieczeństwa życia; nie może być jedyną podstawą żadnej decyzji nawigacyjnej ani dotyczącej bezpieczeństwa.Każdy test trzech ocenianych pakietów norm, z rzeczywistych przebiegów silnika v0.40.0 (`kshana standards-pack run`): dhs-rpcf: 6 spełnionych, 1 niespełniony, 2 wymagają danych wejściowych; imo-circ-1575: 1 spełniony, 4 niespełnione, 2 wymagają danych wejściowych; icao-doc9849-appf: 6 spełnionych, 0 niespełnionych, 2 wymagają danych wejściowych. Łącznie 13 spełnionych, 5 niespełnionych i 6 wymaga danych wejściowych, których silnik nie ma (dziennika odbiornika lub dokumentacji sprzętu). Każdy próg ustalono przed przebiegiem; niespełniony próg pozostaje niespełniony. Spełniony próg oznacza, że modelowany scenariusz spełnił podany próg, i nic nie mówi o produkcie. Pakiety dostarczają dowodów dla cytowanych wierszy; nie są oceną. Wyłącznie doradczo: wynik analizy z narzędzia badawczo-inżynieryjnego; nie jest to sprzęt nawigacyjny z zatwierdzeniem typu ani usługa bezpieczeństwa życia; nie może być jedyną podstawą żadnej decyzji nawigacyjnej ani dotyczącej bezpieczeństwa.

Raport#

kshana compliance-report spoof-detect.result.json integrity-raim.result.json session.result.json

zapisuje compliance-report.compliance.md i compliance-report.compliance.json (--out <base> zmienia nazwę). Danymi wejściowymi są pliki wyników z wcześniejszych przebiegów: przebieg scenariusza zapisuje <name>.result.json obok <name>.toml, a kshana receiver-trust zapisuje własny. Rodzaj każdego przebiegu odczytuje się z pliku scenariusza leżącego obok wyniku, z treści wyniku receiver-trust albo z pola kind na najwyższym poziomie, i musi to być rodzaj znany silnikowi. Wynik jest wymieniany jako nieużyty, wraz z powodem, i nie liczy się do niczego, gdy nie da się znaleźć jego rodzaju, nie jest to znany rodzaj albo sąsiedni scenariusz i własne pole kind wyniku się nie zgadzają. (scenario_hash wyniku i skrót pliku scenariusza nie są porównywane: silnik oblicza pierwszy z przetworzonego scenariusza, a skrót pliku dotyczy tekstu, więc to różne wielkości.)

Sama etykieta rodzaju nie jest dowodem. Przebieg liczy się dla danej możliwości tylko wtedy, gdy jego wynik zawiera także pola zapisywane przez ten rodzaj (na przykład wynik jamming wymaga wskaźników jakości i wierszy dla poszczególnych epok; wynik integrity wymaga liczebności próbek). Pola wymieniono w src/compliance/mapping.rs (KIND_FIELDS), a wynik, w którym brakuje któregoś z nich, nie jest liczony. Skrót, który nie jest szesnastkowy, nie jest zgłaszany jako skrót. Wynik receiver-trust, którego liczebności nie są liczbami całkowitymi albo w którym liczba wykryć lub zgodnych przekracza liczbę możliwych do oceny, jest wyłączany i wymieniany jako nieużyty.

Dla każdego wiersza raport podaje jedną z wartości:

Status Znaczenie
evidenced każda możliwość wymieniona w wierszu ma co najmniej jeden przebieg w zestawie
partly-evidenced niektóre mają
not-evidenced żadna nie ma
out-of-scope żaden wynik Kshana nie odnosi się do tego wiersza

Kolumna luki jest drukowana dla każdego wiersza, także dla tych z dowodami: przebieg, który dostarcza dowodów na jakąś możliwość, nadal pozostawia większość wymagania innym dowodom. Raport powtarza na początku regułę sformułowań. --mapping drukuje tabele statyczne, a --sources listę źródeł.

Przebiegi receiver-trust wnoszą także liczebności, które podają (zdarzenia wykryte spośród możliwych do oceny, predykcje zgodne spośród możliwych do oceny). Opisują one dany dziennik, oceniony względem zdarzeń i tolerancji ustalonych przed przebiegiem, i są podawane tak, jak podaje je przebieg.

Możliwości#

Możliwość Wynik Rodzaje przebiegów
Ocena zaufania do dziennika odbiornika stan zaufania w każdej epoce z własnego dziennika rzeczywistego odbiornika, czasy alarmów oraz zgodność ze zdarzeniami ustalonymi przed przebiegiem receiver-trust
Skutki zagłuszania w bilansie łącza stosunek nośnej do gęstości szumu i stan śledzenia dla każdego satelity przy podanej geometrii zagłuszacza jamming, lunar-jamming, conflict-resilience
Detekcja spoofingu i meaconingu decyzje detektora i zdolność detektora do rozróżniania przy podanym ataku spoofingowym spoof, spoof-detect, impairment-eval
Monitorowanie integralności i poziomy ochrony poziomy ochrony, dostępność względem limitów alarmowych i wyniki detekcji usterek integrity, araim-reference-check, lunar-integrity
Holdover i dryf bezwładnościowy narastanie błędu pozycji lub czasu przy odmowie dostępu do GNSS, względem podanego progu clock, inertial, gnss-ins, ins-trn-coast, hybrid, hybrid-ukf, fusion, timetransfer, quantum-gnss-free-nav, quantum-time-transfer
Alternatywne i zróżnicowane źródła PNT parametry nawigacji lub synchronizacji czasu ze źródeł niezależnych od podstawowego pasma GNSS combined-altpnt, terrain-nav, terrain-slam, gravity-map, leo-pass, leo-pvt, leo-pnt-chain, hybrid-optical-rf, ntn-positioning, hybrid, fusion
Ocena odporności na zbiorach zagrożeń wskaźniki przetrwania i odporności dla każdego wektora zagrożenia w podanym zbiorze, z podanymi założeniami conflict-resilience, campaign
Odtwarzalne pochodzenie przebiegu skrót scenariusza, wersja silnika i ziarno (seed) zapisane w każdym wyniku, aby przebieg można było powtórzyć każdy przebieg, którego wynik zawiera scenario_hash