# Systems Perspective Description Language — Hydrocarbon Custody & Pipelines (SPDL-FLOW) **Specification Document ID:** `SPDL-FLOW-SPEC-2026-v4.2` **Classification:** Open Epistemic Standard / Real-Time Fiscal Custody & Pipeline Safety Substrate **Principal Architect:** Asse van Nix | Systems Perspective Framework & Proof-Driven Architecture Group **Target Environment:** Zig 0.16.0 Freestanding · Flow Computer DSPs · API MPMS / AGA Replacement **Applied Standards:** ISO/IEC 14977 EBNF · GBNF Maskable · API MPMS (Manual of Petroleum Measurement Standards) · AGA Report Nos. 3, 7, 8, 9, 11 · GERG-2008 · ASME B31.4/B31.8 --- ## 1. Epistemic Architecture: Why Legacy Flow Computers Must Be Replaced 1. **Static Compressibility Table Rigidity:** Legacy flow computers (Omni, Daniel, ROC) evaluate natural gas and crude oil flow using static, pre-calculated lookup tables or outdated polynomial fits (AGA-8 1992). They fail to model real-time thermodynamic real-gas compressibility ($Z$-factor via GERG-2008 equations of state) during dynamic composition changes, resulting in millions of dollars in billing dispute discrepancies. 2. **Decoupled Acoustic Pipeline Rupture Detection:** Traditional pipeline SCADA platforms evaluate volume-balance leak detection over 15-to-60-minute integration windows. A catastrophic rupture dumps thousands of barrels of hydrocarbons before crude threshold alarms trigger. **SPDL-FLOW** executes sub-second non-ideal gas thermodynamic state equations and real-time acoustic wave rupture barrier certificates on zero-heap flow computers. --- ## 2. Physical Invariants, DAEs & Mathematical Proof Gates ``` SPDL-FLOW FLUID MANIFOLD ┌─────────────────────────────────────────────────────────────────────────────┐ │ GERG-2008 NON-IDEAL GAS COMPRESSIBILITY CONTINUOUS DAE │ │ Z(p, T, x) = 1 + sum_i (n_i * d_i * tau^t_i * delta^d_i) │ │ Q_mass = C_d * E_v * (pi / 4) * d^2 * sqrt(2 * rho_1 * Delta_P) │ ├─────────────────────────────────────────────────────────────────────────────┤ │ PIPELINE TRANSIENT ACOUSTIC WAVE PROPAGATION (Water-Hammer / Rupture) │ │ c_sonic = sqrt((K_bulk / rho) / (1 + (K_bulk * D) / (E_pipe * e_wall))) │ │ Delta_P_joukowsky = rho * c_sonic * Delta_v │ ├─────────────────────────────────────────────────────────────────────────────┤ │ STATISTICAL PIPELINE RUPTURE DETECTION BARRIER (SPRT) │ │ h_rupture(Delta_Q) = Q_threshold_leak - (Q_inlet - Q_outlet - dV_pack/dt) >= 0│ └─────────────────────────────────────────────────────────────────────────────┘ ``` --- ## 3. Formal ISO/IEC 14977 EBNF Grammar ```ebnf FlowManifest = { Line } ; Line = [ Whitespace ] , ( Comment | FlowRecord ) , Newline ; Whitespace = { " " | "\t" | "\r" } ; Newline = "\n" | "\r\n" ; Comment = "#" , { AnyChar - Newline } ; FlowRecord = "(I) @FLOW_INVARIANT" , " " , InvariantFields | "(A) @METER_RUN" , " " , MeterFields | "(B) @RUPTURE_BARRIER" , " " , RuptureBarrierFields | "(M) @CUSTODY_BATCH" , " " , BatchFields | "(T) @FLOW_COMP_OBS" , " " , ObserverFields ; InvariantFields = "id:" , Token , " standard:API_MPMS" , " eos:GERG_2008" , " alloc_policy:ZERO_HEAP" ; MeterFields = "id:" , Token , " type:" , MeterType , " diameter_mm:" , Number , " beta_ratio:" , Number ; MeterType = "ORIFICE_CORNER" | "ULTRASONIC_8_PATH" | "CORIOLIS_MASS" | "TURBINE_AXIAL" ; RuptureBarrierFields = "id:" , Token , " max_mass_imbalance_kg_s:" , Number , " sonic_wave_trip_ms:" , Integer ; BatchFields = "id:" , Token , " batch_id:" , Token , " mass_kg:" , Number , " gross_vol_m3:" , Number , " blake3_ticket:" , HexString ; ObserverFields = "id:" , Token , " dp_mbar:" , Number , " p_bar:" , Number , " temp_c:" , Number , " z_factor:" , Number , " mass_rate_kg_s:" , Number ; HexString = '"' , { HexDigit } , '"' ; HexDigit = Digit | "A".."F" | "a".."f" ; 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 ::= FlowRecord "\n" FlowRecord ::= "(I) @FLOW_INVARIANT" " " InvariantFields | "(A) @METER_RUN" " " MeterFields | "(B) @RUPTURE_BARRIER" " " RuptureBarrierFields | "(M) @CUSTODY_BATCH" " " BatchFields | "(T) @FLOW_COMP_OBS" " " ObserverFields InvariantFields ::= "id:" [A-Za-z0-9_-]+ " standard:API_MPMS eos:GERG_2008 alloc_policy:ZERO_HEAP" MeterFields ::= "id:" [A-Za-z0-9_-]+ " type:" ("ORIFICE_CORNER"|"ULTRASONIC_8_PATH"|"CORIOLIS_MASS"|"TURBINE_AXIAL") " diameter_mm:" [0-9.]+ " beta_ratio:" [0-9.]+ RuptureBarrierFields ::= "id:" [A-Za-z0-9_-]+ " max_mass_imbalance_kg_s:" [0-9.]+ " sonic_wave_trip_ms:" [0-9]+ BatchFields ::= "id:" [A-Za-z0-9_-]+ " batch_id:" [A-Za-z0-9_-]+ " mass_kg:" [0-9.]+ " gross_vol_m3:" [0-9.]+ " blake3_ticket:\"" [A-Fa-f0-9]+ "\"" ObserverFields ::= "id:" [A-Za-z0-9_-]+ " dp_mbar:" [0-9.]+ " p_bar:" [0-9.]+ " temp_c:" [0-9.-]+ " z_factor:" [0-9.]+ " mass_rate_kg_s:" [0-9.]+ ``` --- ## 5. Production SPDL-FLOW Manifest Exemplar ```spdl # ============================================================================== # SPDL-FLOW v4.2 MANIFEST: 42-INCH CRUDE EXPORT TERMINAL CUSTODY COMPUTER # Standard: API MPMS Chapter 5 / AGA-8 | Cryptographic Ticket: Blake3 # ============================================================================== (I) @FLOW_INVARIANT id:INV-FLOW-CUSTODY standard:API_MPMS eos:GERG_2008 alloc_policy:ZERO_HEAP # --- METER RUN PHYSICAL ASSET --- (A) @METER_RUN id:METER_LINE_01 type:ULTRASONIC_8_PATH diameter_mm:1066.8 beta_ratio:0.65 # --- ACOUSTIC TRANSIENT PIPELINE RUPTURE BARRIER --- (B) @RUPTURE_BARRIER id:BAR_LEAK_FAST max_mass_imbalance_kg_s:15.0 sonic_wave_trip_ms:350 # --- VERIFIED CUSTODY TRANSFER TICKET --- (M) @CUSTODY_BATCH id:TICKET_94102 batch_id:CRUDE_BATCH_88A mass_kg:84210450.0 gross_vol_m3:98420.5 blake3_ticket:"4a812bf09e41..." # --- FLOW COMPUTER REAL-TIME TELEMETRY --- (T) @FLOW_COMP_OBS id:TEL_METER_01 dp_mbar:0.0 p_bar:68.4 temp_c:18.4 z_factor:0.8942 mass_rate_kg_s:421.5 ``` --- ## 6. Standards Compliance Matrix ``` ╔═════════════════════════════════╦══════════════════════╦═════════════════════════════════════════════════════╗ ║ Dimension │ Verification Standard│ Enforced Implementation Evidence ║ ╠═════════════════════════════════╬══════════════════════╬═════════════════════════════════════════════════════╣ ║ Fiscal Measurement Accuracy │ API MPMS / AGA 9 │ GERG-2008 non-ideal EOS calculated in real-time. ║ ║ Fast Pipeline Rupture Trip │ ASME B31.4 / B31.8 │ Negative pressure wave barrier trips in < 350ms. ║ ║ Tamper-Evident Fiscal Ledger │ Blake3 Attestation │ Immutable cryptographic ticket hash generation. ║ ║ Zero-Heap Flow Calculation │ Freestanding Silicon │ Stream parser processes metrics in M_aux <= 128B. ║ ╚═════════════════════════════════╩══════════════════════╩═════════════════════════════════════════════════════╝ ```