Overview
The Inhumate Suite encompasses three types of components:
- RTI (Runtime Infrastructure) providing a means of communication,
- Applications providing common functionality such as runtime control, recording, visualization and analysis; and
- Integrations enabling you to include your own, or third party applications, such as simulators and prototypes, into the mix.
Integrating all these components effectively requires them to share (and developers to understand) the common information model presented below.
This common information is shared between clients by publishing and subscribing to messages, serialized in Protobuf format, on predefined channels using the RTI as message broker.
Since the RTI is just a good old pub/sub message broker, applications can easily extend this model and share other information, using text, JSON or Protobuf serialization on other channels.
Common Information Model
[TODO overview schematic of information model]
Shared dynamic environment:
- Entities are objects of interest in the world, such as a person, player, vehicle. They have common properties like a title, type, and optionally a position.
- Geometry describes the shape of things, either static objects of interest in a scenario, dynamic visualizations, or the shape of an entity type.
Control, visualization and analysis:
- Runtime control e.g. used to load, start and stop a simulated scenario.
- Launch control is used to configure, start and stop applications.
- Injects are used to control dynamic events in a scenario.
- Measures and measurements to record and visualize metrics.
Technical bits:
- Commands to control specific aspects of a simulator, entity or application
- Clients, channels, logs