# Overview
This project repository is a collaborative workspace. It consists of all messages transferred into and out of the Communications Backbone. Message type schemas will be developed once reviewing each vehicle's data and statuses defined by each partner.



# Message Types
* Each message below will be treated as the `payload` that are wrapped in a `full_message_format` that includes a `message_header`.

|  Type                     |  Summary of File                                                                               | Serialized/Compiled in Vehicle-Specific Format? |
| --------------------------| ---------------------------------------------------------------------------------------------- | ----------------------------------------------- |
|  `planning_configuration` |   Autonomy Engine's Configuration file (if c2 needs to update its respective vehicle directly) |             No                                  |
|  `mission_plan`           |   Mission plan generated by Autonomy Engine per vehicle                                        |             No                                  |
|  `encoded_mission_plan`   |   Encoded/serialized vehicle-specific mission plan                                             |             Yes                                 |
|  `encoded_vehicle_status` |   Encoded/serialized vehicle-specific vehicle status                                           |             Yes                                 |
|  `vehicle_status`         |   Decoded/de-serialized generic vehicle status                                                 |             No                                  |
|  `encoded_observation`    |   Encoded/serialized observation data from vehicle for Autonomy Engine                         |             Yes                                 |
|  `observation`            |   Decoded/de-serialized observation data from vehicle for Autonomy Engine                      |             No                                  |
|  `acknowledgement`        |   Decoded/de-serialized acknowledgement message from the Hydrosurv Adapater                    |             No                                  |

-----------------------------------

## Message Data Flow Summary
| Partner         | Message Type           | Source            | Destination            | Via Comms Backbone? | Contains Serialized Vehicle-Specific File? | Comment                                                                                  |
| --------------- | ---------------------- | ----------------- | ---------------------- | ------------------- | ------------------------------------------ | ---------------------------------------------------------------------------------------- |
| Autonomy Engine | vehicle status        | C2’s              | Autonomy Engine        | Yes                 | No                                         |                                                                                          |
| Autonomy Engine | Hydrosurv/Ecosub/Ah1   |
| Autonomy Engine | mission plan           | Autonomy Engine   | C2’s                   | Yes                 | No                                         |                                                                                          |
| Autonomy Engine | Hydrosurv/Ecosub/Ah1   |
| Autonomy Engine | autonomy configuration | GUI               | ALL                    | Yes                 | No                                         | Common file sent to all partners – to store                                              |
| Autonomy Engine | autonomy configuration | C2’s              | Autonomy Engine        | Yes                 | No                                         | IF REQUIRED ONLY, UPDATE STORED FILE.                                                    |
| Autonomy Engine | Hydrosurv/Ecosub/Ah1   |
| Hydrosurv       | vehicle status        | Hydrosurv C2      | Autonomy Engine        | Yes                 | No                                         |                                                                                          |
| Hydrosurv       | mission plan           | Autonomy Engine   | Hydrosurv C2           | Yes                 | No                                         |                                                                                          |
| Hydrosurv       | mission plan           | Hydrosurv C2      | Reav-60                | No                  | Yes                                        |                                                                                          |
| Hydrosurv       | autonomy configuration | GUI               | Hydrosurv C2 (ALL)     | Yes                 | No                                         | Common file sent to all partners – to store                                              |
| Hydrosurv       | autonomy configuration | Hydrosurv C2      | GUI                    | Yes                 | No                                         | IF REQUIRED ONLY, UPDATE STORED FILE.                                                    |
| Hydrosurv       | acknowledgment         | Hydrosurv C2      | Comms Backbone (Audit) | Yes                 | No                                         | When hydrosurv adapter has (a) Received, (b) Sent Plan to Reav, and (c) Executed by Reav |
| Planet Ocean    | vehicle status        | Ecosub            | Hydrosurv Adapter      | No                  | Yes                                        |                                                                                          |
| Planet Ocean    | vehicle status        | Hydrosurv Adapter | Ecosub C2              | Yes                 | Yes                                        |                                                                                          |
| Planet Ocean    | vehicle status        | Ecosub C2         | Autonomy Engine        | Yes                 | No                                         |                                                                                          |
| Planet Ocean    | mission plan           | Autonomy Engine   | Ecosub C2              | Yes                 | No                                         |                                                                                          |
| Planet Ocean    | mission plan           | Ecosub C2         | Hydrosurv Adapter      | Yes                 | Yes                                        |                                                                                          |
| Planet Ocean    | mission plan           | Hydrosurv Adapter | Ecosub                 | No                  | Yes                                        | Via Hermes + Router                                                                      |
| Planet Ocean    | autonomy configuration | GUI               | Ecosub C2 (ALL)        | Yes                 | No                                         | Common file sent to all partners – to store                                              |
| Planet Ocean    | autonomy configuration | Hydrosurv C2      | GUI                    | Yes                 | No                                         | IF REQUIRED ONLY, UPDATE STORED FILE.                                                    |
| Planet Ocean    | observation            | Ecosub            | Hydrosurv Adapter      | No                  | Yes                                        | Via Hermes + Router                                                                      |
| Planet Ocean    | observation            | Hydrosurv Adapter | Ecosub C2              | Yes                 | Yes                                        |                                                                                          |
| Planet Ocean    | observation            | Ecosub C2         | Autonomy Engine        | Yes                 | No                                         |                                                                                          |
| Planet Ocean    | vehicle status        | AH1               | Hydrosurv Adapter      | No                  | Yes                                        | Via Hermes + Router                                                                      |
| NOC             | vehicle status        | Hydrosurv Adapter | NOC C2                 | Yes                 | Yes                                        |                                                                                          |
| NOC             | vehicle status        | NOC C2            | Autonomy Engine        | Yes                 | No                                         |                                                                                          |
| NOC             | mission plan           | Autonomy Engine   | NOC C2                 | Yes                 | No                                         |                                                                                          |
| NOC             | mission plan           | NOC C2            | Hydrosurv Adapter      | Yes                 | Yes                                        |                                                                                          |
| NOC             | mission plan           | Hydrosurv Adapter | AH1                    | No                  | Yes                                        | Via Hermes + Router                                                                      |
| NOC             | autonomy configuration | GUI               | NOC C2 (ALL)           | Yes                 | No                                         | Common file sent to all partners – to store                                              |
| NOC             | autonomy configuration | Hydrosurv C2      | GUI                    | Yes                 | No                                         | IF REQUIRED ONLY, UPDATE STORED FILE.                                                    |