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

Compradores e fabricantes de receptores prestam contas a estruturas públicas de resiliência. Esta pasta mapeia o que o Kshana calcula e registra para essas estruturas, linha a linha, e kshana compliance-report preenche o mapeamento a partir das execuções que você realmente tem.

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

Estrutura de referência Arquivo
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 partes e por números de cláusula visíveis em 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 uma estrutura de referência em cenários pontuados: cada pacote tem cenários, limiares declarados antes da execução e as linhas para as quais fornece evidências em apoio. kshana standards-pack list os mostra.

Pacote Arquivo
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, monitorar, avaliar e mitigar a interferência GNSS icao-doc9849-appf.md

Cada arquivo lista os seus documentos de origem com versão, URL, data de leitura e o que foi e o que 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 novamente em 2026-10-10). Quando uma fonte só pôde ser lida por meio de um espelho ou de uma página de catálogo, o arquivo informa isso.

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 registro de receptor ou a documentação do equipamento). Cada limiar foi declarado antes da execução; uma falha é mantida como falha. Um limiar atingido diz que um cenário modelado atingiu um limiar declarado, nada sobre um produto. Os pacotes fornecem evidências em apoio das linhas que citam; não são uma avaliação. Consultivo: saída de análise de uma ferramenta de pesquisa e engenharia, não um equipamento de navegação homologado e não um serviço de segurança da vida humana; não deve ser a única base para qualquer 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 registro de receptor ou a documentação do equipamento). Cada limiar foi declarado antes da execução; uma falha é mantida como falha. Um limiar atingido diz que um cenário modelado atingiu um limiar declarado, nada sobre um produto. Os pacotes fornecem evidências em apoio das linhas que citam; não são uma avaliação. Consultivo: saída de análise de uma ferramenta de pesquisa e engenharia, não um equipamento de navegação homologado e não um serviço de segurança da vida humana; não deve ser a única base para qualquer 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

grava compliance-report.compliance.md e compliance-report.compliance.json (--out <base> muda o nome). As entradas são arquivos de resultado de execuções anteriores: a execução de um cenário grava <name>.result.json ao lado de <name>.toml, e kshana receiver-trust grava o seu próprio. O tipo de cada execução é lido do arquivo de cenário ao lado do resultado, do conteúdo de um resultado de receiver-trust ou de um kind de nível superior, e deve ser um tipo que o motor conhece. Um resultado é listado como não usado, com o motivo, e não conta para nada quando o seu tipo não pode ser encontrado, não é um tipo conhecido, ou o cenário irmão e o próprio kind do resultado divergem. (O scenario_hash do resultado e um hash do arquivo de cenário não são comparados: o motor calcula o primeiro sobre o seu cenário analisado e um hash de arquivo é sobre o texto, de modo que são grandezas diferentes.)

Um rótulo de tipo de cenário, por si só, não é evidência. Uma execução só conta para uma capacidade quando o seu resultado também traz os campos que esse tipo grava (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 que falte um deles não é contado. Um hash que não é hexadecimal não é informado como hash. Um resultado de receiver-trust cujas contagens não são números inteiros, ou cuja contagem de detectados ou de concordantes excede a sua contagem avaliável, é excluído e listado como não usado.

Para cada linha, o relatório dá um destes:

Status Significado
evidenced toda capacidade que a linha cita tem pelo menos uma execução no conjunto
partly-evidenced algumas têm
not-evidenced nenhuma tem
out-of-scope nenhuma saída do Kshana trata da linha

A coluna de lacuna é impressa para todas as linhas, inclusive as evidenciadas: uma execução que fornece evidências em apoio de uma capacidade ainda deixa a maior parte de um requisito para outras evidências. O relatório repete a regra de redação no início. --mapping imprime as tabelas estáticas e --sources a lista de fontes.

As execuções de receiver-trust também contribuem com as contagens que declaram (eventos detectados dentre os avaliáveis, predições concordantes dentre as avaliáveis). Elas descrevem aquele registro, pontuado contra eventos e tolerâncias declarados antes da execução, e são informadas como a execução as declara.

Capacidades#

Capacidade Saída Tipos de cenário das execuções
Avaliação de confiança do registro do receptor estado de confiança por época do próprio registro de um receptor real, horários de alarme e concordância com eventos declarados antes da execução receiver-trust
Efeitos de jamming no orçamento de enlace densidade de portadora para ruído e estado de travamento por satélite sob uma geometria de jammer declarada jamming, lunar-jamming, conflict-resilience
Detecção de spoofing e meaconing decisões do detector e discriminação do detector sob um ataque de spoofing declarado spoof, spoof-detect, impairment-eval
Monitoramento de integridade e níveis de proteção níveis de proteção, disponibilidade contra limites de alerta e resultados de detecção de falhas integrity, araim-reference-check, lunar-integrity
Holdover e coasting crescimento do erro de posição ou de tempo enquanto o GNSS é negado, contra um limiar declarado 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 conjuntos de ameaças razões de sobrevivência e de resiliência por vetor de ameaça sobre um conjunto declarado, com as hipóteses declaradas conflict-resilience, campaign
Proveniência reprodutível da execução hash do cenário, versão do motor e semente levados em cada resultado, de modo que uma execução possa ser repetida qualquer execução cujo resultado traga um scenario_hash