conflict-resilience (scenario kind)
Scenario kind of the engine v0.38.0, family GPS-denied alternative PNT. Advisory: analysis output from a research and engineering tool, not type-approved navigation equipment and not a safety-of-life service. Every label here is the engine's or the verification matrix's; a kind is MODELLED unless the matrix says otherwise (how a label is earned: the README's Evidence section).
What it does#
MODELLED layered-PNT conflict resilience (P7): a contested-environment user fields several PNT layers (open-service GNSS, wideband GNSS, an authenticated constellation, an augmentation relay), each with a base availability, a 1σ accuracy and a per-vector denial vulnerability to the shared jamming/spoofing threat. An intensity-swept SEEDED Monte-Carlo denies each layer with probability clamp(vulnerability·intensity·vector_weight,0,1), fuses the survivors by the closed-form inverse-variance rule σ_fused=(Σ 1/σ_i²)^(−1/2), and reports the total-loss probability (all layers denied), the median fused error and per-layer usable/denial statistics vs intensity. The headline resilience ratio (single-layer vs layered total-loss probability) lands at ~7x under the INDEPENDENCE assumption; a one-factor Gaussian-copula correlated-denial sweep then shows that ~7x collapse toward 1 as denial correlation rises (correlation defeats layering). A prior-sensitivity block ranges the headline over the SOURCED vulnerability priors via the mcda tornado + a Dirichlet threat-effort re-allocation + percentile CIs. VALIDATED core: the Monte-Carlo total-loss converges to the closed-form independent product Π_i p_deny_i (within MC standard error at a fixed seed and large N); the inverse-variance fuse is a closed-form identity; at ρ=0 the copula reduces to the independent model and every ρ preserves each layer's marginal denial rate. MODELLED: the per-layer vulnerability/availability/accuracy magnitudes are sourced-but-Modelled inputs (JammerTest 2024, TEXBAT, EASA SIB, RTCA DO-229, LunaNet/IOAG — see conflict_threat_params), and the specific ~7x magnitude and the ratio-vs-correlation curve shape follow from that parameterisation. A §4.2 per-vector survival breakdown then resolves the shared RF threat into the four named vectors (jamming/spoofing/kinetic/cyber) and reports each vector's usable-PNT graceful-degradation curve S_v(x)=1-Prod_i(1-a_i(1-clamp(susceptibility_i,v·x,0,1))) — VALIDATED: the seeded per-layer Monte-Carlo converges to that closed form; jamming is the sharpest vector for the correlated-RF baseline and the RF-immune inertial layer is the decisive survivor. Not a certified navigation-availability product.
One run of scenarios/conflict-resilience.toml summarises as: conflict-resilience | 4 layers (0 baseline) | reference intensity 1.00 | resilience ratio closed-form 6.73x MC 6.19x (layered vs single-layer) | correlation defeats layering: ratio 7.50x @ rho 0.00 -> 1.21x @ rho 0.95 | prior CI [5.51-8.48]x | per-vector survival @ ref jam 26% spoof 80% kinetic 100% cyber 99% (sharpest jamming) | ~7x headline MODELLED, VALIDATED MC->closed-form / fuse-identity / copula-marginals / per-vector-survival
Inputs#
From the schema (kshana kinds --json):
- Required fields: none
- Optional fields:
layers,intensity,correlation,trials,seed,primary_layer
The example scenarios/conflict-resilience.toml sets, among others:
| Field | Value | Unit |
|---|---|---|
correlation.values |
[0, 0.2, 0.4, 0.6, 0.8, 0.95] | not stated |
intensity.max |
1 | not stated |
intensity.min |
0 | not stated |
intensity.steps |
11 | not stated |
kind |
conflict-resilience | text |
layers[0].availability |
0.99 | 1 |
layers[0].name |
GNSS L1 C/A (open service) | text |
layers[0].sigma_m |
4 | m |
layers[0].vector_profile.cyber |
0.18 | 1 |
layers[0].vector_profile.jamming |
0.98 | 1 |
layers[0].vector_profile.kinetic |
0.12 | 1 |
layers[0].vector_profile.spoofing |
0.85 | 1 |
Run it#
kshana scenarios/conflict-resilience.toml
What it gives#
The scalar results of that run, with the units the engine states:
| Result | Value | Unit |
|---|---|---|
correlation_sweep.min_ratio_over_grid |
1.210978 | 1 |
correlation_sweep.reference_intensity |
1 | 1 |
per_vector_survival.reference_intensity |
1 | 1 |
per_vector_survival.sharpest_vector |
jamming | text |
primary_layer |
0 | count |
prior_sensitivity.nominal_ratio |
6.731912 | 1 |
prior_sensitivity.reference_intensity |
1 | 1 |
prior_sensitivity.samples |
2000 | count |
reference_intensity |
1 | 1 |
resilience_ratio.closed_form_independent |
6.731912 | 1 |
Result label (the engine's): MODELLED layered-PNT conflict resilience (P7). VALIDATED core: the Monte-Carlo total-loss probability converges to the closed-form independent product Pi_i p_deny_i (asserted within Monte-Carlo standard error at a fixed seed and large N); the inverse-variance position fuse sigma_fused = (sum_i 1/sig
Evidence#
No matrix row names this kind by name; the label on its result is the engine's own, above.
The rows the run itself exercised, with the oracle the matrix gives each (the public sources are named there):
- MODELLED Deterministic, scenario-hashed, SBOM + cross-platform golden gates. Oracle (ExternalDataset): SBOM conformance to the official CycloneDX 1.5 JSON Schema (+ valid SPDX identifiers) — an external published standard, zero validation errors over the full dependency graph; the FoM-determinism / byte-reproducibility part remains a pinned self-consistency check, so the row stays MODELLED
- MODELLED Per-dimension sub-scores over Kshana's own seven resilience categories (not DHS terms), RethinkPNT RDRR functions and Yang criteria, each tagged Modelled with i. Oracle (InternalConsistency): Hand-derived per-metric formulas: inverse-Simpson diversity, weighted-mean composite, bounded/unbounded timeline durations, weakest-link Level ladder
Limitations#
What the run's own report says is not modelled or not validated:
- MODELLED layered-PNT conflict resilience (P7). VALIDATED core: the Monte-Carlo total-loss probability converges to the closed-form independent product Pi_i p_deny_i (asserted within Monte-Carlo standard error at a fixed seed and large N); the inverse-variance position fuse sigma_fused = (sum_i 1/sigma_i^2)^(-1/2) is a closed-form identity; at correlation rho=0 the Gaussian copula reduces exactly to the independent mo (result
label) - MODELLED layered-PNT conflict resilience (P7): a contested-environment user fields several PNT layers (open-service GNSS, wideband GNSS, an authenticated constellation, an augmentation relay), each with a base availability, a 1σ accuracy and a per-vector denial vulnerability to the shared jamming/spoofing threat. (kind catalogue (
kshana kinds --json)) - The headline resilience ratio (single-layer vs layered total-loss probability) lands at ~7x under the INDEPENDENCE assumption; a one-factor Gaussian-copula correlated-denial sweep then shows that ~7x collapse toward 1 as denial correlation rises (correlation defeats layering). (kind catalogue (
kshana kinds --json)) - MODELLED: the per-layer vulnerability/availability/accuracy magnitudes are sourced-but-Modelled inputs (JammerTest 2024, TEXBAT, EASA SIB, RTCA DO-229, LunaNet/IOAG — see conflict_threat_params), and the specific ~7x magnitude and the ratio-vs-correlation curve shape follow from that parameterisation. (kind catalogue (
kshana kinds --json)) - A contested-environment user fields four RF PNT layers that all ride the same band and therefore share the jamming/spoofing denial vector — the fragile, correlated case. The scenario reports: * total-loss probability vs threat intensity (Monte-Carlo vs the closed-form independent product it converges to), * the ~7x layered-vs-single-layer resilience ratio under the independence assumption, * how that ~7x collapses to (scenario file comment, lines 3 to 15)
- Every per-layer magnitude is a MODELLED input with provenance; see src/conflict_threat_params.rs for the sourced [min, nominal, max] priors and the per-vector susceptibility profiles (JammerTest 2024, TEXBAT, EASA SIB 2022-02, RTCA DO-229, LunaNet/IOAG). Leaving
layersout runs the same sourced four-layer baseline; it is written out here — including each layer's vector_profile — for transparency. (scenario file comment, lines 17 to 22) - Reproducibility & software assurance is MODELLED, not validated: a sub-claim is externally checked, but the whole capability composes modelled pieces, so the capability stays Modelled. (verification matrix (docs/MODELLED-RATIONALE.md))
- PNT-resilience framework-aligned scoring is MODELLED, not validated: checked against its own closed-form / analytic identity — catches transcription and coefficient errors, but is not an external oracle. (verification matrix (docs/MODELLED-RATIONALE.md))
See also#
- Family page: GPS-denied alternative PNT
- All kinds: KINDS.md
- Topic page: RESILIENCE-CROSSWALK.md