Jammertesti hindamine: avaldatud plaan kui ajastatud tõde
kshana jammertest import loeb Jammertesti katsekataloogi ja edastusplaani ning muudab ühe katsepiirkonna ajapesad vastuvõtja usalduse väljadeks [[events]]. kshana jammertest score käivitab vastuvõtja logi usaldusmonitoridega ja hindab seda selle ajakava vastu, katse kaupa. Iga tulemus on MODELLED: ajakava ütleb, millal katse oli planeeritud, mitte millal saatja oli sees.
Nõuandev tarkvara, mitte tüübikinnitust omav navigatsiooniseade (IEC 61108, IEC 61162): laeva navigeerimise eest vastutab jätkuvalt operaator. Midagi siin ei ole heaks kiitnud Norra teedeamet (Norwegian Public Roads Administration), Nkom ega ürituse korraldajad; nendega kokkulepet ei väideta.
Plaan ja kataloog#
Allikas: Norra teedeameti (Norwegian Public Roads Administration) hoidla NPRA/jammertest-plan (https://github.com/NPRA/jammertest-plan), MIT litsents (autoriõigus 2024 Norwegian Public Roads Administration; litsentsi tekst on kontrollitud failis xval/jammertest-plan/MANIFEST.tsv). Failid tuuakse alla, mitte ei hoita hoidlas (vendored):
xval/jammertest-plan/fetch.sh <dest-dir-outside-the-repo>
See laeb alla kataloogid ja 2025 plaanifailid kinnitatud kommitil 75c0b2ceea10e470c3799d14a8ef18842d8375a7 ning keeldub igast failist, mille SHA-256 erineb väärtusest xval/jammertest-plan/MANIFEST.tsv.
Kataloogi testil on punktidega id type.group.test (näiteks 1.2.5: tüüp 1 segamine, rühm 2, test 5). Plaan loetleb katsepiirkonna ja ajapesa kohta, milline id on ajastatud. Tüübid 1 (segamine), 2 (spuufimine) ja 3 (meaconing) edastavad; tüüp 0 (briifingud, ajapuhver, broneeringud ja ad hoc ajapesad) ei edasta ja jäetakse vahele. Plaani ajad on kohalik seinakell; --local-offset-h (vaikimisi 2, CEST) ütleb, kui kaugel need UTC-st on. Plaanifailid kannavad testikontakti välja isiku nimega: seda ei loeta kunagi ning sellest tuletatud midagi ei kirjutata.
Import#
kshana jammertest import --catalog testcatalog2025.json \
--plan plan-tuesday-2025-09-16.json --plan plan-wednesday-2025-09-17.json \
--location 1 --log receiver.ubx --format ubx --out events.toml
--log-start <UTC time> asendab --log/--format, kui logi ei ütle oma algust. Väljund on TOML [[events]], mis lisatakse vastuvõtja usalduse stsenaariumile; iga silt algab scheduled truth: ja kannab väljaande aastat, kataloogi id-d ja piirkonda ning päis salvestab iga lähtefaili SHA-256. --attack-log <scenario.json> loeb selle asemel JammerTest 2024 andmekogumi ühe kausta sündmuse tõe (selle attack_log, ajatemplid nihutatud --time-shift-h, vaikimisi -2: need ütlevad Z, kuid on kohalik aeg).
Hinnang#
kshana jammertest score session.toml --catalog testcatalog2025.json --plan plan-....json \
--location 1 [--json] [--key signer.key --out pack/]
session.toml on vastuvõtja usalduse stsenaarium ([log] format/path, valikuline [monitors], [compare]). Selle enda [[events]] asendatakse imporditud ajakavaga. Ajastatud testi kohta:
| väli | tähendus |
|---|---|
outcome |
detected (häire compare.detect_tol_s piires, vaikimisi 10 s, planeeritud algusest), late (hiljem, ajapesa sees), missed (puudub), not-evaluable |
latency_s |
esimene häire miinus planeeritud algus |
time_to_recover_s |
ajapesa lõpust esimese vähemalt --recover-hold-s (10 s) pikkuse häireta lõigu alguseni, enne järgmist testi |
Test on hinnatav ainult siis, kui see algab vähemalt calibration_s + guard_s pärast logi algust; logi, mille test on varasem, märgitakse baseline_contaminated (lähtetase võis tekkida häire all). Valehäired on häirivad kalibreerimisjärgsed epohhid väljaspool iga ajapesa, mida on pikendatud väärtusega --guard-s (60 s) enne ja pärast (või pärast taastumispunkti), loetud epohhidena ja käivitustena, koos käivitustega puhta aja tunni kohta. Võtmetega --key ja --out kirjutatakse käivitus allkirjastatud tõendipaketina (docs/EVIDENCE-PACKS.md): tulemuskaart ja imporditud ajakava asuvad failis config.json, seega räsiahela ja allkirja sees. Pakett on tehniline kirje, mitte õiguslik arvamus.
Mida tulemus ei ütle#
- Planeeritud ajapesa ei ole eetrikirje. Saatja võis alata hilja, lõppeda vara või mitte kunagi töötada; „tuvastamata“ test võib olla test, mis ei edastanud, ja viivitus on planeeritud algusest.
- „Puhas“ epohh on „väljaspool planeeritud ajapesi“, mitte „tõestatult häirevaba“.
- Mõõtmisvaldkonna monitoride tuvastamine ei ütle midagi väikese võimsusega koherentse spuufija tuvastamise kohta.
- Ükski väline sõltumatu etalon ei esita tegelikke eetriaegu, seega ei ole siin miski VALIDATED.
2024 andmekogumi käivitus (eelregistreeritud)#
xval/jammertest-score/PREREGISTRATION.md fikseeris populatsiooni, määratlused ja lävendid enne esimest hinnatud käivitust; xval/jammertest-score/RESULTS.md kirjeldab seda käivitust. Tulemus: registreeritud minimaalse andmehulga reegel ebaõnnestus (4 hinnatavat segamisakent 4-st 12 .ubx kaustast: 5 kausta jäeti lähtetaseme reegli tõttu välja ja 3 UBX-logi ütlevad oma alguse ainult GPS-i nädala ajana), seega ühtegi läve ei saa hinnata. Midagi ei lõdvendatud ega käivitatud uuesti. v2 (PREREGISTRATION-v2.md, kommitud eraldi enne oma käivitust; ainult andmetöötlus, samad lävendid ja minimaalse andmehulga reegel) paigutas ainult GPS-aega kandvad logid kausta kuupäeva järgi, hindas 12 ainult CSV-kausta ja kasutas liikuvate rooverite jaoks liikuva platvormi seanssi. Tulemus (RESULTS-v2.md): 24 kaustast säilitati 14, kuid hinnatavaid segamisaknaid oli ainult 7, seega minimaalse andmehulga reegel ebaõnnestus uuesti ja ühtegi läve ei saa hinnata. v1 tulemus on muutumatu. Ainult kirjeldav: 7 segamisaknast 3 andis häire 10 s jooksul, 4 hiljem, ükski ei jäänud tuvastamata; mediaanviivitus 18 s; puhta aja häiremäär 0,089. Siduv piirang on nüüd lähtetaseme reegel, mis eemaldab 10 kausta; edasine registreerimine vajaks varajaste akende jaoks teistsugust reeglit. Andmekogum (JammerTest 2024, Zenodo 15911589, GPL-3.0-or-later) tuuakse alla skriptiga xval/oracles/setup.sh ja seda ei hoita hoidlas (vendored); test tests/jammertest_score_2024.rs fikseerib salvestatud käivituse, kui KSHANA_JAMMERTEST_DIR osutab lahtipakitud andmekogumile.
2025 SimulaMeti NMEA andmekogum#
SimulaMeti Jammertest 2025 NMEA-põhist andmekogumit (IEEE DataPort, DOI 10.21227/a7v4-xw11) ei adapteerita versioonis 0,38. Selle leht ei nimeta litsentsi ja ütleb „This dataset requires an IEEE DataPort Subscription to access“: tingimused ei luba selgelt levitamist ega automaatset allalaadimist, mistõttu adapterit ega allalaadimisskripti ei kirjutatud. Selle kasutamine vajab omaniku otsust ja ideaalis autorite kirjalikku nõusolekut.
Pinnad#
CLI, Rust (kshana::jammertest), Python (jammertest_import, jammertest_score), WebAssembly (samad nimed), MCP tööriistad samade nimedega ning käsk /kshana-jammertest ja oskus jammertest. Allkirjastatud pakett on ainult käsureal (see vajab allkirjastamisvõtit). Vt docs/SURFACES.md.