Skip to content

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_ASYNC and 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.