GVA Alarms Service¶
The Alarms Service provides centralised alarm management for GVA systems. It enables systems to raise, acknowledge, and clear alarms while maintaining an auditable history.
Overview¶
The Alarms Service handles:
- Collection of alarms from all GVA systems
- Priority-based alarm display
- Acknowledgement and clearance workflow
- Alarm history and audit logging
Alarm Concepts¶
Alarm Severity¶
graph TB
subgraph "Alarm Priorities"
C[CRITICAL
Immediate action required] W[WARNING
Attention needed soon] A[ADVISORY
Information only] end style C fill:#d32f2f,color:#fff style W fill:#ff9800,color:#000 style A fill:#ffeb3b,color:#000
Immediate action required] W[WARNING
Attention needed soon] A[ADVISORY
Information only] end style C fill:#d32f2f,color:#fff style W fill:#ff9800,color:#000 style A fill:#ffeb3b,color:#000
Alarm States¶
stateDiagram-v2
[*] --> Active : Raised
Active --> Acknowledged : Operator ack
Acknowledged --> Cleared : Condition resolved
Active --> Cleared : Auto-clear
Cleared --> [*] : Archived
Active --> Active : Updated
Acknowledged --> Active : Re-raised
Message Sequence¶
Alarm Lifecycle¶
sequenceDiagram
participant Sys as Source System
participant DDS as DDS Network
participant Alm as Alarms Service
participant HMI as HMI Display
participant Op as Operator
Note over Sys: Fault detected
Sys->>DDS: Raise Alarm
Note right of Sys: severity=WARNING
message="Engine temp high"
state=ACTIVE DDS->>Alm: Receive alarm Alm->>Alm: Store alarm Alm->>Alm: Update statistics DDS->>HMI: Alarm notification HMI->>HMI: Display alarm HMI->>Op: Audio alert Note over Op: Operator reviews Op->>HMI: Acknowledge alarm HMI->>DDS: Acknowledge DDS->>Alm: Update state Alm->>Alm: Record ack time Note over Sys: Fault resolved Sys->>DDS: Clear Alarm Note right of Sys: state=CLEARED DDS->>Alm: Update state Alm->>Alm: Record clear time DDS->>HMI: Update display HMI->>HMI: Remove from active list
message="Engine temp high"
state=ACTIVE DDS->>Alm: Receive alarm Alm->>Alm: Store alarm Alm->>Alm: Update statistics DDS->>HMI: Alarm notification HMI->>HMI: Display alarm HMI->>Op: Audio alert Note over Op: Operator reviews Op->>HMI: Acknowledge alarm HMI->>DDS: Acknowledge DDS->>Alm: Update state Alm->>Alm: Record ack time Note over Sys: Fault resolved Sys->>DDS: Clear Alarm Note right of Sys: state=CLEARED DDS->>Alm: Update state Alm->>Alm: Record clear time DDS->>HMI: Update display HMI->>HMI: Remove from active list
Multiple Alarms¶
sequenceDiagram
participant BMS as BMS
participant NAV as Navigation
participant WPN as Weapons
participant DDS as DDS Network
participant Alm as Alarms Service
participant HMI as HMI
Note over BMS,WPN: Simultaneous faults
par Concurrent alarms
BMS->>DDS: Raise Alarm (CRITICAL)
Note right of BMS: "Comms lost"
and
NAV->>DDS: Raise Alarm (WARNING)
Note right of NAV: "GPS degraded"
and
WPN->>DDS: Raise Alarm (ADVISORY)
Note right of WPN: "Turret calibration due"
end
DDS->>Alm: Process alarms
Alm->>Alm: Sort by priority
Note over Alm: Order: CRITICAL first
Alm->>HMI: Update alarm list
HMI->>HMI: Display sorted list
Note right of HMI: 1. Comms lost (CRITICAL)
2. GPS degraded (WARNING)
3. Turret cal due (ADVISORY)
2. GPS degraded (WARNING)
3. Turret cal due (ADVISORY)
Alarm Data¶
Alarm Structure¶
| Field | Type | Description |
|---|---|---|
alarmId |
string | Unique alarm identifier |
sourceSystem |
string | System that raised the alarm |
alarmCode |
string | Alarm type code (e.g., "ENG_001") |
severity |
enum | CRITICAL, WARNING, ADVISORY |
state |
enum | ACTIVE, ACKNOWLEDGED, CLEARED |
message |
string | Human-readable description |
raisedTime |
datetime | When alarm was raised |
ackTime |
datetime | When alarm was acknowledged |
clearedTime |
datetime | When alarm was cleared |
metadata |
map | Additional alarm data |
Severity Levels¶
| Level | Description |
|---|---|
| CRITICAL | Immediate action required - safety or mission critical |
| WARNING | Attention needed soon - degraded capability |
| ADVISORY | Information - no immediate action needed |
Alarm States¶
| State | Description |
|---|---|
| ACTIVE | Alarm condition present |
| ACKNOWLEDGED | Operator has seen alarm |
| CLEARED | Alarm condition resolved |
HMI Display¶
Alarm Popup Styles¶
The GVA HMI displays alarm popups with colour-coded severity indicators:
| Warning | Caution | Advisory |
|---|---|---|
![]() |
![]() |
![]() |
| Critical/Warning | Caution | Advisory |
| Immediate attention required | Operator awareness needed | Informational |
When multiple alarms are queued, the display indicates pending items:

Colour Coding¶
| Severity | Background | Text | Indicator |
|---|---|---|---|
| CRITICAL | Red (#D32F2F) | White | Flashing |
| WARNING | Orange (#FF9800) | Black | Steady |
| ADVISORY | Yellow (#FFEB3B) | Black | Steady |
Best Practices¶
Raising Alarms¶
- Use unique alarm codes - Define a code scheme (e.g., "SYS_TYPE_NNN")
- Clear messages - Operators need to understand the issue quickly
- Appropriate severity - Don't overuse CRITICAL
- Include context - Use metadata for values, thresholds, etc.
Managing Alarms¶
- Clear promptly - Don't leave stale alarms
- Update, don't duplicate - Update existing alarms rather than creating new ones
- Auto-clear when possible - Clear automatically when condition resolves
HMI Guidelines¶
- Sort by severity - CRITICAL always at top
- Time ordering - Within severity, show newest first
- Audio cues - Different sounds for different severities
- Acknowledgement - Require operator action for critical alarms
Troubleshooting¶
Alarms Not Appearing¶
- Check DDS domain configuration
- Verify Alarms topic name ("Alarms")
- Ensure alarm service is running
Duplicate Alarms¶
- Use consistent alarm IDs for same condition
- Clear previous alarm before raising new one
- Check for multiple instances of source system
Alarms Not Clearing¶
- Ensure source system publishes CLEARED state
- Check alarm ID matches original alarm
- Verify network connectivity


