Maschinelle Übersetzung, nicht von einem Muttersprachler geprüft. Englisch ist die maßgebliche Fassung.

Seiten zu den SzenariotypenAuf GitHub bearbeitenQuelle: docs/kinds/by-kind/campaign.md

campaign (Szenarioart)

Szenarioart der Engine v0.40.0, Familie Kampagnen. Beratend: Analyseausgabe eines Forschungs- und Entwicklungswerkzeugs, keine typzugelassene Navigationsausrüstung und kein Dienst für die Sicherheit von Menschenleben. Jede Bezeichnung hier stammt von der Engine oder der Verifikationsmatrix; eine Art ist MODELLED, sofern die Matrix nichts anderes sagt (wie eine Bezeichnung verdient wird: der Abschnitt Evidence der README).

Was es tut#

Kampagne: bestehende Szenarioarten, zu einem Lauf zusammengesetzt, wobei jede Zahl aus einem echten Lauf der genannten Art gelesen wird. Vier Abschnitte, in beliebiger Kombination. PHASES: eine verkettete Mission auf einer gemeinsamen Zeitachse -- jede Phase führt ein oder mehrere Szenarien aus (zum Beispiel Jamming, dann Spoofing, dann eine Uhr im Holdover mit einem daneben auslaufenden Inertialnavigationssystem, dann ein Integritätsalarm, dann Erholung), ihre Ausgaben werden durch eine Voreinstellung je Art oder durch ausdrückliche Ergebnispfade in benannte Kanäle gelesen (Uhrenzeitfehler gegen seine Schutzgrenze, Träger-Rausch-Dichte-Verhältnis gegen die Tracking-Untergrenze, Schutzniveau gegen die Alarmgrenze, Positionsfehler, trackende Satelliten, Alarmflags) und durch Halteglied nullter Ordnung auf ein gemeinsames Raster umgetastet, mit Phasengrenzen und Ereignissen; der Zustand wird durch carry (ein Kanal setzt sich vom Endwert der vorigen Phase fort), handoff (eine Zahl der vorigen Phase, in das Szenario dieser Phase geschrieben) und end_at (eine Phase endet zu einer Zeit, die ein Lauf berechnet hat, etwa der Erkennungszeit eines Spoofing-Monitors) weitergereicht. SWEEP: ein Gitter über ein bis drei gepunktete Szenarioschlüssel einer beliebigen Art (ein ganzzahliges Segment indiziert ein Array von Tabellen, wie in system.2.sisre_m), mit Metriken, die über den Ergebnispfad gelesen werden, und, bei mehr als einem Lauf, einem Monte-Carlo-Ensemble mit Seed an jedem Knoten. MONTE_CARLO: Realisierung k läuft bei base_seed + k; jede Metrik meldet Mittelwert, Standardabweichung, Perzentile 5./50./95. nach dem Nearest-Rank-Verfahren und ein Bootstrap-Konfidenzintervall von 95 % mit festem Seed für den Mittelwert. COMPOSE: mehrere Szenarien unter gemeinsamen Werten (Leistung und Position eines Jammers, in einen maritimen und einen Straßenempfänger geschrieben), mit einer kombinierten Zusammenfassung von bestem und schlechtestem Fall. Das Ergebnis trägt einen Kampagnen-Hash, einen Digest über jedes Mitgliedsergebnis und einen Einheiteneintrag für jede ausgegebene Zahl; die Interoperabilitätsexporte schreiben jedes Mitgliedsszenario mit Geometrie als eigenen Dateisatz. Kompositionsidentitäten werden getestet: Eine Ein-Phasen-Kampagne reproduziert den eigenständigen Lauf bitgenau, ein Ensemble mit festem Seed ist byte-stabil, und bei einer Uhr mit weißem Frequenzrauschen fällt der Ensemblemittelwert in das gemeldete Intervall, wobei die Streuung zu sqrt(q_wf * tau) passt. MODELLED: der additive Übertrag und das Halteglied nullter Ordnung sind Modellierungsentscheidungen, und jede Phase trägt die Bezeichnung der Art, die sie ausgeführt hat.

