Machinevertaling, niet beoordeeld door een moedertaalspreker. Engels is de referentie.

Compliance en test benchBewerken op GitHubBron: docs/compliance/README.md

Compliance-koppeling

Kopers en ontvangerfabrikanten verantwoorden zich tegenover openbare veerkrachtkaders. Deze map koppelt wat Kshana berekent en vastlegt rij voor rij aan die kaders, en kshana compliance-report vult de koppeling in vanuit de runs die u daadwerkelijk hebt.

Formulering. De uitvoer van Kshana levert bewijs voor een eis. Het is geen beoordeling of goedkeuring van enig product, en geen van deze bestanden is een verklaring van een beoordelende instantie; Kshana is dat ook niet. De tekst van eisen is geparafraseerd en nooit letterlijk overgenomen.

Kader Bestand
US DHS Resilient PNT Conformance Framework, v2.0 dhs-rpcf.md
IMO-richtsnoer voor GNSS-interferentie bij schepen imo-ships.md
EASA-richtsnoer voor GNSS-interferentie in de luchtvaart easa-aviation.md
EU NIS2-richtlijn, artikel 21 nis2-art21.md
EN 16803 (betaalde norm; alleen per deel en met in de catalogus zichtbare clausulenummers) en-16803.md
NIST IR 8323r1, Foundational PNT Profile (januari 2023) nist-ir-8323r1.md

Standaardpakketten (0,38) maken van een kader scenario's met een score: elk pakket heeft scenario's, drempels die vóór de run zijn vastgelegd en rijen waarvoor het bewijs levert. kshana standards-pack list toont ze.

Pakket Bestand
DHS Resilient PNT Conformance Framework, testprofielen voor niveau 1 tot 4 dhs-rpcf-test-profiles.md
IMO MSC.1/Circ.1575, PNT-gegevensverwerking aan boord van schepen: nauwkeurigheidsniveaus en integriteit imo-circ-1575.md
ICAO Doc 9849 Appendix F, GNSS-interferentie bewaken, beoordelen en beperken icao-doc9849-appf.md

