campaign (scenariotyp)
Scenariotyp i motor v0.40.0, familj Kampanjer. Rådgivande: analysutdata från ett forsknings- och ingenjörsverktyg, inte typgodkänd navigationsutrustning och inte en livräddande säkerhetstjänst. Varje etikett här är motorns eller verifieringsmatrisens; en typ är MODELLED om inte matrisen säger något annat (hur en etikett förtjänas: avsnittet Evidens i README).
Vad den gör#
Kampanj: befintliga scenariotyper sammansatta till en körning, där varje tal läses från en verklig körning av den namngivna typen. Fyra avsnitt, i valfri kombination. PHASES: ett kedjat uppdrag på en gemensam tidslinje -- varje fas kör ett eller flera scenarier (till exempel jamming, därefter spoofing, därefter en klocka i holdover med ett tröghetsnavigationssystem som glider bredvid, därefter ett integritetslarm, därefter återhämtning), deras utdata läses in i namngivna kanaler (klockans tidsfel mot sin gräns, förhållandet mellan bärvåg och brustäthet mot spårningsgolvet, skyddsnivån mot larmgränsen, positionsfel, spårande satelliter, larmflaggor) med en förinställning per typ eller med explicita resultatsökvägar, och samplas om till ett gemensamt rutnät med nollte ordningens hållning, med fasgränser och händelser; tillstånd förs vidare genom carry (en kanal fortsätter från föregående fas slutvärde), handoff (ett tal från en föregående fas skrivs in i den här fasens scenario) och end_at (en fas slutar vid en tidpunkt som en körning beräknat, till exempel en spoofing-monitors detektionstid). SWEEP: ett rutnät över en till tre punktseparerade scenarionycklar av valfri typ (ett heltalssegment indexerar en array av tabeller, som i system.2.sisre_m), med mått som läses via resultatsökväg och, med fler än en körning, en seedad Monte Carlo-ensemble i varje nod. MONTE_CARLO: realisering k körs vid base_seed + k; varje mått redovisar medelvärde, standardavvikelse, rangpercentiler enligt närmaste rang för 5:e/50:e/95:e percentilen och ett bootstrap-konfidensintervall på 95 % med fast frö för medelvärdet. COMPOSE: flera scenarier under gemensamma värden (en jammers effekt och position skrivna in i en maritim och en vägbunden mottagare), med en kombinerad sammanfattning av bästa/sämsta. Resultatet innehåller en kampanjhash, en sammanfattning över varje medlemsresultat och en enhetspost för varje utsänt tal; interoperabilitetsexporterna skriver varje medlemsscenario som har geometri som en egen filuppsättning. Sammansättningsidentiteter testas: en kampanj med en fas reproducerar den fristående körningen bit för bit, en ensemble med fast frö är bytestabil, och på en klocka med vitt frekvensbrus faller ensemblens medelvärde inom det redovisade intervallet med spridning som motsvarar sqrt(q_wf * tau). MODELLED: den additiva carry och nollte ordningens hållning är modellval, och varje fas bär etiketten för den typ som körde den.
En körning av scenarios/campaign-sweep-jammer-power.toml sammanfattas som: campaign 46aa07cb58fb | Svep av jammer-effekt: tillgänglighet och J/S mot sändeffekt | svep av jamming: 13 noder över [jammer_power] | 13 medlemskörningar (MODELLED)
Indata#
Från schemat (kshana kinds --json):
- Obligatoriska fält: inga
- Valfria fält:
title,seed,timeline,phases,sweep,monte_carlo,compose
Exemplet scenarios/campaign-sweep-jammer-power.toml anger bland annat:
| Fält | Värde | Enhet |
|---|---|---|
kind |
campaign | text |
seed |
20260928 | 1 |
sweep.axes[0].key |
jammer.power_dbw | text |
sweep.axes[0].name |
jammer_power | text |
sweep.axes[0].start |
-50 | inte angivet |
sweep.axes[0].steps |
13 | inte angivet |
sweep.axes[0].stop |
10 | inte angivet |
sweep.axes[0].unit |
dBW | text |
sweep.metrics[0].name |
tillgänglighet | text |
sweep.metrics[0].path |
fom.availability_under_jamming | text |
sweep.metrics[1].name |
mean_js | text |
sweep.metrics[1].path |
fom.mean_js_db | text |
Kör den#
kshana scenarios/campaign-sweep-jammer-power.toml
22 medföljande scenarier använder den här typen; de övriga finns i scenarios/.
Vad den ger#
De skalära resultaten av den körningen, med de enheter som motorn anger:
| Resultat | Värde | Enhet |
|---|---|---|
evidence.id_rule |
det stabila id:t för matrisraden (ID | text |
evidence.matrix |
docs/VERIFICATION-MATRIX.md | text |
evidence.tier |
PARTNER | text |
reproducibility.campaign_hash |
46aa07cb58fbfbd3784c2e1ef8d6070508ad5f5c | text |
reproducibility.run_digest |
a082a9466bcd5c8788a2a46373a47e418db1393c | text |
reproducibility.runs_total |
13 | antal |
seed |
20260928 | 1 |
sweep.axes.jammer_power.key |
jammer.power_dbw | text |
sweep.axes.jammer_power.scale |
lin | text |
sweep.axes.jammer_power.unit |
dBW | text |
Resultatetikett (motorns): MODELLED sammansättning av befintliga scenariotyper. Varje tal läses från en verklig körning av den namngivna typen; kedjningen (additiv carry av en kanal över en fasgräns, nollte ordningens hållning på tidslinjens rutnät, en fas som avslutas vid en beräknad tidpunkt) är ett modellval, och varje fas bär etiketten
Evidens#
MODELLED: raderna i verifieringsmatrisen som nämner den här typen.
- MODELLED iq::campaign::detect och kampanjkörningen: en valfri [monitors]-tabell kör IQ-monitorerna på varje cell i körningens enda pass. Tester: iq_campaign.rs.
- MODELLED iq::campaign::detect (windows, roc) och iq::campaign::report::rocs: varje cell i en kampanj med monitorer behåller, per larmtyp och kanal, maxvärdet av monitorns egen teststatistika över varje angivet händelsefönster (positivt) och över t
- MODELLED iq::labfit (campaign, cn0, iqfit, iqreport) och
[input] campaignpåkshana iq labfit, Pythonkshana.iq_labfitoch MCP-verktyget labfit (kampanjmappar endast inom dess arbetskatalog): läser enkshana iq campaign-utdatamapp genom dess Tester: iq_labfit_followup.rs. - MODELLED Typen
campaignfaser: varje fas kör ett eller flera scenarier av befintliga typer genom run_toml, läser in deras utdata i namngivna kanaler (klockans tidsfel och gräns, genomsnittligt effektivt förhållande mellan bärvåg och brustäthet och spårningsgolv, v Tester: campaign_composition_reference.rs. - och 4 till i matrisen.
De rader som själva körningen använde, med den oberoende referens som matrisen anger för var och en (de offentliga källorna nämns där):
- MODELLED Geometrisk J/S-länkbudget, anti-jam C/N₀, förlust av låsning per satellit. Oberoende referens (InternalConsistency): Länkbudgetekvationen för anti-jam C/N₀ korskontrollerad mot en oberoende numpy-omräkning (delar samma slutna form → InternalConsistency) plus en karakterisering av C/N₀-försämring i verkliga JammerTest-2024. 0,30 omgång 2, blockerad (förblir MODELLED): den uppmätta C/N0-minskningen i JammerTest 2024 mot en länkbudgetprediktion (förhandsregistrerad 6a66994b, inom 3 dB) kördes inte eftersom F8.1-antennens position och pekning vid
- MODELLED Deterministisk, scenario-hashad, SBOM + golden-grindar över flera plattformar. Oberoende referens (ExternalDataset): SBOM som följer det officiella CycloneDX 1,5 JSON Schema (+ giltiga SPDX-identifierare) — en extern publicerad standard, noll valideringsfel över hela beroendegrafen; delen om FoM-determinism / byte-reproducerbarhet förblir en fastlåst kontroll av inre samstämmighet, så raden förblir MODELLED
- PARTNER Tillhandahålls inte — Kshana modellerar signalprestanda, inte nyttolast- eller antennhårdvara. Oberoende referens (NoneKind): ingen: en disciplin som ägs av partner, utan modul och utan test av utformning
- MODELLED Typen
campaignsvep (en till tre punktseparerade nycklar av valfri typ, på det generiska svepets axelvärden, eventuellt en ensemble i varje nod) och monte_carlo-avs. Oberoende referens (InternalConsistency): Den slutna formen för fasslumpvandringen under vitt frekvensbrus, varians q_wf tau (NIST Technical Note 1337), för statistikmaskineriet, och bytelikhet med de fristående körningarna för seedningen. Den kontrollerar ensemblens aritmetik på motorns egen klockmodell, inte en extern datamängd
Begränsningar#
Vad körningens egen rapport säger inte är modellerat eller inte validerat:
- MODELLED sammansättning av befintliga scenariotyper. Varje tal läses från en verklig körning av den namngivna typen; kedjningen (additiv carry av en kanal över en fasgräns, nollte ordningens hållning på tidslinjens rutnät, en fas som avslutas vid en beräknad tidpunkt) är ett modellval, och varje fas bär etiketten för den typ som producerade den. (resultat
label) - MODELLED: den additiva carry och nollte ordningens hållning är modellval, och varje fas bär etiketten för den typ som körde den. (typkatalog (
kshana kinds --json)) - MODELLED: som typen
jammingär. (kommentar i scenariofilen, rad 14) - Resiliens mot jamming i GNSS-nekade miljöer är MODELLED, inte validerad: kontrollerad mot sin egen slutna / analytiska identitet — fångar transkriptions- och koefficientfel, men är ingen extern oberoende referens. (verifieringsmatris (docs/MODELLED-RATIONALE.md))
- Reproducerbarhet och programvarusäkring är MODELLED, inte validerad: ett delpåstående kontrolleras externt, men hela förmågan sätts ihop av modellerade delar, så förmågan förblir Modelled. (verifieringsmatris (docs/MODELLED-RATIONALE.md))
- Parametersvep och seedade Monte Carlo-ensembler över valfri scenariotyp är MODELLED, inte validerade: kontrollerade mot sin egen slutna / analytiska identitet — fångar transkriptions- och koefficientfel, men är ingen extern oberoende referens. (verifieringsmatris (docs/MODELLED-RATIONALE.md))
Se även#
- Familjesida: Kampanjer
- Alla typer: KINDS.md
- Ämnessida: LEO-PNT.md
- Ämnessida: RESILIENCE-CROSSWALK.md