tpt-dynamo

Rust

Open-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.

0 stars0 forks0 watchersApache License 2.0

Languages

Rust100.0%
README

TPT Dynamo

License: MIT License: Apache 2.0 CI

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.md for 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:

CrateResponsibility
dynamo-controlDeterministic control-loop abstractions: PID, state-space, fixed-timestep scheduling, microsecond timing. no_std-compatible.
dynamo-safetyTriple-redundant safety system: 2-of-3 (TMR) voter, safe-shutdown state machine, watchdog, fault taxonomy.
dynamo-protocolsIndustrial protocols (Modbus TCP, DNP3, IEC 61850 scoped subset) + shared transport/framing abstraction.
dynamo-inverterGrid-forming inverter logic: droop control, grid model, end-to-end control loop.
dynamo-halHardware abstraction layer decoupling control/safety from RTOS and physical hardware (traits + QEMU backend).
dynamo-verifyFormal verification harnesses (Kani, Prusti) and coverage matrix.
dynamo-simSimulation/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.