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
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 &
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