Maskinoversættelse, ikke gennemgået af en modersmålstalende. Engelsk er referencen.

Compliance og test benchRedigér på GitHubKilde: docs/compliance/README.md

Compliance-kortlægning

Købere og modtagerproducenter skal stå til regnskab over for offentlige rammer for robusthed. Denne mappe knytter række for række det, Kshana beregner og registrerer, til disse rammer, og kshana compliance-report udfylder koblingen ud fra de kørsler, du faktisk har.

Formulering. Output fra Kshana leverer belæg for et krav. De er ikke en bedømmelse eller godkendelse af noget produkt, og ingen af disse filer er en udtalelse fra et vurderingsorgan; det er Kshana ikke. Kravtekst er omskrevet, aldrig gengivet ordret.

Ramme Fil
US DHS Resilient PNT Conformance Framework, v2.0 dhs-rpcf.md
IMO's vejledning om GNSS-interferens for skibe imo-ships.md
EASA's vejledning om GNSS-interferens for luftfart easa-aviation.md
EU's NIS2-direktiv, artikel 21 nis2-art21.md
EN 16803 (betalingsstandard; kun efter del og klausulnumre, der er synlige i kataloget) en-16803.md
NIST IR 8323r1, Foundational PNT Profile (januar 2023) nist-ir-8323r1.md

Standardpakker (0,38) gør en ramme om til scorede scenarier: hver pakke har scenarier, tærskler fastsat før kørslen og rækker, den leverer belæg for. kshana standards-pack list viser dem.

Pakke Fil
DHS Resilient PNT Conformance Framework, testprofiler for niveau 1 til 4 dhs-rpcf-test-profiles.md
IMO MSC.1/Circ.1575, PNT-databehandling om bord på skibe: nøjagtighedsniveauer og integritet imo-circ-1575.md
ICAO Doc 9849 Appendix F, overvåg, vurder og afbød GNSS-interferens icao-doc9849-appf.md

Hver fil oplister sine kildedokumenter med version, URL, læsedato og hvad der blev og ikke blev kontrolleret. Kilderne blev læst den 2026-10-09 (NIST-profilen den 2026-10-18; EASA-bulletinen og katalogsiderne for EN 16803 blev kontrolleret igen den 2026-10-10). Hvor en kilde kun kunne læses via et spejl eller en katalogside, siger filen det.

Hver test i de tre scorede standardpakker, fra rigtige kørsler af motoren v0.40.0 (`kshana standards-pack run`): dhs-rpcf: 6 nået, 1 ikke nået, 2 mangler et input; imo-circ-1575: 1 nået, 4 ikke nået, 2 mangler et input; icao-doc9849-appf: 6 nået, 0 ikke nået, 2 mangler et input. I alt 13 nået, 5 ikke nået og 6 mangler et input, som motoren ikke har (en modtagerlog eller udstyrsdokumentation). Hver tærskel blev fastsat før kørslen; en miss forbliver en miss. En nået tærskel siger, at et modelleret scenarie nåede en angivet tærskel, intet om et produkt. Pakkerne leverer belæg for de rækker, de henviser til; de er ikke en vurdering. Vejledende: analyseoutput fra et forsknings- og ingeniørværktøj, ikke typegodkendt navigationsudstyr og ikke en sikkerhedskritisk tjeneste (safety-of-life); det må ikke være det eneste grundlag for nogen navigations- eller sikkerhedsbeslutning.Hver test i de tre scorede standardpakker, fra rigtige kørsler af motoren v0.40.0 (`kshana standards-pack run`): dhs-rpcf: 6 nået, 1 ikke nået, 2 mangler et input; imo-circ-1575: 1 nået, 4 ikke nået, 2 mangler et input; icao-doc9849-appf: 6 nået, 0 ikke nået, 2 mangler et input. I alt 13 nået, 5 ikke nået og 6 mangler et input, som motoren ikke har (en modtagerlog eller udstyrsdokumentation). Hver tærskel blev fastsat før kørslen; en miss forbliver en miss. En nået tærskel siger, at et modelleret scenarie nåede en angivet tærskel, intet om et produkt. Pakkerne leverer belæg for de rækker, de henviser til; de er ikke en vurdering. Vejledende: analyseoutput fra et forsknings- og ingeniørværktøj, ikke typegodkendt navigationsudstyr og ikke en sikkerhedskritisk tjeneste (safety-of-life); det må ikke være det eneste grundlag for nogen navigations- eller sikkerhedsbeslutning.

