Maskinöversättning, inte granskad av en modersmålstalare. Engelska är referensen.

Compliance och testbänkRedigera på GitHubKälla: docs/compliance/README.md

Compliance-kartläggning

Köpare och mottagartillverkare svarar inför offentliga ramverk för resiliens. Den här mappen kartlägger vad Kshana beräknar och registrerar mot dessa ramverk, rad för rad, och kshana compliance-report fyller i kartläggningen utifrån de körningar du faktiskt har.

Ordval. Kshanas utdata ger belägg för ett krav. De är inte ett betyg på eller ett godkännande av någon produkt, och ingen av dessa filer är ett uttalande från ett bedömningsorgan; Kshana är inget sådant. Kravtexten är omskriven, aldrig återgiven.

Ramverk Fil
US DHS Resilient PNT Conformance Framework, v2.0 dhs-rpcf.md
IMO:s vägledning om GNSS-störning för fartyg imo-ships.md
EASA:s vägledning om GNSS-störning för luftfart easa-aviation.md
EU:s NIS2-direktiv, artikel 21 nis2-art21.md
EN 16803 (avgiftsbelagd standard; endast per del och katalogsynliga klausulnummer) en-16803.md
NIST IR 8323r1, Foundational PNT Profile (januari 2023) nist-ir-8323r1.md

Standardpaket (0,38) omvandlar ett ramverk till poängsatta scenarier: varje paket har scenarier, trösklar som fastställts före körningen och rader det ger belägg för. kshana standards-pack list visar dem.

Paket Fil
DHS Resilient PNT Conformance Framework, testprofiler för nivåerna 1 till 4 dhs-rpcf-test-profiles.md
IMO MSC.1/Circ.1575, databehandling för PNT ombord på fartyg: noggrannhetsnivåer och integritet imo-circ-1575.md
ICAO Doc 9849 Appendix F, övervaka, bedöma och begränsa GNSS-störning icao-doc9849-appf.md

Varje fil listar sina källdokument med version, URL, datum för läsning och vad som kontrollerades och inte kontrollerades. Källorna lästes den 2026-10-09 (NIST-profilen den 2026-10-18; EASA-bulletinen och katalogsidorna för EN 16803 kontrollerades på nytt den 2026-10-10). Där en källa bara kunde läsas via en spegel eller en katalogsida anges det i filen.

Varje test i de tre poängsatta standardpaketen, från verkliga körningar av motor v0.40.0 (`kshana standards-pack run`): dhs-rpcf: 6 uppfyllda, 1 inte uppfylld, 2 kräver indata; imo-circ-1575: 1 uppfylld, 4 inte uppfyllda, 2 kräver indata; icao-doc9849-appf: 6 uppfyllda, 0 inte uppfyllda, 2 kräver indata. Totalt 13 uppfyllda, 5 inte uppfyllda och 6 kräver indata som motorn inte har (en mottagarlogg eller utrustningsdokumentation). Varje tröskel fastställdes före körningen; en miss behålls som en miss. En uppnådd tröskel säger att ett modellerat scenario nådde en angiven tröskel, inget om en produkt. Paketen ger belägg för de rader de hänvisar till; de är inte en bedömning. Rådgivande: analysutdata från ett forsknings- och ingenjörsverktyg, inte typgodkänd navigationsutrustning och inte en livräddande tjänst; det får inte vara den enda grunden för något navigerings- eller säkerhetsbeslut.Varje test i de tre poängsatta standardpaketen, från verkliga körningar av motor v0.40.0 (`kshana standards-pack run`): dhs-rpcf: 6 uppfyllda, 1 inte uppfylld, 2 kräver indata; imo-circ-1575: 1 uppfylld, 4 inte uppfyllda, 2 kräver indata; icao-doc9849-appf: 6 uppfyllda, 0 inte uppfyllda, 2 kräver indata. Totalt 13 uppfyllda, 5 inte uppfyllda och 6 kräver indata som motorn inte har (en mottagarlogg eller utrustningsdokumentation). Varje tröskel fastställdes före körningen; en miss behålls som en miss. En uppnådd tröskel säger att ett modellerat scenario nådde en angiven tröskel, inget om en produkt. Paketen ger belägg för de rader de hänvisar till; de är inte en bedömning. Rådgivande: analysutdata från ett forsknings- och ingenjörsverktyg, inte typgodkänd navigationsutrustning och inte en livräddande tjänst; det får inte vara den enda grunden för något navigerings- eller säkerhetsbeslut.

