Implement platform_ID for instruction_set
Closed
Implement platform_ID for instruction_set
Problem
- The instruction set payload doesn't contain the platform_ID
- We want the platform_ID to be a required field
- We can't specify the platform_ID in the planning_configuration
Proposal
- Change the message_type to
platform_instruction_set
- The
platform_instruction_set
message containsmessage_type
+ requiredplatform_ID
and requiredinstruction_set
- Remove the
message_type
field from theinstruction_set
schema
Result
- The
planning_configuration.instructions
contains staticinstruction_sets
to be added to aplatform_instruction_set
payload - ORI have to create a
platform_instruction_set
message with theplatform_ID
and one of the staticinstruction_sets
defined inplanning_configuration.instructions
- A payload without
platform_ID
is invalid
added Project::MAS-DT Weight::2 labels
created merge request !52 (merged) to address this issue
mentioned in merge request !52 (merged)
changed milestone to %CB-2024W41
added Status::In Review label
The proposed change looks good to me, thanks. Just out of curiosity, what is the reason for not specifying the
platform_ID
in theplanning_configuration
message? It makes sense to me that the planning configs should be platform-specific in case there are multiple platforms active at the same time. Is this handled somewhere else?The platforms are in the
planning_configuration
in the squads section. Aplanning_configuration
may represent a single campaign operating multiple platforms. Those platforms may be sharing the same job (1 squad with 3 platforms covering 1/3 each of a survey region) in one squad. The platforms may be performing different roles with different objectives (multiple squads).We're looking at whether to move the instructions section down into the squad or platform level so you could have different configuration options for different roles but we're not proposing to do that for MAS-DT since we only have the one platform.
{ "squads": [ { "squad_ID": 1, "no_of_platforms": 1, "squad_mission_type": "profiling", "platforms": [ { "operator": "noc", "model": "slocum", "platform_ID": "unit_xxx", "active": true } ], ... } } }