Skip to content

Power Native Design en

EnerOS Bot edited this page Jul 5, 2026 · 1 revision

中文 | English

Power-Native Design

Maintained version: v0.51.2 | Last updated: 2026-07-06

EnerOS's six design philosophies are not slogans — they are hard constraints written into the kernel. Together they answer one question: why can't you just "bolt on" power domain knowledge to a general-purpose Agent framework?

See README §Design Philosophy and ADR-0002.


1. Power-Native First

Power topology, powerflow calculation, and device models are OS-native abstractions, not bolt-on plugins.

General-purpose Agent frameworks treat power knowledge as "prompts" or "plugins" hung outside the LLM; EnerOS writes them into the kernel — eneros-topology maintains the grid graph, eneros-powerflow solves Y·V = I, eneros-equipment holds the IEC/GB-compliant device parameter library. Agents are born running on top of the physical world model of the grid.


2. Agent-as-Grid-Node

Each Agent corresponds to a functional node in the grid (substation, feeder, device), naturally topology-aware and constraint-bound.

Not "Agent + grid data", but "Agent is a grid node". Communication between Agents is information exchange between grid nodes. Agents in the same substation automatically form a collaboration group; Agents across substations communicate in a structured way via topology paths, avoiding the chaos of global broadcast.

Implementation: see eneros-agent's topology-aware context injection.


3. Constraint as Kernel Law

Safety constraints (N-1, thermal stability, voltage limits) are enforced by the kernel — no Agent decision may exceed the physical feasibility domain.

This is the fundamental difference between EnerOS and general-purpose frameworks. Safety is not a prompt, but an OS-level hard law:

  • SafetyGateway is type-level unbypassable (Validated<Command> newtype, see ADR-0015)
  • ConstraintEngine validates powerflow convergence / voltage violations / line overloads at the kernel layer
  • Decisions that fail physical constraints are rejected at the kernel layer and written to audit (AuditAction::ConstraintViolation / CommandRejected)

See Safety Gateway.


4. Time-Series Native

Power systems are strongly time-coupled systems. EnerOS treats the time dimension as a first-class citizen.

eneros-timeseries provides native operations in three time modes:

  • Real-time data stream — SCADA collector continuous writes
  • Historical replay — arbitrary time-window queries
  • Predictive simulation — What-If engine parallel multi-scenario

Agents seamlessly switch between "review - perceive - predict" time perspectives. eneros-twin provides virtual clock speed/pause/jump, accurately reproducing 24h of data.


5. Real-Time Determinism

Power systems have rigid real-time requirements — protection actions must complete in milliseconds.

Dual execution domain architecture (see Dual Execution Domain):

  • General execution domain — Agent orchestration, AI inference (seconds ~ minutes)
  • Real-time execution domain — protection, switching operations (microseconds ~ milliseconds, P99 < 1ms)

Technology stack: SCHED_FIFO priority preemption + CPU isolation (isolcpus) + mlockall memory locking + lockfree SPSC IPC + hardware watchdog (/dev/watchdog).

RT type-level guarantees (v0.49.0+): Validated<Command> / clippy::disallowed_types RT lock ban / NoAlloc + AllocTracker / WCET budget framework. CI enforces this via the rt-check job.


6. Open & Interoperable

Standardized Agent communication protocols and device access specs, supporting plug-and-play for heterogeneous energy devices and multi-vendor systems.

11 protocols covered (see Protocol Support):

  • Power-specific: IEC 61850 / IEC 60870-5-104 / IEC 60870-5-103 / IEC 60870-6 (ICCP) / CDT / DL/T 698.45 / DL/T 645-2007
  • Industrial general: Modbus / DNP3 / OPC UA
  • IoT: MQTT 5.0 / CoAP / LwM2M
  • Synchrophasor: IEEE C37.118 (PMU/PDC)

Device models comply with IEC / GB standards, pandapower-compatible format.


Comparison with General-Purpose Frameworks

Dimension General Agent Framework SCADA / EMS EnerOS
Power physical modeling None / bolt-on Deep but closed Native kernel
AI Agent support Native None Native
Safety constraint guarantee Prompt-level Hardcoded Kernel-level enforcement
Topology awareness None Yes Agent-native awareness
Multi-agent collaboration General protocol None Topology-structured collaboration
Openness High Low High (plugin architecture)

Next Steps

  • Dual Execution Domain — How the RT type system turns "constraints" into compile-time hard constraints
  • Safety GatewayValidated<Command> type-level unbypassable
  • ADR-0002 — Full Power-Native AgentOS decision record

Clone this wiki locally