Ein Lauf von scenarios/campaign-sweep-jammer-power.toml fasst sich so zusammen: campaign 46aa07cb58fb | Jammer power sweep: availability and J/S against transmit power | sweep of jamming: 13 nodes over [jammer_power] | 13 member runs (MODELLED)

Eingaben#

Aus dem Schema (kshana kinds --json):

  • Pflichtfelder: keine
  • Optionale Felder: title, seed, timeline, phases, sweep, monte_carlo, compose

Das Beispiel scenarios/campaign-sweep-jammer-power.toml setzt unter anderem:

Feld Wert Einheit
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 nicht angegeben
sweep.axes[0].steps 13 nicht angegeben
sweep.axes[0].stop 10 nicht angegeben
sweep.axes[0].unit dBW Text
sweep.metrics[0].name availability 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

Ausführen#

kshana scenarios/campaign-sweep-jammer-power.toml

22 mitgelieferte Szenarien verwenden diese Art; die anderen sind in scenarios/.

Was es liefert#

Die skalaren Ergebnisse dieses Laufs, mit den Einheiten, die die Engine angibt:

Ergebnis Wert Einheit
evidence.id_rule die stabile Kennung der Matrixzeile (die 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 Anzahl
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

Ergebnisbezeichnung (die der Engine): MODELLED Komposition bestehender Szenarioarten. Jede Zahl wird aus einem echten Lauf der genannten Art gelesen; die Verkettung (additiver Übertrag eines Kanals über eine Phasengrenze, Halteglied nullter Ordnung auf das Zeitachsenraster, eine zu einer berechneten Zeit beendete Phase) ist eine Modellierungsentscheidung, und jede Phase trägt die Bezeichnung

Das Diagramm, das die Engine für scenarios/campaign-sweep-jammer-power.toml schreibt, Art campaign

Nachweise#

MODELLED: die Zeilen der Verifikationsmatrix, die diese Art nennen.

  • MODELLED iq::campaign::detect und der Kampagnenläufer: Eine optionale Tabelle [monitors] lässt die IQ-Monitore in jeder Zelle im einzigen Durchlauf des Läufers laufen. Tests: iq_campaign.rs.
  • MODELLED iq::campaign::detect (windows, roc) und iq::campaign::report::rocs: Jede Zelle einer Kampagne mit Monitoren behält je Alarmart und Kanal das Maximum der eigenen Teststatistik des Monitors über jedes genannte Ereignisfenster (positiv) und über die
  • MODELLED iq::labfit (campaign, cn0, iqfit, iqreport) und [input] campaign auf kshana iq labfit, Python kshana.iq_labfit und das MCP-Werkzeug labfit (Kampagnenordner nur innerhalb seines Arbeitsverzeichnisses): liest einen Ausgabeordner kshana iq campaign anhand seines Tests: iq_labfit_followup.rs.
  • MODELLED Die Phasen der Art campaign: Jede Phase führt ein oder mehrere Szenarien bestehender Arten durch run_toml aus, liest ihre Ausgaben in benannte Kanäle (Uhrenzeitfehler und Schutzgrenze, mittleres effektives Träger-Rausch-Dichte-Verhältnis und Tracking-Untergrenze, v Tests: campaign_composition_reference.rs.
  • und 4 weitere in der Matrix.

Die Zeilen, die der Lauf selbst ausgeübt hat, mit der unabhängigen Referenz, die die Matrix jeder gibt (die öffentlichen Quellen sind dort genannt):

  • MODELLED Geometrisches J/S-Link-Budget, Anti-Jam-C/N₀, Lock-Verlust je Satellit. Unabhängige Referenz (InternalConsistency): Anti-Jam-C/N₀-Link-Budget-Gleichung, gegen eine unabhängige numpy-Neuherleitung gegengeprüft (teilt dieselbe geschlossene Form → InternalConsistency), plus eine Charakterisierung der C/N₀-Verschlechterung mit realen JammerTest-2024-Daten. 0,30 Runde 2, blockiert (bleibt MODELLED): der gemessene C/N0-Abfall von JammerTest 2024 gegen eine Link-Budget-Vorhersage (vorab registriert 6a66994b, innerhalb von 3 dB) wurde nicht ausgeführt, weil die Antennenposition und -ausrichtung F8.1 bei
  • MODELLED Deterministisch, szenario-gehasht, SBOM- und plattformübergreifende Golden-Gates. Unabhängige Referenz (ExternalDataset): SBOM-Übereinstimmung mit dem offiziellen CycloneDX-1,5-JSON-Schema (+ gültige SPDX-Kennungen) — ein externer veröffentlichter Standard, null Validierungsfehler über den gesamten Abhängigkeitsgraphen; der Teil FoM-Determinismus / Byte-Reproduzierbarkeit bleibt eine festgelegte Selbstkonsistenzprüfung, daher bleibt die Zeile MODELLED
  • PARTNER Nicht bereitgestellt — Kshana modelliert Signalleistung, keine Nutzlast- oder Antennenhardware. Unabhängige Referenz (NoneKind): keine: eine Disziplin im Besitz des Partners, absichtlich ohne Modul und ohne Test
  • MODELLED Der Sweep der Art campaign (ein bis drei gepunktete Schlüssel einer beliebigen Art, auf den Achsenwerten des generischen Sweeps, optional ein Ensemble an jedem Knoten) und der Abschnitt monte_carlo. Unabhängige Referenz (InternalConsistency): Die geschlossene Form des Phasen-Random-Walks bei weißem Frequenzrauschen, Varianz q_wf tau (NIST Technical Note 1337), für die Statistikmaschinerie, und Byte-Gleichheit mit den eigenständigen Läufen für das Seeding. Sie prüft die Ensemble-Arithmetik am eigenen Uhrenmodell der Engine, nicht an einem externen Datensatz

Einschränkungen#

Was der eigene Bericht des Laufs als nicht modelliert oder nicht validiert nennt:

  • MODELLED Komposition bestehender Szenarioarten. Jede Zahl wird aus einem echten Lauf der genannten Art gelesen; die Verkettung (additiver Übertrag eines Kanals über eine Phasengrenze, Halteglied nullter Ordnung auf das Zeitachsenraster, eine zu einer berechneten Zeit beendete Phase) ist eine Modellierungsentscheidung, und jede Phase trägt die Bezeichnung der Art, die sie erzeugt hat. (Ergebnis label)
  • MODELLED: der additive Übertrag und das Halteglied nullter Ordnung sind Modellierungsentscheidungen, und jede Phase trägt die Bezeichnung der Art, die sie ausgeführt hat. (Artenkatalog (kshana kinds --json))
  • MODELLED: wie es die Art jamming ist. (Kommentar der Szenariodatei, Zeile 14)
  • Jamming-Resilienz bei GNSS-Ausfall ist MODELLED, nicht validiert: gegen die eigene geschlossene bzw. analytische Identität geprüft — fängt Transkriptions- und Koeffizientenfehler ab, ist aber keine unabhängige Referenz. (Verifikationsmatrix (docs/MODELLED-RATIONALE.md))
  • Reproduzierbarkeit und Software-Assurance ist MODELLED, nicht validiert: Eine Teilbehauptung ist extern geprüft, aber die gesamte Fähigkeit setzt sich aus modellierten Teilen zusammen, daher bleibt die Fähigkeit modelliert. (Verifikationsmatrix (docs/MODELLED-RATIONALE.md))
  • Parameter-Sweeps und Monte-Carlo-Ensembles mit Seed über jede Szenarioart sind MODELLED, nicht validiert: gegen die eigene geschlossene bzw. analytische Identität geprüft — fängt Transkriptions- und Koeffizientenfehler ab, ist aber keine unabhängige Referenz. (Verifikationsmatrix (docs/MODELLED-RATIONALE.md))

Siehe auch#