Tradução automática, não revista por um falante nativo. O inglês é a referência.

Compliance e test benchEditar no GitHubFonte: docs/compliance/README.md

Mapeamento de compliance

Os compradores e os fabricantes de recetores respondem perante quadros públicos de resiliência. Esta pasta mapeia o que o Kshana calcula e regista para esses quadros, linha a linha, e kshana compliance-report preenche o mapeamento a partir das execuções que realmente tem.

Formulação. As saídas do Kshana fornecem elementos de prova em apoio de um requisito. Não são uma classificação nem uma aprovação de nenhum produto, e nenhum destes ficheiros é uma declaração de um organismo de avaliação; o Kshana não o é. O texto dos requisitos é parafraseado, nunca reproduzido.

Quadro de referência Ficheiro
US DHS Resilient PNT Conformance Framework, v2.0 dhs-rpcf.md
Orientações da IMO sobre interferência GNSS para navios imo-ships.md
Orientações da EASA sobre interferência GNSS para a aviação easa-aviation.md
Diretiva NIS2 da UE, Artigo 21 nis2-art21.md
EN 16803 (norma paga; apenas por parte e por números de cláusulas visíveis no catálogo) en-16803.md
NIST IR 8323r1, Foundational PNT Profile (janeiro de 2023) nist-ir-8323r1.md

Os pacotes de normas (0,38) transformam um quadro de referência em cenários pontuados: cada pacote tem cenários, limiares fixados antes da execução e linhas em apoio das quais fornece elementos de prova. kshana standards-pack list mostra-os.

Pacote Ficheiro
DHS Resilient PNT Conformance Framework, perfis de teste para os níveis 1 a 4 dhs-rpcf-test-profiles.md
IMO MSC.1/Circ.1575, processamento de dados PNT de bordo: níveis de exatidão e integridade imo-circ-1575.md
ICAO Doc 9849 Apêndice F, monitorizar, avaliar e mitigar a interferência GNSS icao-doc9849-appf.md

Cada ficheiro lista os seus documentos de origem com versão, URL, data de leitura e o que foi e não foi verificado. As fontes foram lidas em 2026-10-09 (o perfil do NIST em 2026-10-18; o boletim da EASA e as páginas do catálogo da EN 16803 foram verificados de novo em 2026-10-10). Quando uma fonte só pôde ser lida através de um espelho ou de uma página de catálogo, o ficheiro di-lo.

Todos os testes dos três pacotes de normas pontuados, a partir de execuções reais do motor v0.40.0 (`kshana standards-pack run`): dhs-rpcf: 6 atingidos, 1 não atingido, 2 precisam de uma entrada; imo-circ-1575: 1 atingido, 4 não atingidos, 2 precisam de uma entrada; icao-doc9849-appf: 6 atingidos, 0 não atingidos, 2 precisam de uma entrada. No total, 13 atingidos, 5 não atingidos e 6 precisam de uma entrada que o motor não tem (um registo de recetor ou documentação do equipamento). Cada limiar foi fixado antes da execução; uma falha é mantida como falha. Um limiar atingido indica que um cenário modelado atingiu um limiar fixado, nada sobre um produto. Os pacotes fornecem elementos de prova em apoio das linhas que citam; não são uma avaliação. Consultivo: resultado de análise de uma ferramenta de investigação e engenharia, não um equipamento de navegação homologado nem um serviço de salvaguarda da vida humana; não deve ser a única base de nenhuma decisão de navegação ou de segurança.Todos os testes dos três pacotes de normas pontuados, a partir de execuções reais do motor v0.40.0 (`kshana standards-pack run`): dhs-rpcf: 6 atingidos, 1 não atingido, 2 precisam de uma entrada; imo-circ-1575: 1 atingido, 4 não atingidos, 2 precisam de uma entrada; icao-doc9849-appf: 6 atingidos, 0 não atingidos, 2 precisam de uma entrada. No total, 13 atingidos, 5 não atingidos e 6 precisam de uma entrada que o motor não tem (um registo de recetor ou documentação do equipamento). Cada limiar foi fixado antes da execução; uma falha é mantida como falha. Um limiar atingido indica que um cenário modelado atingiu um limiar fixado, nada sobre um produto. Os pacotes fornecem elementos de prova em apoio das linhas que citam; não são uma avaliação. Consultivo: resultado de análise de uma ferramenta de investigação e engenharia, não um equipamento de navegação homologado nem um serviço de salvaguarda da vida humana; não deve ser a única base de nenhuma decisão de navegação ou de segurança.

