Modes
Eight explicit supervisor states
Grid following, island preparation, grid forming, islanded support, synchronization, reconnect preparation, recovery, and fault-safe behavior are observable and testable.
Validated open model · v0.9.0 · verified 28 July 2026
The released MATLAB and Simulink reference turns the published operating concept into an explicit eight-state supervisor, a deterministic averaged plant, eight validation scenarios, and 31 focused automated tests.
What shipped
This is a transparent engineering translation of the IECON 2022 publication. Source-backed statements, derived quantities, and project-defined assumptions are separated in the repository ledger instead of being blended into an unsupported reproduction claim.
Modes
Grid following, island preparation, grid forming, islanded support, synchronization, reconnect preparation, recovery, and fault-safe behavior are observable and testable.
Plant
A 10 MVA, 690 V, 50 Hz reference uses dynamic d/q current states, active and reactive power measurement, a PCC voltage response, grid breaker, and local-load profiles.
Interlocks
The breaker cannot close until voltage mismatch is within 5%, frequency mismatch within 0.1 Hz, phase mismatch within 5°, and validity and readiness flags are true.
Evidence
The v0.9.0 release records 18 top-level repository checks, 31 focused BESS tests, eight passing scenarios, zero Code Analyzer messages, and the exact validated commit SHA.
Architecture and evidence
The Simulink shell is generated entirely from MATLAB source. It wires scenario inputs to the shared controller and averaged plant kernels, exposes 20 observable signals, compiles, and is checked against the independent MATLAB simulation for every scenario.
State-flow boundary
Control interfaces
Active power, reactive power, voltage, frequency, grid-present state, breaker command, load demand, available DC power, and fault injection.
P, Q, PCC voltage, frequency, phase, current, breaker state, supervisor state, commanded references, and synchronization mismatches.
Controller ready, synchronization ready, saturated, faulted, and measurement-valid flags support assertion-based review and safe-state checks.
A circular P/Q current limiter, command slew limits, DC-availability constraints, finite invalid-measurement sentinels, and forming-control anti-windup bound every case.
Repository-generated scenario evidence
Grid loss opens the breaker and moves through the ordered supervisor path into island support while measured outputs remain finite and bounded by the stated scenario.
generate_bess_validation_evidence
The breaker interlock waits for voltage mismatch within 5%, frequency mismatch within 0.1 Hz, phase mismatch within 5°, and valid ready flags.
generate_bess_validation_evidence
An infeasible P/Q request activates the common current circle and forming-control anti-windup before controlled recovery.
generate_bess_validation_evidenceScenario coverage
A · PASS
Separate P and Q steps, bounded current, steady tracking, and stable internal states.
B · PASS
Voltage dip and frequency disturbance with bounded response and source-case recovery.
C · PASS
Breaker opening, ordered transition into grid-forming island support, finite signals, and no unintended closure.
D · PASS
Load increase and decrease with power balance plus bounded voltage and frequency recovery.
E · PASS
Breaker interlock holds until voltage, frequency, phase, validity, and readiness gates are all satisfied.
F · PASS
Infeasible P/Q demand activates the current circle, anti-windup, finite outputs, and controlled recovery.
G · PASS
Invalid and stale measurements produce deterministic fault-safe behavior and recovery after clearing.
H · PASS
Phase offset, power availability, maximum references, zero references, and parameter validation boundaries.
Reproduce
Clone the tagged repository, start MATLAB in its root, and run the complete verification entry point:
addpath('examples/bess-unified-control'); run_all_checks(true);Regenerate the disposable Simulink model from MATLAB source:
modelPath = build_bess_unified_control_model();Stable requirement IDs map operating modes, interfaces, scenarios, and evidence to implementation and automated tests.
Review the matrixExact build, single-scenario, full-suite, model-regeneration, and evidence-generation commands are documented together.
Open the guideThe release asset identifies merge commit a77d8cda…, MATLAB R2026a Update 4, 31 tests, eight scenarios, and per-scenario metrics.
The ledger distinguishes direct source statements, derived engineering quantities, and replaceable project assumptions.
Inspect source boundariesScope and limitations
PROJECT_ASSUMPTION.Documentation map
Parent and related context