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
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] campaignaufkshana iq labfit, Pythonkshana.iq_labfitund das MCP-Werkzeug labfit (Kampagnenordner nur innerhalb seines Arbeitsverzeichnisses): liest einen Ausgabeordnerkshana iq campaignanhand 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
jammingist. (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#
- Familienseite: Kampagnen
- Alle Arten: KINDS.md
- Themenseite: LEO-PNT.md
- Themenseite: RESILIENCE-CROSSWALK.md