Rapporten#

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

skriver compliance-report.compliance.md og compliance-report.compliance.json (--out <base> ændrer navnet). Inputtet er resultatfiler fra tidligere kørsler: en scenariekørsel skriver <name>.result.json ved siden af <name>.toml, og kshana receiver-trust skriver sin egen. Typen af hver kørsel læses fra scenariefilen ved siden af resultatet, fra indholdet af et receiver-trust-resultat eller fra en kind på øverste niveau, og skal være en type, motoren kender. Et resultat opføres som ikke brugt, med begrundelsen, og tæller for intet, når dets type ikke kan findes, ikke er en kendt type, eller når den tilhørende scenariefil og resultatets egen kind er uenige. (Resultatets scenario_hash og en hash af scenariefilen sammenlignes ikke: motoren beregner den første over sit fortolkede scenarie, og en filhash er over teksten, så de er forskellige størrelser.)

En typebetegnelse alene er ikke evidens. En kørsel tæller for en funktion kun, når dens resultat også indeholder de felter, den type skriver (for eksempel kræver et jamming-resultat sine kvalitetsmål og rækker pr. epoke; et integrity-resultat kræver sine stikprøveantal). Felterne er opført i src/compliance/mapping.rs (KIND_FIELDS), og et resultat, hvor et af dem mangler, tælles ikke med. En hash, der ikke er hexadecimal, rapporteres ikke som en hash. Et receiver-trust-resultat, hvis antal ikke er hele tal, eller hvor antallet af detekterede eller enige overstiger antallet af evaluerbare, udelukkes og opføres som ikke brugt.

For hver række angiver rapporten en af:

Status Betydning
evidenced hver funktion, rækken nævner, har mindst én kørsel i sættet
partly-evidenced nogle har
not-evidenced ingen har
out-of-scope intet output fra Kshana berører rækken

Kolonnen med mangler udskrives for hver række, også de dokumenterede: en kørsel, der leverer belæg for en funktion, lader stadig det meste af et krav høre under anden evidens. Rapporten gentager formuleringsreglen i toppen. --mapping udskriver de statiske tabeller og --sources kildelisten.

Receiver-trust-kørsler bidrager også med de antal, de angiver (detekterede hændelser ud af de evaluerbare, enige forudsigelser ud af de evaluerbare). De beskriver den pågældende log, scoret mod hændelser og tolerancer fastsat før kørslen, og rapporteres, som kørslen angiver dem.

Funktioner#

Funktion Output Kørselstyper
Vurdering af tillid til modtagerlog tillidstilstand pr. epoke fra en rigtig modtagers egen log, alarmtidspunkter og enighed med hændelser fastsat før kørslen receiver-trust
Jamming: virkninger på linkbudgettet bærebølge-til-støj-densitet og låsetilstand pr. satellit under en angiven jammer-geometri jamming, lunar-jamming, conflict-resilience
Detektion af spoofing og meaconing detektorbeslutninger og detektorens skelneevne under et angivet spoofing-angreb spoof, spoof-detect, impairment-eval
Integritetsmonitorering og beskyttelsesniveauer beskyttelsesniveauer, tilgængelighed i forhold til alarmgrænser og resultater af fejldetektion integrity, araim-reference-check, lunar-integrity
Holdover og coasting vækst i positions- eller tidsfejl, mens GNSS er nægtet, i forhold til en angivet tærskel clock, inertial, gnss-ins, ins-trn-coast, hybrid, hybrid-ukf, fusion, timetransfer, quantum-gnss-free-nav, quantum-time-transfer
Alternative og diversificerede PNT-kilder navigations- eller tidsydelse fra kilder, der er uafhængige af det primære GNSS-bånd combined-altpnt, terrain-nav, terrain-slam, gravity-map, leo-pass, leo-pvt, leo-pnt-chain, hybrid-optical-rf, ntn-positioning, hybrid, fusion
Scoring af robusthed over trusselsensembler overlevelses- og robusthedsforhold pr. trusselsvektor over et angivet ensemble, med antagelserne angivet conflict-resilience, campaign
Reproducerbar proveniens for kørsler scenariehash, motorversion og seed følger med i hvert resultat, så en kørsel kan gentages enhver kørsel, hvis resultat indeholder en scenario_hash