DDS Topic-to-Service Integration Matrix¶
This page documents which LDM 10 DDS topics are published and subscribed to by each GVA platform service and application.
Legend¶
| Symbol | Meaning |
|---|---|
| PUB | Service publishes this topic |
| SUB | Service subscribes to this topic |
| P/S | Service both publishes and subscribes |
| — | Not used by this service |
Active Topics by PSM Module¶
Alarms (P_Alarms_PSM)¶
Under Def Stan 23-009 Arch-2 the alarms service is the sole
publisher of C_Alarm and C_Alarm_Category_Definition. LRUs
(including third-party apps that model an Alarm_Condition_Source)
publish C_Alarm_Condition and, optionally,
C_Alarm_Condition_Specification; the service falls back to
alarm_specifications.json when the LRU does not supply a spec.
Operator commands are published by the HMI (The_Authorised_Operator);
the service replies on Alarms__CommandResponseType.
| Topic | Registry | Alarms | HMI | UACM | LdmX | 3rd Party Apps² | VoIP Server | J1939 GW | ONVIF | | ------------------------------- | -------- | ------- | ------- | ---- | ------- | --------------- | ----------- | -------- | ----- | --- | | Alarm | — | PUB | SUB | — | SUB | SUB | — | — | — | — | | Alarm_Condition | — | SUB | SUB | — | SUB | PUB | — | — | — | — | | Alarm_Condition_Specification | — | PUB¹| SUB | — | SUB | PUB | — | — | — | — | | Alarm_Category_Definition | — | PUB | SUB | — | SUB | SUB | — | — | — | — | | Alarm__acknowledge | — | SUB | PUB | — | P/S | — | — | — | — | — | | Alarm__clearAlarm | — | SUB | PUB | — | P/S | — | — | — | — | — | | Alarm__annotate | — | SUB | PUB | — | P/S | — | — | — | — | — | | Alarm_Condition__override | — | SUB | PUB | — | P/S | — | — | — | — | — | | Alarm_Condition__removeOverride | — | SUB | PUB | — | SUB | — | — | — | — | — | | CommandResponseType | — | PUB | SUB | — | SUB | — | — | — | — | — |
¹ gva-alarms publishes C_Alarm_Condition_Specification only as a
fallback when the LRU has not published its own spec within 10 s of
service start (see alarm_specifications.json → fallbacks[]).
² 3rd Party Apps: gva-app-bms, gva-app-shield-protocol, gva-app-defense-grid-run, gva-app-drone-invaders
Resource ID Allocation (P_Resource_ID_Allocation_PSM)¶
The registration handshake and platform-wide "configured-with-registry" health view. See the Registration Service page for the semantics.
| Topic | Registry | Alarms | HMI | UACM | LdmX | 3rd Party Apps² | VoIP Server | J1939 GW | ONVIF |
|---|---|---|---|---|---|---|---|---|---|
| Configured_Platform_With_Registry | PUB | — | SUB | — | SUB | — | — | — | — |
| ..._requestResourceId | SUB | — | PUB¹ | — | SUB | PUB¹ | — | — | — |
| ..._unmapDescriptor | SUB | — | PUB | — | P/S | — | — | — | — |
| Registered_Platform_Resource | SUB (+P³) | — | PUB¹ | — | SUB | PUB¹ | — | — | — |
| ..._supplyResourceId | PUB | — | SUB¹ | — | SUB | SUB¹ | — | — | — |
| ..._resetResource | — | — | SUB¹ | — | SUB | SUB¹ | — | — | — |
| Missing_Resource_Mapping | PUB | — | SUB | — | P/S | — | — | — | — |
| ..._mapDescriptor | SUB | — | PUB | — | P/S | PUB | — | — | — |
| Conflicted_Resource | PUB | — | SUB | — | SUB | — | — | — | — |
| ..._clearConflict | SUB | — | PUB | — | SUB | — | — | — | — |
¹ Via qt6-gva-resource-lib shared library (gva::GvaResource).
³ gva-registry also publishes an aggregate Registered_Platform_Resource stream by default for compatibility; disable with --disable-registry-aggregator for strict-compliance runs.
Platform Configuration (P_Platform_Configuration_PSM)¶
Platform-wide roles, resource specifications and operator commands. Registry publishes the state topics; HMI/operator drives the commands.
| Topic | Registry | Alarms | HMI | UACM | LdmX | 3rd Party Apps² | VoIP Server | J1939 GW | ONVIF |
|---|---|---|---|---|---|---|---|---|---|
| Configured_Platform_Specification | PUB | — | SUB | — | SUB | — | — | — | — |
| Configured_Platform | PUB | — | SUB | — | SUB | — | — | — | — |
| ..._setOperatingMode | SUB | — | PUB | — | P/S | PUB | — | — | — |
| ..._setCurrentRole | SUB | — | PUB | — | P/S | PUB | — | — | — |
| Role_Definition | PUB | — | SUB | — | SUB | — | — | — | — |
| Discoverable_Resource_Specification | PUB | — | SUB | — | SUB | — | — | — | — |
| Discoverable_Resource | PUB | — | SUB | — | SUB | — | — | — | — |
| ..._clearNewlyMapped | SUB | — | PUB | — | SUB | — | — | — | — |
| ..._clearVersionedItemsChanged | SUB | — | PUB | — | SUB | — | — | — | — |
| Non_Discoverable_Resource_Specification | PUB | — | SUB | — | SUB | — | — | — | — |
| Non_Discoverable_Resource | PUB | — | SUB | — | SUB | — | — | — | — |
| ..._setStatus | SUB | — | PUB | — | SUB | — | — | — | — |
| ..._setSerialNumber | SUB | — | PUB | — | SUB | — | — | — | — |
| Platform_Resource_Specification | SUB | — | PUB¹ | — | SUB | PUB¹ | — | — | — |
| Platform_Resource_setOperatingMode (optional §5.4.7) | — | — | PUB | — | SUB | SUB¹ | — | — | — |
Display Extension (P_Display_Extension_PSM)¶
| Topic | Registry | Alarms | HMI | UACM | LdmX | 3rd Party Apps² | VoIP Server | J1939 GW | ONVIF | | -------------------------- | -------- | ------ | ------- | ---- | ---- | --------------- | ----------- | -------- | ----- | --- | | Third_Party_Session | — | — | SUB | — | SUB | PUB | — | — | — | — | | Hard_Button_Label | — | — | SUB | — | SUB | PUB | — | — | — | — | | Hard_Button_Event | — | — | PUB | — | SUB | SUB | — | — | — | — | | Widget_Interaction_Event | — | — | PUB | — | SUB | SUB | — | — | — | — | | Soft_Button_Event | — | — | PUB | — | SUB | — | — | — | — | — | | Mouse_Event | — | — | — | — | SUB | — | — | — | — | — | | Third_Party_Page | — | — | PUB | — | SUB | SUB | — | — | — | — | | Extensible_HMI_Application | — | — | — | — | SUB | — | — | — | — | — |
Audio (P_Audio_PSM)¶
| Topic | Registry | Alarms | HMI | UACM | LdmX | 3rd Party Apps² | VoIP Server | J1939 GW | ONVIF | | ------------------------ | -------- | ------ | --- | ---- | ---- | --------------- | ----------- | -------- | ----- | --- | | Audio_Group_Controller | — | — | — | — | — | — | PUB | — | — | — | | Audio_Channel_Controller | — | — | — | — | — | — | PUB | — | — | — | | createAudioGroup | — | — | — | — | — | — | SUB | — | — | — | | deleteAudioGroup | — | — | — | — | — | — | SUB | — | — | — | | updateAudioGroup | — | — | — | — | — | — | SUB | — | — | — | | joinAudioChannel | — | — | — | — | — | — | SUB | — | — | — | | leaveAudioChannel | — | — | — | — | — | — | SUB | — | — | — |
Actuators (P_Actuators_PSM)¶
| Topic | Registry | Alarms | HMI | UACM | LdmX | 3rd Party Apps² | VoIP Server | J1939 GW | ONVIF | | ------------------------ | -------- | ------ | --- | ---- | ---- | --------------- | ----------- | -------- | ----- | --- | | Actuator | — | — | — | — | — | — | — | — | — | SUB | | Actuator_Numeric_Setting | — | — | — | — | — | — | — | — | — | SUB | | Generic_Actuator | — | — | — | — | — | — | — | — | — | SUB |
Usage & Condition Monitoring (P_Usage_And_Condition_Monitoring_PSM)¶
gva-uacm implements the SR-role Usage And Condition Monitoring
Service (§2.5.4) plus a bridge role (§2.5.5–§2.5.7 / §7.2.1 /
GVA_UCMR_003). It subscribes to the R-role specification/state
surface, persists everything to PostGIS, derives Fault_Event samples
from matching Fault_Code transitions, and answers O-role commands
per GVA CRP v2.0 §3. See UACM Service.
State topics — R-role specifications (SUB) and service derivations (PUB)
| Topic | Registry | Alarms | HMI | UACM | LdmX | 3rd Party Apps² | VoIP | J1939 GW | ONVIF |
|---|---|---|---|---|---|---|---|---|---|
| Platform_With_Monitoring | — | — | — | PUB | SUB | — | — | — | — |
| Resource_With_Monitoring | — | — | — | SUB | SUB | — | — | — | — |
| Monitored_Resource | — | — | SUB | PUB | SUB | — | — | — | — |
| Monitored_Resource_Specification | — | — | SUB | P/S³ | SUB | — | — | — | — |
| Monitored_Characteristic | — | — | — | PUB | SUB | — | — | — | — |
| Monitored_Attribute_Specification | — | — | — | SUB | SUB | — | — | — | — |
| Monitored_Average_Specification | — | — | — | SUB | SUB | — | — | — | — |
| Monitored_Event_Count_Specification | — | — | — | SUB | SUB | — | — | — | — |
| Monitored_Powered_On_Specification | — | — | — | SUB | SUB | — | — | — | — |
| Monitored_Time_Specification | — | — | — | SUB | SUB | — | — | — | — |
| Fault_Code | — | — | — | SUB | SUB | — | — | — | — |
| Fault_Code_Specification | — | — | — | SUB | SUB | — | — | — | — |
| Fault_Event | — | — | SUB | PUB | SUB | — | — | — | — |
| Fault_Event_Specification | — | — | SUB | P/S³ | SUB | — | — | — | — |
| Characteristic_Usage | — | — | — | SUB | SUB | — | — | — | — |
| Characteristic_Usage_Specification | — | — | — | SUB | SUB | — | — | — | — |
| Expiry_Date_Usage | — | — | — | SUB | SUB | — | — | — | — |
| Expiry_Date_Usage_Specification | — | — | — | SUB | SUB | — | — | — | — |
| Instantaneous_Event | — | — | — | SUB | SUB | — | — | — | — |
| Instantaneous_Event_Specification | — | — | — | SUB | SUB | — | — | — | — |
| Interruptive_Built_In_Test | — | — | SUB | SUB | SUB | — | — | — | — |
| Interruptive_Built_In_Test_Specification | — | — | — | SUB | SUB | — | — | — | — |
| Maintenance_Action | — | — | — | SUB | SUB | — | — | — | — |
| Maintenance_Action_Specification | — | — | — | SUB | SUB | — | — | — | — |
| Manual_Failure_Report | — | — | — | PUB | SUB | — | — | — | — |
| Threshold_Exceedance_Event | — | — | SUB | PUB | SUB | — | — | — | — |
| Instantaneous_Threshold_Requirement | — | — | — | SUB | SUB | — | — | — | — |
| Rate_Of_Change_Threshold_Requirement | — | — | — | SUB | SUB | — | — | — | — |
| Change_Based_Monitoring_Requirement | — | — | — | SUB | SUB | — | — | — | — |
| Periodic_Monitoring_Requirement | — | — | — | SUB | SUB | — | — | — | — |
| Monitoring_Data_Source_Specification | — | — | — | SUB | SUB | — | — | — | — |
| Collection_Data_Set_Definition | — | — | — | SUB | SUB | — | — | — | — |
| Channel | — | — | — | SUB | SUB | — | — | — | — |
| Channel_Specification | — | — | — | SUB | SUB | — | — | — | — |
Command topics — O-role driven, service replies via CommandResponseType
| Topic | Registry | Alarms | HMI | UACM | LdmX | 3rd Party Apps² | VoIP | J1939 GW | ONVIF |
|---|---|---|---|---|---|---|---|---|---|
| Monitored_Characteristic__supplyCharacteristicValue | — | — | — | SUB | SUB | — | — | — | — |
| Monitored_Characteristic__reset | — | — | PUB | SUB | P/S | — | — | — | — |
| Fault_Event__setOperatorComment | — | — | PUB | SUB | P/S | — | — | — | — |
| Fault_Event__remove | — | — | PUB | SUB | P/S | — | — | — | — |
| Interruptive_Built_In_Test__startTest | — | — | PUB | SUB | P/S | — | — | — | — |
| Interruptive_Built_In_Test__stopTest | — | — | PUB | SUB | P/S | — | — | — | — |
| Maintenance_Action__complete | — | — | PUB | SUB | P/S | — | — | — | — |
| Maintenance_Action__blocked | — | — | PUB | SUB | P/S | — | — | — | — |
| Maintenance_Action__setComment | — | — | PUB | SUB | P/S | — | — | — | — |
| Maintenance_Action__remove | — | — | — | SUB | P/S | — | — | — | — |
| Manual_Failure_Report__updateDescription | — | — | PUB | SUB | P/S | — | — | — | — |
| Manual_Failure_Report__clear | — | — | PUB | SUB | P/S | — | — | — | — |
| Platform_With_Monitoring__reportManualFailure | — | — | PUB | SUB | P/S | — | — | — | — |
| Expiry_Date_Usage__setNewExpiryDate | — | — | PUB | SUB | P/S | — | — | — | — |
| Characteristic_Usage__updateCurrentUsage | — | — | PUB | SUB | P/S | — | — | — | — |
| Resource_Usage__resetUsage | — | — | — | SUB | P/S | — | — | — | — |
| Usage_And_Condition_Monitoring__CommandResponseType | — | — | SUB | PUB | SUB | — | — | — | — |
³ Monitored_Resource_Specification and Fault_Event_Specification
are the bridge-role dual channels: gva-uacm subscribes to them as
the wire-authority input for WIRE_LEARNED promotion (§2.5.4–§2.5.7)
and publishes surrogate samples at grace-elapse for entries that
remain in the BRIDGE_FALLBACK role. Which side wins is decided per
(resourceId, instanceId) key using the fallback authority precedence
rule in the UACM Service
docs.
Navigation Reference (P_Navigation_Reference_PSM)¶
| Topic | Registry | Alarms | HMI | UACM | LdmX | 3rd Party Apps² | VoIP Server | J1939 GW | ONVIF | | --------------------------------- | -------- | ------ | --- | ---- | ---- | --------------- | ----------- | -------- | ----- | --- | | Navigation_Resource | — | — | SUB | — | SUB | — | — | — | — | — | | Navigation_Resource_Specification | — | — | — | — | SUB | — | — | — | — | — | | Navigation_Integration_Service | — | — | — | — | SUB | — | — | — | — | — | | Position | — | — | SUB | — | SUB | — | — | — | — | — |
J1939 Automotive (P_J1939_Automotive_PSM)¶
| Topic | Registry | Alarms | HMI | UACM | LdmX | 3rd Party Apps² | VoIP Server | J1939 GW | ONVIF | | --------------------------- | -------- | ------ | --- | ---- | ---- | --------------- | ----------- | -------- | ------- | --- | | Parameter | — | — | — | — | SUB | — | — | PUB | PUB | — | | Parameter_Group_Definition | — | — | — | — | — | — | — | PUB | PUB | — | | Data_Source | — | — | — | — | — | — | — | — | PUB | — | | Data_Source_Specification | — | — | — | — | — | — | — | — | PUB | — | | Application_Area_Definition | — | — | — | — | — | — | — | — | PUB | — |
Mount (P_Mount_PSM)¶
| Topic | Registry | Alarms | HMI | UACM | LdmX | 3rd Party Apps² | VoIP Server | J1939 GW | ONVIF | | ---------------- | -------- | ------ | --- | ---- | ---- | --------------- | ----------- | -------- | ----- | --- | | Rotational_Mount | — | — | SUB | — | SUB | — | — | — | — | — |
Video (P_Video_PSM)¶
| Topic | Registry | Alarms | HMI | UACM | LdmX | 3rd Party Apps² | VoIP Server | J1939 GW | ONVIF | | -------------- | -------- | ------ | --- | ---- | ---- | --------------- | ----------- | -------- | ----- | --- | | Optical_Sensor | — | — | SUB | — | SUB | — | — | — | — | — |
Battlespace Objects (P_Battlespace_Objects_PSM)¶
| Topic | Registry | Alarms | HMI | UACM | LdmX | 3rd Party Apps² | VoIP Server | J1939 GW | ONVIF | | ------------------ | -------- | ------ | --- | ---- | ---- | --------------- | ----------- | -------- | ----- | --- | | Battlespace_Object | — | — | SUB | — | — | — | — | — | — | — | | Object_Location | — | — | SUB | — | — | — | — | — | — | — | | objectDeleted | — | — | SUB | — | — | — | — | — | — | — |
Routes (P_Routes_PSM)¶
| Topic | Registry | Alarms | HMI | UACM | LdmX | 3rd Party Apps² | VoIP Server | J1939 GW | ONVIF | | ------------------------ | -------- | ------ | --- | ---- | ---- | --------------- | ----------- | -------- | ----- | --- | | Route | — | — | — | — | SUB | — | — | — | — | — | | Waypoint | — | — | — | — | SUB | — | — | — | — | — | | Platform_Following_Route | — | — | — | — | SUB | — | — | — | — | — |
Displays & Controls (P_Displays_And_Controls_PSM)¶
| Topic | Registry | Alarms | HMI | UACM | LdmX | 3rd Party Apps² | VoIP Server | J1939 GW | ONVIF | | --------------- | -------- | ------ | --- | ---- | ---- | --------------- | ----------- | -------- | ----- | --- | | HMI_Desktop | — | — | — | — | SUB | — | — | — | — | — | | HMI_Application | — | — | — | — | SUB | — | — | — | — | — | | Display_Panel | — | — | — | — | SUB | — | — | — | — | — | | Text_Display | — | — | — | — | SUB | — | — | — | — | — |
Third Party Application Breakdown¶
The "3rd Party Apps" column above aggregates multiple Display Extension client applications that share the same DDS topic pattern. Individual breakdown:
| Topic | BMS | Shield Protocol | Defense Grid | Drone Invaders | Wpn Sight |
|---|---|---|---|---|---|
| Third_Party_Session | PUB | PUB | PUB | PUB | PUB |
| Hard_Button_Label | PUB | PUB | PUB | PUB | PUB |
| Hard_Button_Event | SUB | SUB | SUB | SUB | SUB |
| Widget_Interaction_Event | SUB | — | — | — | SUB |
| Third_Party_Page | SUB | SUB | SUB | SUB | SUB |
| requestResourceId | PUB¹ | PUB¹ | PUB¹ | — | PUB¹ |
| supplyResourceId | SUB¹ | SUB¹ | SUB¹ | — | SUB¹ |
| mapDescriptor | PUB | PUB | PUB | — | PUB |
| setOperatingMode | PUB | PUB | PUB | — | PUB |
| setCurrentRole | PUB | PUB | PUB | — | PUB |
| Alarm | — | PUB | PUB | PUB | — |
| Alarm_Condition | — | PUB | PUB | PUB | — |
| Alarm_Condition_Specification | — | PUB | PUB | PUB | — |
| Alarm_Category_Definition | — | PUB | PUB | PUB | — |
Service Roles Summary¶
| Service | Executable | Role | Pub Topics | Sub Topics |
|---|---|---|---|---|
| Registry | gva-registry |
Platform registration hub, resource ID allocation | 6 | 6 |
| Alarms | gva-alarms |
Alarm lifecycle management | 3 | 7 |
| HMI | gva-hmi |
Crew interface, display extension host | 14 | 22 |
| UACM | gva-uacm |
Health & usage monitoring (SR-role + bridge role, GVA CRP v2.0 §3) | 7 | 33 |
| VoIP Server | gva-voip-server |
Audio group/channel management (SIP) | 2 | 5 |
| LdmX | ldmx |
DDS topic monitor/inspector | 8 | ~45 |
| BMS App | gva-app-bms |
Battle management display extension | 7 | 5 |
| Shield Protocol | gva-app-shield-protocol |
Security display extension | 10 | 4 |
| Defense Grid | gva-app-defense-grid-run |
Game display extension | 10 | 4 |
| Drone Invaders | gva-app-drone-invaders |
Game display extension | 6 | 3 |
| Weapon Sight | gva-app-wpn-sight |
Weapon sight display extension | 7 | 5 |
| J1939 Gateway | gva-gateway-j1939 |
CAN bus to DDS bridge | 5 | 0 |
| ONVIF | gva-app-onvif |
ONVIF camera PTZ control via DDS | 0 | 3 |
Unimplemented PSM Modules¶
The following GVA Defence Standard PSM modules define DDS topics in the IDL but have no active service implementation:
| PSM Module | Topic Count | Description |
|---|---|---|
| Acoustic_Detector_PSM | 12 | Acoustic threat detection |
| Ammunition_PSM | 3 | Ammunition nature and quantities |
| Annunciation_PSM | 14 | Audio/visual crew annunciations |
| Arbitration_PSM | 22 | Resource access arbitration |
| Automatic_Weapon_PSM | 18 | Automatic weapon fire control |
| Automotive_Message_Set_Specification_PSM | 6 | Automotive entity specifications |
| Distribution_Network_PSM | 19 | Power distribution network |
| Environmental_Control_PSM | 31 | HVAC and NBC protection |
| Environmental_Sensors_PSM | 28 | Environmental sensor data |
| Laser_Range_Finder_PSM | 15 | LRF control and measurement |
| Laser_Warning_System_PSM | 8 | Laser warning receiver |
| Manual_Weapon_PSM | 12 | Manual weapon control |
| Multimedia_Routing_PSM | 20 | Multimedia stream routing |
| Power_PSM | 47 | Power source management |
| Radar_PSM | 37 | Radar control and tracks |
| Single_Shot_Grenade_Launcher_Array_PSM | 14 | Smoke/grenade launchers |
| States_Modes_PSM | 10 | System state machines |
| Tactical_Effector_PSM | 13 | Fire control systems |
| Tactical_Object_Derivation_PSM | 10 | Threat correlation |
| Tactical_Sensor_PSM | 14 | Tactical sensor tracks |
| Video_Tracking_PSM | 39 | Video auto-tracker |
| Weapon_Location_PSM | 27 | Weapon locating radar |