# Systems Perspective Description Language — Nuclear I&C (SPDL-NUC) **Specification Document ID:** `SPDL-NUC-SPEC-2026-v4.2` **Classification:** Open Epistemic Standard / Class 1E Nuclear Safety I&C Substrate **Principal Architect:** Asse van Nix | Systems Perspective Framework & Proof-Driven Architecture Group **Target Environment:** Zig 0.16.0 Freestanding · Rad-Hard Triple-Modular Redundant (TMR) ASICs · Class 1E Hardware **Applied Standards:** ISO/IEC 14977 EBNF · GBNF Maskable · IEEE 603 / IEEE 7-4.3.2 (Nuclear Safety Systems) · IEC 61513 · IEC 60880 (Software for Computers in the Safety Systems of Nuclear Power Plants) --- ## 1. Epistemic Architecture: Why Legacy Nuclear I&C Stacks Must Be Replaced 1. **Verification Bottlenecks & Static Logic:** Class 1E safety systems currently cost tens of millions of dollars to verify through exhaustive manual inspections. Because verification is so painful, plants rely on 1970s analog hardwired logic or primitive PLCs that cannot evaluate dynamic nuclear coupled multi-physics (neutron kinetics coupled to thermal-hydraulics). 2. **Conservative Margin Throttling:** Lacking real-time non-linear barrier proofs, plants operate with excessively large thermal safety margins, unnecessarily curtailing electrical megawatt output during normal operation while remaining susceptible to sudden steam line breaks. **SPDL-NUC** binds point reactor kinetics directly to Departure from Nucleate Boiling (DNBR) barrier certificates on verified TMR silicon. --- ## 2. Physical Invariants, DAEs & Mathematical Proof Gates ``` SPDL-NUC REACTOR CORE MANIFOLD ┌─────────────────────────────────────────────────────────────────────────────┐ │ POINT REACTOR KINETICS WITH DELAYED NEUTRON PRECURSORS (6 Groups) │ │ dn/dt = ((rho(t) - beta) / Lambda) * n(t) + sum_i (lambda_i * C_i) │ │ dC_i/dt = (beta_i / Lambda) * n(t) - lambda_i * C_i │ ├─────────────────────────────────────────────────────────────────────────────┤ │ PROMPT CRITICALITY REVERSE BARRIER (Absolute Nuclear Safeguard) │ │ h_prompt_crit(rho, beta) = 0.95 * beta_eff - rho(t) >= 0 │ ├─────────────────────────────────────────────────────────────────────────────┤ │ DEPARTURE FROM NUCLEATE BOILING RATIO (DNBR Thermal Barrier) │ │ h_dnbr(q_chf, q_actual) = (q_critical_heat_flux / q_local) - 1.30 >= 0 │ └─────────────────────────────────────────────────────────────────────────────┘ ``` --- ## 3. Formal ISO/IEC 14977 EBNF Grammar ```ebnf NucManifest = { Line } ; Line = [ Whitespace ] , ( Comment | NucRecord ) , Newline ; Whitespace = { " " | "\t" | "\r" } ; Newline = "\n" | "\r\n" ; Comment = "#" , { AnyChar - Newline } ; NucRecord = "(I) @NUC_INVARIANT" , " " , InvariantFields | "(A) @SAFETY_TRAIN" , " " , TrainFields | "(B) @REACTIVITY_BARRIER", " " , ReactivityBarrierFields | "(B) @DNBR_BARRIER" , " " , DnbrBarrierFields | "(M) @ROD_BANK_POSITION" , " " , RodFields | "(T) @CORE_NEUTRONICS" , " " , NeutronicsFields ; InvariantFields = "id:" , Token , " class_1e:TRUE" , " cycle_us:" , Integer , " alloc_policy:ZERO_HEAP" ; TrainFields = "id:" , Token , " train_id:" , TrainChannel , " voting_logic:" , VotingRatio ; TrainChannel = "TRAIN_A" | "TRAIN_B" | "TRAIN_C" | "TRAIN_D" ; VotingRatio = "2o4" | "2o3" ; ReactivityBarrierFields = "id:" , Token , " max_pcm:" , Number , " trip_time_ms:" , Integer ; DnbrBarrierFields = "id:" , Token , " min_dnbr_ratio:" , Number ; RodFields = "id:" , Token , " bank:" , Token , " steps_withdrawn:" , Integer , " scram_armed:TRUE" ; NeutronicsFields = "id:" , Token , " power_pct:" , Number , " flux_nv:" , Number , " period_s:" , Number ; Token = Letter , { Letter | Digit | "_" | "-" } ; Number = [ "-" ] , Digit , { Digit } , [ "." , { Digit } ] ; Integer = [ "-" ] , Digit , { Digit } ; Letter = "A".."Z" | "a".."z" ; Digit = "0".."9" ; AnyChar = ? Any valid Unicode code point ? ; ``` --- ## 4. GBNF Structured Sampling Grammar ```gbnf root ::= NucRecord "\n" NucRecord ::= "(I) @NUC_INVARIANT" " " InvariantFields | "(A) @SAFETY_TRAIN" " " TrainFields | "(B) @REACTIVITY_BARRIER" " " ReactivityBarrierFields | "(B) @DNBR_BARRIER" " " DnbrBarrierFields | "(M) @ROD_BANK_POSITION" " " RodFields | "(T) @CORE_NEUTRONICS" " " NeutronicsFields InvariantFields ::= "id:" [A-Za-z0-9_-]+ " class_1e:TRUE cycle_us:" [0-9]+ " alloc_policy:ZERO_HEAP" TrainFields ::= "id:" [A-Za-z0-9_-]+ " train_id:" ("TRAIN_A"|"TRAIN_B"|"TRAIN_C"|"TRAIN_D") " voting_logic:" ("2o4"|"2o3") ReactivityBarrierFields ::= "id:" [A-Za-z0-9_-]+ " max_pcm:" [0-9.]+ " trip_time_ms:" [0-9]+ DnbrBarrierFields ::= "id:" [A-Za-z0-9_-]+ " min_dnbr_ratio:" [0-9.]+ RodFields ::= "id:" [A-Za-z0-9_-]+ " bank:" [A-Za-z0-9_-]+ " steps_withdrawn:" [0-9]+ " scram_armed:TRUE" NeutronicsFields ::= "id:" [A-Za-z0-9_-]+ " power_pct:" [0-9.]+ " flux_nv:" [0-9.]+ " period_s:" [0-9.-]+ ``` --- ## 5. Production SPDL-NUC Manifest Exemplar ```spdl # ============================================================================== # SPDL-NUC v4.2 MANIFEST: PRESSURIZED WATER REACTOR (PWR) CORE SAFETY RPS # Standard: IEEE 603 / IEC 60880 Class 1E | Architecture: Quad-Channel 2oo4 # ============================================================================== (I) @NUC_INVARIANT id:INV-RPS-PRIMARY class_1e:TRUE cycle_us:500 alloc_policy:ZERO_HEAP # --- SAFETY CHANNEL TRAIN TOPOLOGY --- (A) @SAFETY_TRAIN id:CH_REACTOR_PROTECT train_id:TRAIN_A voting_logic:2o4 # --- PROMPT CRITICALITY & THERMAL-HYDRAULIC BARRIERS --- (B) @REACTIVITY_BARRIER id:BAR_PROMPT_CRITICAL max_pcm:620.0 trip_time_ms:25 (B) @DNBR_BARRIER id:BAR_CORE_HEAT_FLUX min_dnbr_ratio:1.35 # --- CONTROL ROD REGULATION SLATE --- (M) @ROD_BANK_POSITION id:ROD_CONTROL_BANK_D bank:BANK_D steps_withdrawn:218 scram_armed:TRUE # --- EX-CORE FLUX SENSORY TELEMETRY --- (T) @CORE_NEUTRONICS id:TEL_POWER_RANGE power_pct:99.42 flux_nv:2.45e13 period_s:45.0 ``` --- ## 6. Standards Compliance Matrix ``` ╔═════════════════════════════════╦══════════════════════╦═════════════════════════════════════════════════════╗ ║ Dimension │ Verification Standard│ Enforced Implementation Evidence ║ ╠═════════════════════════════════╬══════════════════════╬═════════════════════════════════════════════════════╣ ║ Class 1E Nuclear Functional Safe│ IEEE 603 / IEC 61513 │ Formal memory isolation; deterministic 2oo4 voting. ║ ║ Criticality Prevention │ 10 CFR 50 Appendix A │ Prompt reactivity bounded strictly < 0.95 * Beta_eff║ ║ Software Verification Standards │ IEC 60880 │ Zero heap allocation; formal SMT build proofs. ║ ║ Autonomous Machine Safety │ GBNF Structured Mask │ Mathematical impossibility of invalid SCRAM states. ║ ╚═════════════════════════════════╩══════════════════════╩═════════════════════════════════════════════════════╝ ```