An Architecture That Can't Be Blocked
We designed the AGC as a set of independent microservices connected by message queues, so no single slow component can ever stall the control loop.
Streams of data flow in continuously over Apache Kafka: trading schedules, production forecasts, prices, and 4-second telemetry from the field. Internal services coordinate over Azure Service Bus, and the grid operator's signal arrives through a dedicated gateway. Incoming requests are buffered and the loop always acts on the freshest signal instead of working through a backlog. If the world changed while we were computing, we compute again with the new truth.
The hard timing problem got equally direct treatment. The full cycle has a fixed budget, every external call has a strict deadline, and an overrunning cycle is skipped rather than queued. The loop never falls behind.
Dispatch Logic That Trusts Measurements Over Forecasts
The allocation algorithm splits the grid operator's request across the fleet following a cost ranking from the trading desk, while respecting each asset's schedule, capacity limits, and ramp rates. When one park can't ramp fast enough, the shortfall shifts instantly to assets that can, so the portfolio as a whole always hits the target.
For wind and solar, the system trusts live measurements over predictions, adjusting its view of what each park can actually deliver in real time. Weather surprises become routine input, not incidents.
Three Clocks, One Timeline
The data arrives at three different rhythms: second-by-second grid signals, 4-second telemetry, and 15-minute trading schedules. We built a pipeline that flattens, interpolates, and aligns all of it onto a single timeline, so every control decision starts from a consistent picture of the present.
Proven Before It Touched a Turbine
A control system earns trust through evidence, so we built the proof in from the start. Recorded days of real grid operator signals were replayed through the engine, and its output was matched against reference calculations to a precision of seven decimal places. A simulation environment lets operators run what-if scenarios on uploaded datasets before anything reaches a real asset.
That's what de-risking looks like in practice: by the time the AGC steered its first wind farm, its behavior had already been verified thousands of times.