Addressing
The SAE JAUS standard does not define a mechanism for assigning the Subsystem, Node, and Components IDs that constitute a JAUS Address1. As such, the most common approach is to statically assign these IDs in code or using configuration files.
IOP has attempted to address this shortcoming by defining a set of additional optional services that can be used to dynamically assign these IDs. The relevant IOP attributes are:
- Centralized Subsystem Assignment
- Subsystem ID Propagation
- Dynamic Node ID Assignment
The OpenJAUS SDK provides support for these IOP mechanisms as part of the org.openjaus.iop-*.cpp packages. When support is enabled in a Component, functionality is configured via the OpenJAUS configuration file.
To enable support, instantiate a std::shared_ptr to an instance of a openjaus::iop_v7::AddressProvider and register it with the Component using the Component::registerAddressProvider method.
Unsure how to create a Component? See the Tutorial.