Rapporten#

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

skriver compliance-report.compliance.md och compliance-report.compliance.json (--out <base> ändrar namnet). Indata är resultatfiler från tidigare körningar: en scenariokörning skriver <name>.result.json bredvid <name>.toml, och kshana receiver-trust skriver sin egen. Varje körnings sort läses från scenariofilen bredvid resultatet, från innehållet i ett receiver-trust-resultat eller från ett kind på toppnivå, och måste vara en sort som motorn känner till. Ett resultat listas som oanvänt, med skälet, och räknas inte alls när dess sort inte kan hittas, inte är en känd sort, eller när den intilliggande scenariofilen och resultatets eget kind inte stämmer överens. (Resultatets scenario_hash och ett hashvärde av scenariofilen jämförs inte: motorn beräknar det förra över sitt tolkade scenario och ett filhashvärde avser texten, så de är olika storheter.)

Enbart en sortsetikett är inget belägg. En körning räknas för en förmåga först när dess resultat också innehåller de fält som sorten skriver (till exempel behöver ett jamming-resultat sina kvalitetsmått och rader per epok; ett integrity-resultat behöver sina provantal). Fälten listas i src/compliance/mapping.rs (KIND_FIELDS) och ett resultat som saknar ett räknas inte. Ett hashvärde som inte är hexadecimalt rapporteras inte som ett hashvärde. Ett receiver-trust-resultat vars antal inte är heltal, eller vars antal detekterade eller överensstämmande överstiger antalet utvärderingsbara, utesluts och listas som oanvänt.

För varje rad anger rapporten ett av följande:

Status Betydelse
evidenced varje förmåga som raden nämner har minst en körning i uppsättningen
partly-evidenced vissa har det
not-evidenced ingen har det
out-of-scope inga Kshana-utdata gäller raden

Kolumnen för luckor skrivs ut för varje rad, även de med belägg: en körning som ger belägg för en förmåga lämnar ändå större delen av ett krav åt annat belägg. Rapporten upprepar ordvalsregeln i sin början. --mapping skriver ut de statiska tabellerna och --sources källistan.

Receiver-trust-körningar bidrar också med de antal de anger (detekterade händelser av de utvärderingsbara, överensstämmande förutsägelser av de utvärderingsbara). Dessa beskriver den loggen, poängsatt mot händelser och toleranser som angavs före körningen, och rapporteras så som körningen anger dem.

Förmågor#

Förmåga Utdata Körningssorter
Bedömning av förtroende i mottagarloggar förtroendetillstånd per epok i en verklig mottagares egen logg, larmtider och överensstämmelse med händelser som angavs före körningen receiver-trust
Effekter av jamming på länkbudgeten bärvågs-brus-täthet och låstillstånd per satellit under en angiven jammer-geometri jamming, lunar-jamming, conflict-resilience
Detektering av spoofing och meaconing detektorbeslut och detektorns förmåga att skilja åt under en angiven spoofing-attack spoof, spoof-detect, impairment-eval
Integritetsövervakning och skyddsnivåer skyddsnivåer, tillgänglighet mot larmgränser och resultat av feldetektering integrity, araim-reference-check, lunar-integrity
Holdover och fortsatt färd utan GNSS tillväxt av positions- eller tidsfel medan GNSS är nekat, mot en angiven tröskel clock, inertial, gnss-ins, ins-trn-coast, hybrid, hybrid-ukf, fusion, timetransfer, quantum-gnss-free-nav, quantum-time-transfer
Alternativa och diversifierade PNT-källor navigerings- eller tidsprestanda från källor som är oberoende av det primära GNSS-bandet combined-altpnt, terrain-nav, terrain-slam, gravity-map, leo-pass, leo-pvt, leo-pnt-chain, hybrid-optical-rf, ntn-positioning, hybrid, fusion
Resiliensbedömning över hotuppsättningar överlevnads- och resiliensandelar per hotvektor över en angiven uppsättning, med antagandena angivna conflict-resilience, campaign
Reproducerbart ursprung för körningar scenariots hashvärde, motorversion och frö som följer med i varje resultat så att en körning kan upprepas varje körning vars resultat innehåller ett scenario_hash