Health Evaluation Model

Role in the Architecture

The Health Evaluation Model determines the aggregated health condition of the system.

It operates on a consistent snapshot of subsystem data provided by the supervision pipeline and produces:

  • The aggregated HealthState

The generation of the associated HealthInfo messages is delegated to the HealthDiagnostics component.

The model does not manage timing, debouncing, or concurrency. These concerns are handled by the supervision layer.

Core Responsibilities

The model is responsible for:

  • Maintaining internal flags that may force specific health conditions (e.g. fault or disabled states).

  • Evaluating the aggregated health condition from a stable snapshot.

  • Exposing contextual information required for diagnostics generation.

  • Emitting updates only when a real state transition occurs.

The model is the authoritative source of the system HealthState.

Health Forcing Mechanisms

Beyond snapshot-driven evaluation, the model may force the aggregated health condition in response to operational events, such as command execution failures.

In such cases:

  • The aggregated HealthState is set according to the severity of the condition (e.g. DEGRADED or FAILED).

  • Contextual information is exposed so that HealthDiagnostics can generate the appropriate explanatory message.

This mechanism ensures that operational failures are reflected immediately in the reported health condition, independently of subsystem state changes.

Model Specialisation

The Health Evaluation Model is specialised for different CSP.LMC device types, such as Controller and Subarray.

Although both share the same supervision infrastructure, the aggregation rules may differ according to device role and operational responsibilities.

For example:

  • A Controller may aggregate the health of multiple subsystems according to system-level policies.

  • A Subarray may apply aggregation logic limited to its assigned components and observing context.

HealthDiagnostics operates on the evaluation result but does not alter or influence aggregation rules.

Separation of Concerns

The supervision architecture separates responsibilities into distinct layers:

  • Snapshot store: provides stable subsystem data.

  • Supervisor: controls timing and triggering.

  • Health Evaluation Model: computes the aggregated state.

  • HealthDiagnostics: generates explanatory information.

  • Publication layer: exposes attributes externally.

This separation ensures that:

  • Evaluation logic remains deterministic and testable.

  • Diagnostic generation evolves independently of aggregation.

  • Timing behaviour does not affect health semantics.

  • Classification (HealthState) and explanation (HealthInfo) remain clearly decoupled.

Summary

The Health Evaluation Model is the authoritative component responsible for determining the system health classification.

It computes the aggregated HealthState from subsystem information and operational events, while delegating the construction of explanatory HealthInfo messages to HealthDiagnostics.

This layered design preserves clear boundaries between classification and explanation, improving maintainability, testability, and long-term evolvability of the supervision architecture.

See Also