O relatório#

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

escreve compliance-report.compliance.md e compliance-report.compliance.json (--out <base> muda o nome). As entradas são ficheiros de resultados de execuções anteriores: uma execução de cenário escreve <name>.result.json junto de <name>.toml, e kshana receiver-trust escreve o seu próprio. O tipo de cenário de cada execução é lido do ficheiro de cenário junto do resultado, do conteúdo de um resultado receiver-trust ou de um kind de nível superior, e tem de ser um tipo de cenário que o motor conheça. Um resultado é listado como não usado, com o motivo, e não conta para nada quando o seu tipo de cenário não pode ser encontrado, não é um tipo de cenário conhecido, ou o cenário vizinho e o kind do próprio resultado discordam. (O scenario_hash do resultado e um hash do ficheiro de cenário não são comparados: o motor calcula o primeiro sobre o seu cenário analisado e um hash de ficheiro incide sobre o texto, pelo que são grandezas diferentes.)

Uma etiqueta de tipo de cenário, por si só, não é prova. Uma execução só conta para uma capacidade quando o seu resultado transporta também os campos que esse tipo de cenário escreve (por exemplo, um resultado jamming precisa das suas figuras de mérito e das linhas por época; um resultado integrity precisa das suas contagens de amostras). Os campos estão listados em src/compliance/mapping.rs (KIND_FIELDS) e um resultado a que falte um deles não é contado. Um hash que não seja hexadecimal não é reportado como hash. Um resultado receiver-trust cujas contagens não são números inteiros, ou cuja contagem de detetados ou concordantes excede a sua contagem de avaliáveis, é excluído e listado como não usado.

Para cada linha, o relatório indica uma de:

Estado Significado
evidenced todas as capacidades que a linha nomeia têm pelo menos uma execução no conjunto
partly-evidenced algumas têm
not-evidenced nenhuma tem
out-of-scope nenhuma saída do Kshana diz respeito à linha

A coluna de lacunas é impressa para todas as linhas, incluindo as que têm provas: uma execução que fornece elementos de prova em apoio de uma capacidade deixa ainda a maior parte de um requisito para outras provas. O relatório repete a regra de formulação no seu início. --mapping imprime as tabelas estáticas e --sources a lista de fontes.

As execuções receiver-trust contribuem também com as contagens que declaram (eventos detetados dos avaliáveis, previsões concordantes dos avaliáveis). Essas contagens descrevem esse registo, pontuado face a eventos e tolerâncias fixados antes da execução, e são reportadas tal como a execução as declara.

Capacidades#

Capacidade Saída Tipos de cenário das execuções
Avaliação de confiança do registo de recetor estado de confiança por época do próprio registo de um recetor real, instantes de alarme e concordância com eventos fixados antes da execução receiver-trust
Efeitos do orçamento de ligação de jamming densidade portadora-ruído e estado de bloqueio por satélite sob uma geometria de jammer indicada jamming, lunar-jamming, conflict-resilience
Deteção de spoofing e meaconing decisões do detetor e discriminação do detetor sob um ataque de spoofing indicado spoof, spoof-detect, impairment-eval
Monitorização de integridade e níveis de proteção níveis de proteção, disponibilidade face a limites de alerta e resultados de deteção de falhas integrity, araim-reference-check, lunar-integrity
Holdover e marcha livre crescimento do erro de posição ou de tempo enquanto o GNSS está negado, face a um limiar indicado clock, inertial, gnss-ins, ins-trn-coast, hybrid, hybrid-ukf, fusion, timetransfer, quantum-gnss-free-nav, quantum-time-transfer
Fontes PNT alternativas e diversas desempenho de navegação ou de temporização a partir de fontes independentes da banda GNSS primária combined-altpnt, terrain-nav, terrain-slam, gravity-map, leo-pass, leo-pvt, leo-pnt-chain, hybrid-optical-rf, ntn-positioning, hybrid, fusion
Pontuação de resiliência sobre ensembles de ameaças taxas de sobrevivência e de resiliência por vetor de ameaça sobre um ensemble indicado, com os pressupostos declarados conflict-resilience, campaign
Proveniência reprodutível de execuções hash do cenário, versão do motor e semente transportados em cada resultado para que uma execução possa ser repetida qualquer execução cujo resultado transporte um scenario_hash