ATLAS Services Overview¶

The ATLAS suite includes a set of GVA services that run alongside the HMI to provide system discovery, alarm management, and usage monitoring. These services implement the core service layer defined by DEF STAN 23-009, enabling any GVA-compliant application to register, publish alarms, and report health status over DDS without vendor-specific integration.
The Problem¶
Without a shared service layer, every vehicle subsystem must implement its own discovery handshake, alarm routing, and health reporting — leading to duplicated logic, inconsistent behaviour, and integration headaches when subsystems from different vendors are combined on the same platform.
How ATLAS Services Solve It¶
ATLAS ships three lightweight, standalone service daemons (Registry, Alarms, UACM) that own the service contract for the entire vehicle. Subsystems register once over DDS and immediately gain alarm annunciation, heartbeat monitoring, and usage tracking. The services run as systemd units, start in any order after the registry, and require zero configuration beyond a shared DDS domain ID.
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-registry &
# Start alarms service
./bin/gva-alarms &
# Start UACM service
./bin/gva-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