LDMX - Land Data Model Explorer¶
LDMX (Land Data Model Explorer) is a powerful debugging and diagnostic tool for monitoring and analysing GVA DDS traffic in real-time. It provides comprehensive visibility into the LDM message bus, making it an essential tool for development, integration testing, and troubleshooting GVA systems.

Key Capabilities¶
LDMX provides the following capabilities:
| Feature | Description |
|---|---|
| Real-time DDS Monitoring | Subscribe to and display all LDM DDS topics as they are published |
| Message Analysis | Deep inspection of message structure and field values |
| Registry Tracking | Monitor resource registration and descriptor mappings |
| Alarm Management | View, acknowledge, and manage system alarms |
| UACM Diagnostics | Monitor resource health status and fault events |
| Topic Statistics | Track message counts and timing per DDS topic |
Running LDMX¶
Launch LDMX from the build directory:
Configuration¶
LDMX can be configured via a JSON configuration file. The configuration file is searched in the following locations (in order):
./ldmx-config.json(current directory)~/.config/ldmx/config.json(user configuration)- Qt standard AppConfigLocation
/etc/ldmx/config.json(system-wide)
Example configuration:
{
"dds_domain_id": 0,
"window_title": "LDMX - Land Data Model Explorer",
"auto_refresh_interval": 0
}
Tabs Overview¶
LDMX organises its functionality into several tabs under the DDS / LDM section:
Registry Status Tab¶
The Registry Status tab provides visibility into the GVA registration system, showing which resources have registered on the network and their descriptor mappings.

Features:
-
Registered Resources Table: Displays all resources that have registered via the Registration Service, including:
- UUID - Unique identifier for the resource
- Resource ID - Allocated LDM resource ID
- Instance ID - Instance number
- Manufacturer, Model, Version, Serial - Device metadata
- Timestamp - When the resource registered
-
Descriptor Mappings Table: Shows the mapping between human-readable descriptors and resource IDs:
- Descriptor - Human-readable name (e.g., "Main Display", "BMS Controller")
- Resource ID / Instance ID - Mapped resource identification
- Status - Active or Unmapped
- Timestamp - When mapping was created
-
Map/Unmap Button: Allows toggling descriptor mappings on/off for testing
Alarms Tab¶
The Alarms tab provides comprehensive alarm monitoring and management capabilities.

Features:
-
Alarm Table: Real-time display of all active alarms with columns for:
- Alarm ID - Unique alarm identifier
- Category - Warning, Caution, or Advisory
- State - Active, Acknowledged, Overridden, etc.
- Description - Human-readable alarm text
- Source - Originating resource
- Timestamp - When alarm was raised
-
Alarm Actions: Buttons to interact with selected alarms:
- Acknowledge - Mark alarm as acknowledged
- Clear - Clear the alarm (if clearable)
- Annotate - Add operator notes to alarm
- Override - Override alarm condition (if supported)
-
Status Bar Counters: Shows count of active alarms by priority level (Warning/Caution/Advisory)
UACM Monitor Tab¶
The UACM Monitor tab displays resource health status from the Usage and Condition Monitoring system.

Features:
-
Monitored Resources Table: Shows health status of all monitored resources:
- ID - Row identifier
- Timestamp - Last update time
- Resource ID / Instance ID - Resource identification
- Health Status - RAG status (Red/Amber/Green)
- Spec Resource ID / Instance ID - Link to resource specification
-
RAG Status Indicators: Health status displayed with colour coding:
- 🟢 GREEN - Normal operation
- 🟡 AMBER - Degraded performance or warning
- 🔴 RED - Fault or failure condition
-
Refresh Button: Manually refresh UACM data from DDS
UACM Faults Tab¶
The UACM Faults tab provides detailed fault event tracking and diagnostics.

Features:
-
Fault Events Table: Displays all fault events received via DDS:
- Source Resource ID / Instance ID - Where the fault originated
- Fault State - Current, Rectified, or Intermittent
- Description - Human-readable fault description
- Comment - Additional context or operator notes
- Occurrence Time - When the fault occurred
- Time Rectified - When fault was cleared (if applicable)
- Root Cause - Link to root cause resource (if identified)
-
Refresh Button: Manually refresh fault data from DDS
Analyser Tab¶
The Analyser tab is a powerful message inspection tool that captures and displays all DDS traffic.

Features:
-
Message List (Upper Pane): Scrolling list of all captured DDS messages:
- Timestamp - Message receive time
- Source - Originating resource
- Destination - Target resource (if applicable)
- Topic - DDS topic name
- Details - Brief message summary
-
Message Details (Lower Pane): Hierarchical tree view of selected message:
- Expandable field structure
- Field names and values
- Nested complex types fully expanded
- Easy navigation of message content
-
Auto-scroll: Table automatically scrolls to show newest messages
Performance Tip
In high-traffic environments, the Analyser can capture thousands of messages. Consider filtering or pausing capture when investigating specific issues.
Topics Tab¶
The Topics tab provides statistics on DDS topic activity.

Features:
-
Topic Statistics Table: Overview of all DDS topics with:
- Topic Name - Full DDS topic name
- Message Count - Total messages received on this topic
- Last Received - Timestamp of most recent message
-
Reset Counters Button: Clear all message counters to start fresh measurement
-
Automatic Refresh: Statistics update in real-time as messages arrive
Use Cases¶
Development & Debugging¶
- Verify that your application is publishing correct DDS messages
- Inspect message content to debug serialisation issues
- Monitor registration flow during application startup
Integration Testing¶
- Verify end-to-end message flow between systems
- Confirm alarm propagation and handling
- Validate UACM health reporting
System Diagnostics¶
- Identify communication issues between GVA components
- Monitor system health and fault conditions
- Track resource registration status
Training & Documentation¶
- Demonstrate GVA message flows
- Capture screenshots for documentation
- Understand LDM topic structure
Keyboard Shortcuts¶
| Shortcut | Action |
|---|---|
Ctrl+Tab |
Switch to next tab |
Ctrl+Shift+Tab |
Switch to previous tab |
F5 |
Refresh current view |
Esc |
Close application |
Related Topics¶
- DDS Topics Reference - Complete list of LDM DDS topics
- Registration Service - Registration service details
- Alarms Service - Alarm management service
- UACM Service - Usage and Condition Monitoring