Message Schemas
Message schemas define the payload syntax and semantics for messages published or subscribed using the MQTT protocol. Schemas work like Python object classes that can easily be serialized to or deserialized from JavaScript Object Notation (JSON) for transmission in MQTT message payloads.
Command Messages
Command messages are published by the manager application during scenario execution.
- pydantic model InitTaskingParameters
Tasking parameters to initialize an execution.
Show JSON schema
{ "title": "InitTaskingParameters", "description": "Tasking parameters to initialize an execution.", "type": "object", "properties": { "simStartTime": { "title": "Simstarttime", "description": "Earliest possible scenario start time.", "type": "string", "format": "date-time" }, "simStopTime": { "title": "Simstoptime", "description": "Latest possible scenario end time.", "type": "string", "format": "date-time" }, "requiredApps": { "title": "Requiredapps", "description": "List of required applications.", "default": [], "type": "array", "items": { "type": "string" } } }, "required": [ "simStartTime", "simStopTime" ] }
- Fields:
- pydantic model InitCommand
Command message to initialize an execution.
Show JSON schema
{ "title": "InitCommand", "description": "Command message to initialize an execution.", "type": "object", "properties": { "taskingParameters": { "title": "Taskingparameters", "description": "Tasking parameters for the initialize command.", "allOf": [ { "$ref": "#/definitions/InitTaskingParameters" } ] } }, "required": [ "taskingParameters" ], "definitions": { "InitTaskingParameters": { "title": "InitTaskingParameters", "description": "Tasking parameters to initialize an execution.", "type": "object", "properties": { "simStartTime": { "title": "Simstarttime", "description": "Earliest possible scenario start time.", "type": "string", "format": "date-time" }, "simStopTime": { "title": "Simstoptime", "description": "Latest possible scenario end time.", "type": "string", "format": "date-time" }, "requiredApps": { "title": "Requiredapps", "description": "List of required applications.", "default": [], "type": "array", "items": { "type": "string" } } }, "required": [ "simStartTime", "simStopTime" ] } } }
- field tasking_parameters: InitTaskingParameters [Required] (alias 'taskingParameters')
Tasking parameters for the initialize command.
- pydantic model StartTaskingParameters
Tasking parameters to start an execution.
Show JSON schema
{ "title": "StartTaskingParameters", "description": "Tasking parameters to start an execution.", "type": "object", "properties": { "startTime": { "title": "Starttime", "description": "Wallclock time at which to start execution.", "type": "string", "format": "date-time" }, "simStartTime": { "title": "Simstarttime", "description": "Scenario time at which to start execution.", "type": "string", "format": "date-time" }, "simStopTime": { "title": "Simstoptime", "description": "Scenario time at which to stop execution.", "type": "string", "format": "date-time" }, "timeScalingFactor": { "title": "Timescalingfactor", "description": "Scenario seconds per wallclock second.", "default": 1.0, "exclusiveMinimum": 0, "type": "number" } } }
- Fields:
- field sim_start_time: datetime | None = None (alias 'simStartTime')
Scenario time at which to start execution.
- field sim_stop_time: datetime | None = None (alias 'simStopTime')
Scenario time at which to stop execution.
- field start_time: datetime | None = None (alias 'startTime')
Wallclock time at which to start execution.
- field time_scaling_factor: ConstrainedFloatValue = 1.0 (alias 'timeScalingFactor')
Scenario seconds per wallclock second.
- Constraints:
exclusiveMinimum = 0
- pydantic model StartCommand
Command message to start an execution.
Show JSON schema
{ "title": "StartCommand", "description": "Command message to start an execution.", "type": "object", "properties": { "taskingParameters": { "title": "Taskingparameters", "description": "Tasking parameters for the start command.", "allOf": [ { "$ref": "#/definitions/StartTaskingParameters" } ] } }, "required": [ "taskingParameters" ], "definitions": { "StartTaskingParameters": { "title": "StartTaskingParameters", "description": "Tasking parameters to start an execution.", "type": "object", "properties": { "startTime": { "title": "Starttime", "description": "Wallclock time at which to start execution.", "type": "string", "format": "date-time" }, "simStartTime": { "title": "Simstarttime", "description": "Scenario time at which to start execution.", "type": "string", "format": "date-time" }, "simStopTime": { "title": "Simstoptime", "description": "Scenario time at which to stop execution.", "type": "string", "format": "date-time" }, "timeScalingFactor": { "title": "Timescalingfactor", "description": "Scenario seconds per wallclock second.", "default": 1.0, "exclusiveMinimum": 0, "type": "number" } } } } }
- field tasking_parameters: StartTaskingParameters [Required] (alias 'taskingParameters')
Tasking parameters for the start command.
- pydantic model StopTaskingParameters
Tasking parameters to stop an execution.
Show JSON schema
{ "title": "StopTaskingParameters", "description": "Tasking parameters to stop an execution.", "type": "object", "properties": { "simStopTime": { "title": "Simstoptime", "description": "Scenario time at which to stop execution.", "type": "string", "format": "date-time" } }, "required": [ "simStopTime" ] }
- pydantic model StopCommand
Command message to stop an execution.
Show JSON schema
{ "title": "StopCommand", "description": "Command message to stop an execution.", "type": "object", "properties": { "taskingParameters": { "title": "Taskingparameters", "description": "Tasking parameters for the stop command.", "allOf": [ { "$ref": "#/definitions/StopTaskingParameters" } ] } }, "required": [ "taskingParameters" ], "definitions": { "StopTaskingParameters": { "title": "StopTaskingParameters", "description": "Tasking parameters to stop an execution.", "type": "object", "properties": { "simStopTime": { "title": "Simstoptime", "description": "Scenario time at which to stop execution.", "type": "string", "format": "date-time" } }, "required": [ "simStopTime" ] } } }
- field tasking_parameters: StopTaskingParameters [Required] (alias 'taskingParameters')
Tasking parameters for the stop command.
- pydantic model UpdateTaskingParameters
Tasking parameters to update an execution.
Show JSON schema
{ "title": "UpdateTaskingParameters", "description": "Tasking parameters to update an execution.", "type": "object", "properties": { "timeScalingFactor": { "title": "Timescalingfactor", "description": "Time scaling factor (scenario seconds per wallclock second).", "exclusiveMinimum": 0, "type": "number" }, "simUpdateTime": { "title": "Simupdatetime", "description": "Scenario time at which to update the time scaling factor.", "type": "string", "format": "date-time" } }, "required": [ "timeScalingFactor", "simUpdateTime" ] }
- Fields:
- field sim_update_time: datetime [Required] (alias 'simUpdateTime')
Scenario time at which to update the time scaling factor.
- field time_scaling_factor: ConstrainedFloatValue [Required] (alias 'timeScalingFactor')
Time scaling factor (scenario seconds per wallclock second).
- Constraints:
exclusiveMinimum = 0
- pydantic model UpdateCommand
Command message to update an execution.
Show JSON schema
{ "title": "UpdateCommand", "description": "Command message to update an execution.", "type": "object", "properties": { "taskingParameters": { "title": "Taskingparameters", "description": "Tasking parameters for the stop command.", "allOf": [ { "$ref": "#/definitions/UpdateTaskingParameters" } ] } }, "required": [ "taskingParameters" ], "definitions": { "UpdateTaskingParameters": { "title": "UpdateTaskingParameters", "description": "Tasking parameters to update an execution.", "type": "object", "properties": { "timeScalingFactor": { "title": "Timescalingfactor", "description": "Time scaling factor (scenario seconds per wallclock second).", "exclusiveMinimum": 0, "type": "number" }, "simUpdateTime": { "title": "Simupdatetime", "description": "Scenario time at which to update the time scaling factor.", "type": "string", "format": "date-time" } }, "required": [ "timeScalingFactor", "simUpdateTime" ] } } }
- field tasking_parameters: UpdateTaskingParameters [Required] (alias 'taskingParameters')
Tasking parameters for the stop command.
Status Messages
Status messages are published by all applications during scenario execution.
- pydantic model TimeStatusProperties
Properties to report time status.
Show JSON schema
{ "title": "TimeStatusProperties", "description": "Properties to report time status.", "type": "object", "properties": { "simTime": { "title": "Simtime", "description": "Current scenario time.", "type": "string", "format": "date-time" }, "time": { "title": "Time", "description": "Current wallclock time.", "type": "string", "format": "date-time" } }, "required": [ "simTime", "time" ] }
- pydantic model TimeStatus
Message to report time status.
Show JSON schema
{ "title": "TimeStatus", "description": "Message to report time status.", "type": "object", "properties": { "name": { "title": "Name", "description": "Name of the application providing a time status.", "type": "string" }, "description": { "title": "Description", "description": "Description of the application providing a ready status.", "type": "string" }, "properties": { "title": "Properties", "description": "Properties for the time status.", "allOf": [ { "$ref": "#/definitions/TimeStatusProperties" } ] } }, "required": [ "name", "properties" ], "definitions": { "TimeStatusProperties": { "title": "TimeStatusProperties", "description": "Properties to report time status.", "type": "object", "properties": { "simTime": { "title": "Simtime", "description": "Current scenario time.", "type": "string", "format": "date-time" }, "time": { "title": "Time", "description": "Current wallclock time.", "type": "string", "format": "date-time" } }, "required": [ "simTime", "time" ] } } }
- field properties: TimeStatusProperties [Required]
Properties for the time status.
- pydantic model ModeStatusProperties
Properties to report mode status.
Show JSON schema
{ "title": "ModeStatusProperties", "description": "Properties to report mode status.", "type": "object", "properties": { "mode": { "description": "Current execution mode.", "allOf": [ { "$ref": "#/definitions/Mode" } ] } }, "required": [ "mode" ], "definitions": { "Mode": { "title": "Mode", "description": "Enumeration of simulation modes.\n\nThe six simulation modes include\n * `UNDEFINED`: Simulation is in an undefined state that is not one of the other modes.\n For example, the simulation reverts to UNDEFINED after adding a new entity\n and must be re-initialized before execution.\n * `INITIALIZING`: Simulation is in the process of initialization.\n * `INITIALIZED`: Simulation has finished initialization and is ready to execute.\n * `EXECUTING`: Simulation is in the process of execution.\n * `TERMINATING`: Simulation is in the process of termination.\n * `TERMINATED`: Simulation has finished termination and is ready for initialization.", "enum": [ "UNDEFINED", "INITIALIZING", "INITIALIZED", "EXECUTING", "TERMINATING", "TERMINATED" ], "type": "string" } } }
- Fields:
- pydantic model ModeStatus
Message to report mode status.
Show JSON schema
{ "title": "ModeStatus", "description": "Message to report mode status.", "type": "object", "properties": { "name": { "title": "Name", "description": "Name of the application providing a mode status.", "type": "string" }, "description": { "title": "Description", "description": "Description of the application providing a ready status.", "type": "string" }, "properties": { "title": "Properties", "description": "Properties for the mode status.", "allOf": [ { "$ref": "#/definitions/ModeStatusProperties" } ] } }, "required": [ "name", "properties" ], "definitions": { "Mode": { "title": "Mode", "description": "Enumeration of simulation modes.\n\nThe six simulation modes include\n * `UNDEFINED`: Simulation is in an undefined state that is not one of the other modes.\n For example, the simulation reverts to UNDEFINED after adding a new entity\n and must be re-initialized before execution.\n * `INITIALIZING`: Simulation is in the process of initialization.\n * `INITIALIZED`: Simulation has finished initialization and is ready to execute.\n * `EXECUTING`: Simulation is in the process of execution.\n * `TERMINATING`: Simulation is in the process of termination.\n * `TERMINATED`: Simulation has finished termination and is ready for initialization.", "enum": [ "UNDEFINED", "INITIALIZING", "INITIALIZED", "EXECUTING", "TERMINATING", "TERMINATED" ], "type": "string" }, "ModeStatusProperties": { "title": "ModeStatusProperties", "description": "Properties to report mode status.", "type": "object", "properties": { "mode": { "description": "Current execution mode.", "allOf": [ { "$ref": "#/definitions/Mode" } ] } }, "required": [ "mode" ] } } }
- field properties: ModeStatusProperties [Required]
Properties for the mode status.
- pydantic model ReadyStatusProperties
Properties to report ready status.
Show JSON schema
{ "title": "ReadyStatusProperties", "description": "Properties to report ready status.", "type": "object", "properties": { "ready": { "title": "Ready", "description": "True, if this application is ready.", "default": true, "type": "boolean" } } }
- Fields:
- pydantic model ReadyStatus
Message to report ready status.
Show JSON schema
{ "title": "ReadyStatus", "description": "Message to report ready status.", "type": "object", "properties": { "name": { "title": "Name", "description": "Name of the application providing a ready status.", "type": "string" }, "description": { "title": "Description", "description": "Description of the application providing a ready status.", "type": "string" }, "properties": { "title": "Properties", "description": "Properties for the ready status.", "allOf": [ { "$ref": "#/definitions/ReadyStatusProperties" } ] } }, "required": [ "name", "properties" ], "definitions": { "ReadyStatusProperties": { "title": "ReadyStatusProperties", "description": "Properties to report ready status.", "type": "object", "properties": { "ready": { "title": "Ready", "description": "True, if this application is ready.", "default": true, "type": "boolean" } } } } }
- field properties: ReadyStatusProperties [Required]
Properties for the ready status.