DDS Middleware¶
The GVA product line uses the Data Distribution Service (DDS) standard for all publish/subscribe communication between vehicle subsystems. DDS provides real-time, scalable, and decentralised data distribution — ideal for safety-critical military vehicle architectures where reliability and deterministic latency matter.
AstuteDDS¶
AstuteDDS
AstuteDDS is the DDS middleware used across the GVA product line — every ATLAS, TALOS, and HERMES binary ships with it built in. Developed by Astute Systems, it is purpose-built for GVA deployments and provides:
- Tight GVA integration — tested and validated against all LDM IDL topic definitions
- Lightweight footprint — optimised for embedded and resource-constrained platforms (ARM64 i.MX, single-board computers)
- Defence-grade quality — developed with military vehicle deployment in mind
- First-class support — direct engineering support from Astute Systems
- Open documentation — full API reference at astute-systems.github.io/astutedds-cxx
There is nothing to install or configure separately — AstuteDDS is bundled with every ATLAS/TALOS/HERMES package and with the ldm-sdk runtime.
AstuteDDS Documentation
Full API documentation, configuration guides, and examples are available at:
astute-systems.github.io/astutedds-cxx
Architecture¶
DDS sits between the application layer and the network, handling discovery, serialisation, and reliable delivery:
DDS Configuration¶
Domain ID¶
All applications on the same vehicle must use the same DDS domain ID:
# Default domain
gva-registry --domain=0
gva-hmi --domain=0
# Separate domain for testing
gva-registry --domain=1
gva-hmi --domain=1
Discovery Configuration¶
Shared AstuteDDS discovery settings live in /etc/gva/astutedds/discovery-wired.json,
installed by the gva-dds-config package (a dependency of every ATLAS/TALOS
service and app package). It's read at startup by every GVA DDS binary — most
deployments never need to edit it.
Writing Your Own DDS Client¶
If you're integrating a third-party or external application with the GVA network rather than running the shipped product-line binaries, see the LDM SDK Reference — it covers the IDL headers, the Qt wrapper pub/sub layer, and source examples for building your own GVA-compliant DDS client against AstuteDDS.
See Also¶
- AstuteDDS API Reference
- DDS Topics Reference — all GVA topic definitions
- Topic-to-Service Matrix — which services use which topics
- Quick Start — running the GVA services and writing your first DDS client