Elk bestand somt zijn brondocumenten op met versie, URL, leesdatum en wat wel en niet is gecontroleerd. De bronnen zijn gelezen op 2026-10-09 (het NIST-profiel op 2026-10-18; het EASA-bulletin en de cataloguspagina's van EN 16803 zijn opnieuw gecontroleerd op 2026-10-10). Waar een bron alleen via een mirror of een cataloguspagina kon worden gelezen, staat dat in het bestand.

Elke test van de drie standaardpakketten met score, uit echte runs van engine v0.40.0 (`kshana standards-pack run`): dhs-rpcf: 6 gehaald, 1 niet gehaald, 2 hebben invoer nodig; imo-circ-1575: 1 gehaald, 4 niet gehaald, 2 hebben invoer nodig; icao-doc9849-appf: 6 gehaald, 0 niet gehaald, 2 hebben invoer nodig. In totaal 13 gehaald, 5 niet gehaald en 6 hebben invoer nodig die de engine niet heeft (een ontvangerlog of apparatuurdocumentatie). Elke drempel is vóór de run vastgelegd; een misser blijft een misser. Een gehaalde drempel zegt dat een gemodelleerd scenario een vastgelegde drempel haalde, niets over een product. De pakketten leveren bewijs voor de rijen die ze noemen; ze zijn geen beoordeling. Adviserend: analyse-uitvoer van een onderzoeks- en engineeringhulpmiddel, geen typegoedgekeurde navigatieapparatuur en geen veiligheidsdienst voor mensenlevens; het mag niet de enige basis zijn voor een navigatie- of veiligheidsbeslissing.Elke test van de drie standaardpakketten met score, uit echte runs van engine v0.40.0 (`kshana standards-pack run`): dhs-rpcf: 6 gehaald, 1 niet gehaald, 2 hebben invoer nodig; imo-circ-1575: 1 gehaald, 4 niet gehaald, 2 hebben invoer nodig; icao-doc9849-appf: 6 gehaald, 0 niet gehaald, 2 hebben invoer nodig. In totaal 13 gehaald, 5 niet gehaald en 6 hebben invoer nodig die de engine niet heeft (een ontvangerlog of apparatuurdocumentatie). Elke drempel is vóór de run vastgelegd; een misser blijft een misser. Een gehaalde drempel zegt dat een gemodelleerd scenario een vastgelegde drempel haalde, niets over een product. De pakketten leveren bewijs voor de rijen die ze noemen; ze zijn geen beoordeling. Adviserend: analyse-uitvoer van een onderzoeks- en engineeringhulpmiddel, geen typegoedgekeurde navigatieapparatuur en geen veiligheidsdienst voor mensenlevens; het mag niet de enige basis zijn voor een navigatie- of veiligheidsbeslissing.

Het rapport#

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

schrijft compliance-report.compliance.md en compliance-report.compliance.json (--out <base> wijzigt de naam). De invoer bestaat uit resultaatbestanden van eerdere runs: een scenariorun schrijft <name>.result.json naast <name>.toml, en kshana receiver-trust schrijft een eigen resultaat. De soort van elke run wordt gelezen uit het scenariobestand naast het resultaat, uit de inhoud van een receiver-trust-resultaat of uit een kind op het hoogste niveau, en moet een soort zijn die de engine kent. Een resultaat wordt vermeld als niet gebruikt, met de reden, en telt nergens voor mee wanneer de soort niet te vinden is, geen bekende soort is, of het bijbehorende scenario en de eigen kind van het resultaat niet overeenstemmen. (De scenario_hash van het resultaat en een hash van het scenariobestand worden niet vergeleken: de engine berekent de eerste over zijn geparseerde scenario en een bestandshash is over de tekst, dus het zijn verschillende grootheden.)

Een soortlabel alleen is geen bewijs. Een run telt pas mee voor een mogelijkheid wanneer het resultaat ook de velden bevat die die soort schrijft (een jamming-resultaat heeft bijvoorbeeld zijn kwaliteitsmaten en rijen per epoch nodig; een integrity-resultaat heeft zijn aantallen samples nodig). De velden staan in src/compliance/mapping.rs (KIND_FIELDS) en een resultaat waarin er een ontbreekt, telt niet mee. Een hash die niet hexadecimaal is, wordt niet als hash gemeld. Een receiver-trust-resultaat waarvan de aantallen geen gehele getallen zijn, of waarvan het aantal gedetecteerde of overeenstemmende gevallen het aantal beoordeelbare overschrijdt, wordt uitgesloten en als niet gebruikt vermeld.

Voor elke rij geeft het rapport een van de volgende:

Status Betekenis
evidenced elke mogelijkheid die de rij noemt, heeft ten minste één run in de set
partly-evidenced sommige wel
not-evidenced geen enkele
out-of-scope geen enkele uitvoer van Kshana gaat over de rij

De kolom met de leemte wordt voor elke rij afgedrukt, ook voor rijen met bewijs: een run die bewijs levert voor een mogelijkheid laat het grootste deel van een eis nog aan ander bewijs over. Het rapport herhaalt de formuleringsregel aan het begin. --mapping drukt de statische tabellen af en --sources de bronnenlijst.

Receiver-trust-runs leveren ook de aantallen die ze vermelden (gedetecteerde gebeurtenissen van de beoordeelbare, overeenstemmende voorspellingen van de beoordeelbare). Die beschrijven die log, beoordeeld aan de hand van gebeurtenissen en toleranties die vóór de run zijn vastgelegd, en worden gemeld zoals de run ze vermeldt.

Mogelijkheden#

Mogelijkheid Uitvoer Runsoorten
Beoordeling van het vertrouwen in ontvangerlogs vertrouwenstoestand per epoch uit de eigen log van een echte ontvanger, alarmtijden en overeenstemming met gebeurtenissen die vóór de run zijn vastgelegd receiver-trust
Effecten van jamming op het linkbudget draaggolf-ruisdichtheid en lock-toestand per satelliet bij een vastgelegde jammergeometrie jamming, lunar-jamming, conflict-resilience
Detectie van spoofing en meaconing beslissingen van de detector en onderscheidend vermogen van de detector bij een vastgelegde spoofingaanval spoof, spoof-detect, impairment-eval
Integriteitsbewaking en beschermingsniveaus beschermingsniveaus, beschikbaarheid ten opzichte van alarmlimieten en resultaten van foutdetectie integrity, araim-reference-check, lunar-integrity
Holdover en coasting groei van de positie- of tijdfout terwijl GNSS wordt geweigerd, ten opzichte van een vastgelegde drempel clock, inertial, gnss-ins, ins-trn-coast, hybrid, hybrid-ukf, fusion, timetransfer, quantum-gnss-free-nav, quantum-time-transfer
Alternatieve en diverse PNT-bronnen navigatie- of tijdsynchronisatieprestaties uit bronnen die onafhankelijk zijn van de primaire GNSS-band combined-altpnt, terrain-nav, terrain-slam, gravity-map, leo-pass, leo-pvt, leo-pnt-chain, hybrid-optical-rf, ntn-positioning, hybrid, fusion
Veerkrachtscore over bedreigingsensembles overlevings- en veerkrachtverhoudingen per bedreigingsvector over een vastgelegd ensemble, met vermelding van de aannames conflict-resilience, campaign
Reproduceerbare herkomst van runs scenario-hash, engineversie en seed in elk resultaat, zodat een run kan worden herhaald elke run waarvan het resultaat een scenario_hash bevat