GVA Services Overview¶
The GVA (Generic Vehicle Architecture) framework defines several core services that enable interoperable vehicle systems. The LDM SDK provides complete implementations of these services.
Service Architecture¶
Core Services¶
Registration Service¶
The Registration Service manages system discovery and health monitoring across the GVA network.
Key Functions:
- System registration and deregistration
- Capability advertisement
- Health status monitoring
- Heartbeat management
Learn more about Registration →
Alarms Service¶
The Alarms Service provides standardised alarm management with priority queuing and acknowledgement handling.
Key Functions:
- Alarm raising and clearing
- Priority-based queuing (Warning > Caution > Advisory)
- Acknowledgement tracking
- Audio/visual annunciation
UACM Service¶
The Usage and Condition Monitoring (UACM) Service tracks equipment usage and system health for maintenance planning.
Key Functions:
- Usage hour tracking
- Fault recording
- Maintenance scheduling
- Data persistence
Tile Server¶
The Tile Server provides offline map tile syncing and local HTTP serving for the BMS and HMI applications.
Key Functions:
- Pre-download map tiles for specified geographic areas
- HTTP tile serving on port 8070 (XYZ slippy map format)
- Support for 50+ tile sources (OSM, ESRI, Sentinel-2, Geoscience Australia, etc.)
- OAuth2 authentication for Copernicus Data Space
- Licence-compliant offline caching of free and open data sources
Learn more about Tile Server →
Service Interaction¶
All GVA services communicate via DDS (Data Distribution Service) topics. This enables:
- Loose Coupling: Services operate independently
- Scalability: Multiple instances can run concurrently
- Reliability: QoS policies ensure message delivery
- Interoperability: Any DDS-compliant system can participate
Running Services¶
Start All Services¶
# Start registry (must be first)
./bin/gva-qt6-registry &
# Start alarms service
./bin/gva-qt6-alarms &
# Start UACM service
./bin/gva-qt6-uacm &
# Start tile server
./bin/gva-tile-server &
Using the HMI Script¶
A convenience script starts all services with the HMI:
Service Configuration¶
Services can be configured via:
- Command line arguments
- Environment variables
- Configuration files
DDS Domain¶
All services must use the same DDS domain:
Logging¶
Control log verbosity:
Best Practices¶
- Always register your application with the Registry
- Send heartbeats at regular intervals (default: 5 seconds)
- Handle alarms appropriately based on category
- Report usage to UACM for maintenance tracking
- Deregister cleanly on application shutdown