campaign (rodzaj scenariusza)
Rodzaj scenariusza silnika v0.40.0, rodzina Kampanie. Wyłącznie doradczo: wynik analizy z narzędzia badawczo-inżynieryjnego; nie jest to sprzęt nawigacyjny z zatwierdzeniem typu ani usługa bezpieczeństwa życia. Każda etykieta tutaj pochodzi od silnika lub z macierzy weryfikacji; rodzaj jest MODELLED, o ile macierz nie mówi inaczej (jak zdobywa się etykietę: sekcja Evidence w README).
Co robi#
Kampania: istniejące rodzaje scenariuszy złożone w jeden przebieg, z każdą liczbą odczytaną z rzeczywistego przebiegu wskazanego rodzaju. Cztery sekcje, w dowolnej kombinacji. FAZY: łańcuchowa misja na jednej wspólnej osi czasu -- każda faza uruchamia jeden lub więcej scenariuszy (na przykład zagłuszanie, potem spoofing, potem zegar w holdover z bezwładnościowym systemem nawigacji dryfującym obok niego, potem alarm integralności, potem odzyskanie), ich wyniki są odczytywane do nazwanych kanałów (błąd czasu zegara względem jego granicy, stosunek nośnej do gęstości szumu względem progu śledzenia, poziom ochrony względem limitu alarmu, błąd pozycji, liczba śledzonych satelitów, flagi alarmów) przez ustawienie wstępne dla rodzaju lub jawne ścieżki wyników i przepróbkowywane na wspólną siatkę ekstrapolatorem zerowego rzędu, z granicami faz i zdarzeniami; stan jest przekazywany dalej przez carry (kanał jest kontynuowany od wartości końcowej poprzedniej fazy), handoff (liczba z poprzedniej fazy zapisana w scenariuszu tej fazy) i end_at (faza kończy się w czasie obliczonym przez przebieg, na przykład w czasie detekcji monitora spoofingu). PRZEGLĄD: siatka po jednym do trzech kluczy scenariusza z kropkami, dowolnego rodzaju (segment będący liczbą całkowitą indeksuje tablicę tabel, jak w system.2.sisre_m), z metrykami odczytywanymi po ścieżce wyniku i, przy liczbie przebiegów powyżej jednego, zespołem Monte Carlo z ziarnem w każdym węźle. MONTE_CARLO: realizacja k działa przy base_seed + k; każda metryka podaje średnią, odchylenie standardowe, percentyle 5/50/95 metodą najbliższej rangi oraz 95% przedział ufności dla średniej metodą bootstrap ze stałym ziarnem. KOMPOZYCJA: kilka scenariuszy ze wspólnymi wartościami (moc i położenie jednego zagłuszacza zapisane w odbiorniku morskim i drogowym), ze zbiorczym podsumowaniem najlepszego i najgorszego przypadku. Wynik zawiera skrót kampanii, skrót po każdym wyniku składowym oraz wpis jednostek dla każdej emitowanej liczby; eksporty interoperacyjne zapisują każdy scenariusz składowy mający geometrię jako osobny zestaw plików. Tożsamości kompozycji są testowane: kampania jednofazowa odtwarza samodzielny przebieg bit w bit, zespół ze stałym ziarnem jest stabilny bajt po bajcie, a na zegarze z szumem częstotliwości białym średnia zespołu mieści się w podanym przedziale, a rozrzut zgadza się z sqrt(q_wf * tau). MODELLED: addytywne przenoszenie i ekstrapolator zerowego rzędu są wyborami modelowymi, a każda faza nosi etykietę rodzaju, który ją uruchomił.
Jeden przebieg scenarios/campaign-sweep-jammer-power.toml podsumowuje się tak: kampania 46aa07cb58fb | Przegląd mocy zagłuszacza: dostępność i J/S względem mocy nadawania | przegląd jamming: 13 węzłów po [jammer_power] | 13 przebiegów składowych (MODELLED)
Wejścia#
Ze schematu (kshana kinds --json):
- Pola wymagane: brak
- Pola opcjonalne:
title,seed,timeline,phases,sweep,monte_carlo,compose
Przykład scenarios/campaign-sweep-jammer-power.toml ustawia m.in.:
| Pole | Wartość | Jednostka |
|---|---|---|
kind |
campaign | tekst |
seed |
20260928 | 1 |
sweep.axes[0].key |
jammer.power_dbw | tekst |
sweep.axes[0].name |
jammer_power | tekst |
sweep.axes[0].start |
-50 | nie podano |
sweep.axes[0].steps |
13 | nie podano |
sweep.axes[0].stop |
10 | nie podano |
sweep.axes[0].unit |
dBW | tekst |
sweep.metrics[0].name |
dostępność | tekst |
sweep.metrics[0].path |
fom.availability_under_jamming | tekst |
sweep.metrics[1].name |
mean_js | tekst |
sweep.metrics[1].path |
fom.mean_js_db | tekst |
Uruchom#
kshana scenarios/campaign-sweep-jammer-power.toml
Tego rodzaju używa 22 dołączonych scenariuszy; pozostałe są w scenarios/.
Co daje#
Wyniki skalarne tego przebiegu, z jednostkami podanymi przez silnik:
| Wynik | Wartość | Jednostka |
|---|---|---|
evidence.id_rule |
stabilny identyfikator wiersza macierzy (ID | tekst |
evidence.matrix |
docs/VERIFICATION-MATRIX.md | tekst |
evidence.tier |
PARTNER | tekst |
reproducibility.campaign_hash |
46aa07cb58fbfbd3784c2e1ef8d6070508ad5f5c | tekst |
reproducibility.run_digest |
a082a9466bcd5c8788a2a46373a47e418db1393c | tekst |
reproducibility.runs_total |
13 | liczba |
seed |
20260928 | 1 |
sweep.axes.jammer_power.key |
jammer.power_dbw | tekst |
sweep.axes.jammer_power.scale |
lin | tekst |
sweep.axes.jammer_power.unit |
dBW | tekst |
Etykieta wyniku (silnika): kompozycja istniejących rodzajów scenariuszy MODELLED. Każda liczba jest odczytana z rzeczywistego przebiegu wskazanego rodzaju; łańcuchowanie (addytywne przenoszenie kanału przez granicę fazy, ekstrapolator zerowego rzędu na siatkę osi czasu, faza zakończona w obliczonym czasie) jest wyborem modelowym, a każda faza nosi etykietę
Dowody#
MODELLED: wiersze macierzy weryfikacji, które wymieniają ten rodzaj.
- MODELLED iq::campaign::detect i uruchamiacz kampanii: opcjonalna tabela [monitors] uruchamia monitory IQ na każdej komórce w jednym przebiegu uruchamiacza. Testy: iq_campaign.rs.
- MODELLED iq::campaign::detect (windows, roc) i iq::campaign::report::rocs: każda komórka kampanii z monitorami zachowuje, dla każdego rodzaju alarmu i kanału, maksimum własnej statystyki testowej monitora w każdym podanym oknie zdarzenia (dodatnie) i w t
- MODELLED iq::labfit (campaign, cn0, iqfit, iqreport) oraz
[input] campaignwkshana iq labfit, Pythonkshana.iq_labfiti narzędzie MCP labfit (foldery kampanii tylko wewnątrz jego katalogu roboczego): odczytuje folder wynikówkshana iq campaignwedług jego Testy: iq_labfit_followup.rs. - MODELLED Fazy rodzaju
campaign: każda faza uruchamia przez run_toml jeden lub więcej scenariuszy istniejących rodzajów, odczytuje ich wyniki do nazwanych kanałów (błąd czasu zegara i jego granica, średni efektywny stosunek nośnej do gęstości szumu i próg śledzenia, v Testy: campaign_composition_reference.rs. - oraz 4 kolejne w macierzy.
Wiersze, które sam przebieg wykorzystał, wraz z wyrocznią, jaką macierz podaje dla każdego (publiczne źródła są tam wymienione):
- MODELLED Bilans łącza J/S wynikający z geometrii, C/N₀ przy zagłuszaniu, utrata śledzenia dla każdego satelity. Wyrocznia (InternalConsistency): Równanie bilansu łącza C/N₀ przy zagłuszaniu sprawdzone krzyżowo z niezależnym ponownym wyprowadzeniem w numpy (ta sama postać zamknięta → InternalConsistency) oraz charakteryzacja spadku C/N₀ w rzeczywistym JammerTest-2024. 0,30 runda 2, zablokowane (pozostaje MODELLED): zmierzony spadek C/N0 w JammerTest 2024 względem prognozy z bilansu łącza (zarejestrowanej z góry 6a66994b, w granicach 3 dB) nie został wykonany, ponieważ położenie i skierowanie anteny F8.1 przy
- MODELLED Deterministyczne, haszowane na poziomie scenariusza, bramki SBOM i złotych wyników między platformami. Wyrocznia (ExternalDataset): zgodność SBOM z oficjalnym schematem JSON CycloneDX 1,5 (+ prawidłowe identyfikatory SPDX): zewnętrzny opublikowany standard, zero błędów walidacji w całym grafie zależności; część dotycząca determinizmu wskaźników jakości i odtwarzalności bajt w bajt pozostaje przypiętą kontrolą samospójności, więc wiersz pozostaje MODELLED
- PARTNER Nie zapewnia się — Kshana modeluje osiągi sygnału, a nie sprzęt ładunku użytecznego / anten. Wyrocznia (NoneKind): brak: dyscyplina należąca do partnera, z założenia bez modułu i bez testu
- MODELLED Przegląd rodzaju
campaign(jeden do trzech kluczy z kropkami dowolnego rodzaju, na wartościach osi przeglądu ogólnego, opcjonalnie zespół w każdym węźle) i sekcja monte_carlo. Wyrocznia (InternalConsistency): Postać zamknięta błądzenia fazy przy szumie częstotliwości białym, wariancja q_wf tau (NIST Technical Note 1337), dla mechanizmu statystyk, oraz równość bajtowa z przebiegami samodzielnymi dla ziarnowania. Sprawdza arytmetykę zespołu na własnym modelu zegara silnika, a nie na zewnętrznym zbiorze danych
Ograniczenia#
Co raport samego przebiegu podaje jako niemodelowane lub niesprawdzone względem niezależnego wzorca:
- Kompozycja istniejących rodzajów scenariuszy MODELLED. Każda liczba jest odczytana z rzeczywistego przebiegu wskazanego rodzaju; łańcuchowanie (addytywne przenoszenie kanału przez granicę fazy, ekstrapolator zerowego rzędu na siatkę osi czasu, faza zakończona w obliczonym czasie) jest wyborem modelowym, a każda faza nosi etykietę rodzaju, który ją wytworzył. (wynik
label) - MODELLED: addytywne przenoszenie i ekstrapolator zerowego rzędu są wyborami modelowymi, a każda faza nosi etykietę rodzaju, który ją uruchomił. (katalog rodzajów (
kshana kinds --json)) - MODELLED: tak jak rodzaj
jamming. (komentarz w pliku scenariusza, wiersz 14) - Odporność na zagłuszanie przy braku GNSS jest MODELLED, nie jest sprawdzona względem niezależnego wzorca: sprawdzona względem własnej tożsamości w postaci zamkniętej / analitycznej; wychwytuje błędy przepisania i współczynników, ale nie jest zewnętrzną wyrocznią. (macierz weryfikacji (docs/MODELLED-RATIONALE.md))
- Odtwarzalność i zapewnienie jakości oprogramowania jest MODELLED, nie jest sprawdzona względem niezależnego wzorca: jedno twierdzenie składowe jest sprawdzone zewnętrznie, ale cała możliwość składa się z elementów obliczonych na podstawie modelu, więc pozostaje obliczona na podstawie modelu. (macierz weryfikacji (docs/MODELLED-RATIONALE.md))
- Przeglądy parametrów i zespoły Monte Carlo z ziarnem dla dowolnego rodzaju scenariusza są MODELLED, nie są sprawdzone względem niezależnego wzorca: sprawdzone względem własnej tożsamości w postaci zamkniętej / analitycznej; wychwytuje błędy przepisania i współczynników, ale nie jest zewnętrzną wyrocznią. (macierz weryfikacji (docs/MODELLED-RATIONALE.md))
Zobacz też#
- Strona rodziny: Kampanie
- Wszystkie rodzaje: KINDS.md
- Strona tematu: LEO-PNT.md
- Strona tematu: RESILIENCE-CROSSWALK.md