tpt-dynamo
RustOpen-source, formally verified Distributed Control System (DCS) for nuclear, renewable, and heavy-energy plants — deterministic Rust control loops, triple-redundant safety voting, and grid-forming inverter logic on commodity hardware.
Languages
TPT Dynamo
Open-source, formally verified Distributed Control System (DCS) for nuclear, renewable, and heavy-energy control.
Nuclear plants and massive solar farms are controlled by million-dollar proprietary DCS from Emerson and ABB. TPT Dynamo is an open-source, formally verified DCS written in Rust, providing deterministic, hard real-time control loops for reactors and grid-forming inverters that run on cheap industrial hardware.
Status: Pre-Alpha. Phases 0–7 implemented (control, safety, verification harnesses, protocols, grid-forming inverter, simulation, HAL). Phases 8 (real hardware/RTOS) deferred pending hardware/licenses. This is research/education software and is NOT certified for deployment in safety-critical environments. See
docs/PHASE8.mdfor the certification path.
Mission
Provide a deterministic, mathematically-proven control foundation that anyone can audit, build on, and deploy — breaking the proprietary lock-in around critical energy infrastructure.
Architecture Overview
TPT Dynamo is a Cargo workspace of focused, dependency-light crates:
| Crate | Responsibility |
|---|---|
dynamo-control | Deterministic control-loop abstractions: PID, state-space, fixed-timestep scheduling, microsecond timing. no_std-compatible. |
dynamo-safety | Triple-redundant safety system: 2-of-3 (TMR) voter, safe-shutdown state machine, watchdog, fault taxonomy. |
dynamo-protocols | Industrial protocols (Modbus TCP, DNP3, IEC 61850 scoped subset) + shared transport/framing abstraction. |
dynamo-inverter | Grid-forming inverter logic: droop control, grid model, end-to-end control loop. |
dynamo-hal | Hardware abstraction layer decoupling control/safety from RTOS and physical hardware (traits + QEMU backend). |
dynamo-verify | Formal verification harnesses (Kani, Prusti) and coverage matrix. |
dynamo-sim | Simulation/emulation environment (QEMU docs + open RTOS) and simulated plant model. |
┌──────────────┐ telemetry ┌──────────────────┐
plant ───▶│ dynamo-hal │◀─────────────▶│ dynamo-control │
│ (sensors/ │ │ (PID / SS / │
│ actuators) │── votes ─────▶│ scheduling) │
└──────────────┘ └────────┬─────────┘
│ triggers
┌───────▼────────┐
│ dynamo-safety │
│ (TMR voter + │
│ shutdown FSM) │
└────────────────┘
License
TPT Dynamo is dual-licensed under either of:
at your option.
Contribution Status
Contributions are welcome but follow a strict governance model because the project is
safety-critical. See CONTRIBUTING.md. Every safety-critical PR must
pass Kani + Prusti checks once those harnesses are enabled (tracked in todo.md).
Roadmap
The full phased roadmap lives in todo.md. Summary:
- Phase 0 — Foundation & Licensing ✅
- Phase 1 — Deterministic Control Library (
dynamo-control) ✅ - Phase 2 — Triple-Redundant Safety System (
dynamo-safety) ✅ - Phase 3 — Formal Verification (
dynamo-verify) ✅ harnesses + policy - Phase 4 — Industrial Protocols (
dynamo-protocols) ✅ - Phase 5 — Grid-Forming Inverter Logic (
dynamo-inverter) ✅ - Phase 6 — Simulation & Emulation (
dynamo-sim) ✅ - Phase 7 — Hardware Abstraction Layer (
dynamo-hal) ✅ - Phase 8 — Future / Deferred (Hardware & RTOS Bring-up) ⬜ (see
docs/PHASE8.md)
See docs/ for the architecture, protocol conformance, safety case, roadmap, and
governance model.
Building
cargo build --workspace
cargo test --workspace
cargo clippy --workspace --all-targets
cargo fmt --all
TODO
- Connect this repo up to Vanguard.
Disclaimer
This software is provided "AS IS" without warranty of any kind. Do not use it to control real nuclear, grid, or other safety-critical equipment without the appropriate regulatory certification and independent safety analysis.