campaign (tipo de cenário)
Tipo de cenário do motor v0.40.0, família Campanhas. Consultivo: resultado de análise de uma ferramenta de investigação e engenharia, não um equipamento de navegação homologado e não um serviço de segurança da vida humana. Cada etiqueta aqui é do motor ou da matriz de verificação; um tipo de cenário é MODELLED salvo indicação em contrário da matriz (como se obtém um rótulo: a secção Evidence do README).
O que faz#
Campanha: tipos de cenário existentes compostos numa só execução, com cada número lido de uma execução real do tipo de cenário nomeado. Quatro secções, em qualquer combinação. PHASES: uma missão encadeada numa cronologia partilhada -- cada fase executa um ou mais cenários (por exemplo jamming, depois spoofing, depois um relógio em holdover com um sistema de navegação inercial a deslizar ao lado, depois um alarme de integridade, depois a recuperação), as suas saídas são lidas em canais nomeados (erro de tempo do relógio contra a sua guarda, relação portadora/densidade de ruído contra o limiar mínimo de seguimento, nível de proteção contra o limite de alerta, erro de posição, satélites em seguimento, indicadores de alarme) por uma predefinição por tipo de cenário ou por caminhos de resultado explícitos, e reamostradas numa grelha comum por retentor de ordem zero, com fronteiras de fase e eventos; o estado é repassado por carry (um canal continua a partir do valor final da fase anterior), handoff (um número da fase anterior gravado no cenário desta fase) e end_at (uma fase termina num instante que uma execução calculou, como o instante de deteção de um monitor de spoofing). SWEEP: uma grelha sobre uma a três chaves de cenário com pontos de qualquer tipo de cenário (um segmento de número inteiro indexa um array de tabelas, como em system.2.sisre_m), com métricas lidas por caminho de resultado e, com execuções acima de uma, um conjunto de Monte Carlo com semente em cada nó. MONTE_CARLO: a realização k executa em base_seed + k; cada métrica indica média, desvio padrão, percentis 5.º/50.º/95.º pelo método do posto mais próximo e um intervalo de confiança de 95% por bootstrap com semente fixa sobre a média. COMPOSE: vários cenários sob valores partilhados (a potência e a posição de um jammer gravadas num recetor marítimo e num rodoviário), com um resumo combinado de melhor/pior caso. O resultado traz um hash de campanha, um resumo sobre o resultado de cada membro e uma entrada de unidades para cada número emitido; as exportações de interoperabilidade gravam cada cenário membro que tem geometria como seu próprio conjunto de ficheiros. As identidades de composição são testadas: uma campanha de uma fase reproduz a execução isolada bit a bit, um conjunto de semente fixa é estável byte a byte e, num relógio com ruído de frequência branco, a média do conjunto cai dentro do intervalo indicado, com a dispersão a coincidir com sqrt(q_wf * tau). MODELLED: o carry aditivo e o retentor de ordem zero são escolhas de modelação, e cada fase traz o rótulo do tipo de cenário que a executou.
Uma execução de scenarios/campaign-sweep-jammer-power.toml resume-se assim: campaign 46aa07cb58fb | Varrimento de potência do jammer: disponibilidade e J/S contra a potência de transmissão | sweep de jamming: 13 nós sobre [jammer_power] | 13 execuções de membros (MODELLED)
Entradas#
A partir do esquema (kshana kinds --json):
- Campos obrigatórios: nenhum
- Campos opcionais:
title,seed,timeline,phases,sweep,monte_carlo,compose
O exemplo scenarios/campaign-sweep-jammer-power.toml define, entre outros:
| Campo | Valor | Unidade |
|---|---|---|
kind |
campaign | texto |
seed |
20260928 | 1 |
sweep.axes[0].key |
jammer.power_dbw | texto |
sweep.axes[0].name |
jammer_power | texto |
sweep.axes[0].start |
-50 | não indicado |
sweep.axes[0].steps |
13 | não indicado |
sweep.axes[0].stop |
10 | não indicado |
sweep.axes[0].unit |
dBW | texto |
sweep.metrics[0].name |
disponibilidade | texto |
sweep.metrics[0].path |
fom.availability_under_jamming | texto |
sweep.metrics[1].name |
mean_js | texto |
sweep.metrics[1].path |
fom.mean_js_db | texto |
Execute-o#
kshana scenarios/campaign-sweep-jammer-power.toml
22 cenários incluídos usam este tipo de cenário; os demais estão em scenarios/.
O que dá#
Os resultados escalares dessa execução, com as unidades que o motor indica:
| Resultado | Valor | Unidade |
|---|---|---|
evidence.id_rule |
o id estável da linha da matriz (o ID | texto |
evidence.matrix |
docs/VERIFICATION-MATRIX.md | texto |
evidence.tier |
PARTNER | texto |
reproducibility.campaign_hash |
46aa07cb58fbfbd3784c2e1ef8d6070508ad5f5c | texto |
reproducibility.run_digest |
a082a9466bcd5c8788a2a46373a47e418db1393c | texto |
reproducibility.runs_total |
13 | contagem |
seed |
20260928 | 1 |
sweep.axes.jammer_power.key |
jammer.power_dbw | texto |
sweep.axes.jammer_power.scale |
lin | texto |
sweep.axes.jammer_power.unit |
dBW | texto |
Rótulo do resultado (o do motor): composição MODELLED de tipos de cenário existentes. Cada número é lido de uma execução real do tipo de cenário nomeado; o encadeamento (carry aditivo de um canal através de uma fronteira de fase, retentor de ordem zero sobre a grelha da cronologia, uma fase encerrada num instante calculado) é uma escolha de modelação, e cada fase traz o rótu
Evidências#
MODELLED: as linhas da matriz de verificação que nomeiam este tipo.
- MODELLED iq::campaign::detect e o executor de campanha: uma tabela opcional [monitors] executa os monitores de IQ em cada célula na passagem única do executor. Testes: iq_campaign.rs.
- MODELLED iq::campaign::detect (windows, roc) e iq::campaign::report::rocs: cada célula de uma campanha com monitores guarda, por tipo de alarme e canal, o máximo da própria estatística de teste do monitor sobre cada janela de evento declarada (positivo) e sobre t
- MODELLED iq::labfit (campaign, cn0, iqfit, iqreport) e
[input] campaignemkshana iq labfit, Pythonkshana.iq_labfite a ferramenta labfit do MCP (apenas pastas de campanha dentro do seu diretório de trabalho): lê uma pasta de saída dekshana iq campaignpelo seu Testes: iq_labfit_followup.rs. - MODELLED As fases do tipo de cenário
campaign: cada fase executa um ou mais cenários de tipos de cenário existentes por meio de run_toml, lê as suas saídas em canais nomeados (erro de tempo do relógio e guarda, relação portadora/densidade de ruído efetiva média e limiar mínimo de seguimento, v Testes: campaign_composition_reference.rs. - e mais 4 na matriz.
As linhas que a própria execução exercitou, com a referência independente que a matriz dá a cada uma (as fontes públicas estão aí nomeadas):
- MODELLED Orçamento de enlace de J/S geométrico, C/N₀ antijamming, perda de sincronismo por satélite. Referência independente (InternalConsistency): Equação do orçamento de enlace de C/N₀ antijamming conferida contra uma nova derivação independente em numpy (partilha a mesma forma fechada → InternalConsistency) mais uma caracterização real da degradação de C/N₀ do JammerTest-2024. 0,30 ronda 2, bloqueado (permanece MODELLED): a queda de C/N0 medida no JammerTest 2024 contra uma previsão do orçamento de enlace (pré-registada 6a66994b, dentro de 3 dB) não foi executada porque a posição e o apontamento da antena F8.1 em
- MODELLED Determinista, com hash do cenário, SBOM + portões de referência multiplataforma. Referência independente (ExternalDataset): aderência à norma do SBOM ao esquema JSON oficial CycloneDX 1,5 (+ identificadores SPDX válidos) — uma norma externa publicada, zero erros de validação em todo o grafo de dependências; a parte de determinismo das FoM / reprodutibilidade byte a byte permanece uma verificação de autoconsistência fixada, pelo que a linha permanece MODELLED
- PARTNER Não fornecido — o Kshana modela o desempenho de sinal, não o hardware de carga útil/antena. Referência independente (NoneKind): nenhuma: uma disciplina de propriedade do parceiro, sem módulo e sem teste por conceção
- MODELLED O varrimento do tipo de cenário
campaign(uma a três chaves com pontos de qualquer tipo de cenário, sobre os valores de eixo do varrimento genérico, opcionalmente um conjunto em cada nó) e a secção monte_carlo. Referência independente (InternalConsistency): A forma fechada do passeio aleatório de fase sob ruído de frequência branco, variância q_wf tau (NIST Technical Note 1337), para a maquinaria estatística, e a igualdade byte a byte com as execuções isoladas para a semeadura. Ela verifica a aritmética do conjunto sobre o próprio modelo de relógio do motor, não um conjunto de dados externo
Limitações#
O que o próprio relatório da execução diz que não está modelado ou não está validado:
- Composição MODELLED de tipos de cenário existentes. Cada número é lido de uma execução real do tipo de cenário nomeado; o encadeamento (carry aditivo de um canal através de uma fronteira de fase, retentor de ordem zero sobre a grelha da cronologia, uma fase encerrada num instante calculado) é uma escolha de modelação, e cada fase traz o rótulo do tipo de cenário que a produziu. (resultado
label) - MODELLED: o carry aditivo e o retentor de ordem zero são escolhas de modelação, e cada fase traz o rótulo do tipo de cenário que a executou. (catálogo de tipos de cenário (
kshana kinds --json)) - MODELLED: como o é o tipo de cenário
jamming. (comentário do ficheiro de cenário, linha 14) - A resiliência a jamming em ambientes sem GNSS é MODELLED, não validada: verificada contra a sua própria identidade analítica / de forma fechada — deteta erros de transcrição e de coeficientes, mas não é uma referência independente externa. (matriz de verificação (docs/MODELLED-RATIONALE.md))
- A reprodutibilidade e a garantia de software são MODELLED, não validadas: uma subafirmação é verificada externamente, mas a capacidade no seu conjunto compõe partes modeladas, pelo que a capacidade permanece modelada. (matriz de verificação (docs/MODELLED-RATIONALE.md))
- As varreduras de parâmetros e os conjuntos de Monte Carlo com semente sobre qualquer tipo de cenário são MODELLED, não validados: verificados contra a sua própria identidade analítica / de forma fechada — deteta erros de transcrição e de coeficientes, mas não é uma referência independente externa. (matriz de verificação (docs/MODELLED-RATIONALE.md))
Ver também#
- Página da família: Campanhas
- Todos os tipos: KINDS.md
- Página do tópico: LEO-PNT.md
- Página do tópico: RESILIENCE-CROSSWALK.md