HPDBN Node Architecture
HPDBN (Heterogeneous Polymorphic Distributed Brain Node) is a Core standard that keeps sensing, local decisions, device execution, and peer coordination at node scope. When communication stops, the node continues on a local path while its input remains within the allowed age.
Node composition
flowchart TD
Sensor[Application sensor adapter] --> Spatial[Local Spatial Nodes]
Spatial --> Obs[SpatialObservation]
Obs --> PFC[Local PFC]
State[Load, battery, link, deadline] --> PFC
PFC --> Decision[PfcDecision]
Decision --> Bridge[RuntimeAdapter]
Bridge --> CPU[Local CPU]
Bridge --> SNN[Local SNN / existing DevicePlugin]
PFC -. summaries only .-> Peer[Peer / external optimizer]
Peer -. authenticated summaries .-> PFC
CPU --> Safety[Application Safety Barrier / control layer]
SNN --> Safety
Local Spatial Nodes
Sensor adapters convert their input into SpatialObservation. Core handles track ID, coordinates, relative velocity, predicted position, TTC candidate, confidence, quality, source mask, model version, and monotonic timestamp. Raw image or point-cloud transmission, coordinate conversion, object tracking, and sensor fault classification remain application responsibilities.
VALID means that an observation is usable; it is not a safety guarantee. Missing data, occlusion, clock drift, and sensor disagreement propagate as DEGRADED or UNKNOWN.
Local PFC
The PFC selects an execution path and publication policy from PfcInput.
- If TTC is urgent or the remaining deadline is within the local budget, select a local path without waiting for external communication.
- If RTT exceeds its limit, link quality is zero, or communication is unavailable, do not select the external asynchronous path.
- Reject expired input, node or model mismatches, out-of-range values, and NaN as
NONE. - Allow
EXTERNAL_ASYNCand summary publication only when the input is non-urgent and the link is acceptable.
PFC does not generate PWM, motor commands, flight control, or the Safety Barrier decision. The application safety layer makes the final control decision.
RuntimeAdapter and existing plugins
Core's RuntimeAdapter requires only available(path) and run(path, payload). Existing G-QuAT, NorthPole, and Loihi DevicePlugins can be reused by mapping their execution methods with DevicePluginRuntimeAdapter. Device-specific HPDBN executables are not required.
A plugin with runtime_available=False is not treated as an available physical runtime even if it exposes a simulator fallback. Simulation must be explicitly identified by application configuration.
Node states and degradation
| State | Condition | Core behavior |
|---|---|---|
LOCAL_READY |
Input is fresh and a local path is available | Run CPU or SNN |
EXTERNAL_ALLOWED |
Non-urgent input with acceptable RTT and link | Allow asynchronous summary processing |
COMMUNICATION_DEGRADED |
RTT exceeded or communication lost | Stop external jobs and continue locally |
INPUT_INVALID |
Deadline, quality, model, or value validation failed | Return NONE and notify the safety layer |
RUNTIME_UNAVAILABLE |
Selected execution environment is unavailable | Use another available local path or the safety layer |
Core never treats an external response as a prerequisite for local safety. Detection of PFC or Spatial Node failure, watchdogs, and power, temperature, and memory monitoring remain application responsibilities.
Core implementation mapping
The main contracts are in EvoSpikeNet-Core/evospikenet/hpdbn.py. LocalHPDBNNode provides path selection and basic peer-summary validation, while DevicePluginRuntimeAdapter connects existing DevicePlugins. Certified flight-safety implementations, sensor product specifications, and vehicle-specific control are out of scope.