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

Sidor för scenariotyperRedigera på GitHubKälla: docs/kinds/by-kind/campaign.md

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

Diagrammet som motorn skriver för scenarios/campaign-sweep-jammer-power.toml, typ campaign

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] campaign på kshana iq labfit, Python kshana.iq_labfit och MCP-verktyget labfit (kampanjmappar endast inom dess arbetskatalog): läser en kshana iq campaign-utdatamapp genom dess Tester: iq_labfit_followup.rs.
  • MODELLED Typen campaign faser: 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 campaign svep (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#