|
|
|
The communication between the agent and the server will be given by limited informations that are restricted to what may have changed from one step to another. The JSON file contains two objects separated with the same rules of the first message JSON file. Exemple below.
|
|
|
|
|
|
|
|
```JSON
|
|
|
|
{
|
|
|
|
"mapPerceptions" : {
|
|
|
|
"flood" : {
|
|
|
|
"coordUpperX" : -30.085000,
|
|
|
|
"coordUpperY" : -51.245556,
|
|
|
|
"coordLowerX" : -30.080397,
|
|
|
|
"coordLowerY" : -51.234005,
|
|
|
|
},
|
|
|
|
"victims" : [{"coord1..."}, {"coord2..."}],
|
|
|
|
"jobs" : [{"job1..."}, {"job2..."}]
|
|
|
|
},
|
|
|
|
"personalPerceptions" : {}
|
|
|
|
}
|
|
|
|
```
|
|
|
|
|
|
|
|
The first object refer to the map changes like the area of the flood that happened during the simulation, the victims affected by the flood and the jobs (can be empty) defined.
|
|
|
|
> Each victim is resumed to a coordinate
|
|
|
|
|
|
|
|
The second object refer to the specific changes of each agent such as: current coordinates, physical load, physical content, digital load, digital content, battery, rout and the result of the previous action. The explanation of these fields can be found in the `Agent` file.
|
|
|
|
|
|
|
|
|
|
|
|
# Job
|
|
|
|
All the jobs have an `indentifier` to the simulation locate and change the `status` of the right job. Besides the identifier and the status, the job also has a list of `requiredSkills` and the `coord` of the job. The required skills are important to decide if the agent can do the job or not and speed up the response from the server.
|
|
|
|
It's defined in a JSON style like below:
|
|
|
|
|
|
|
|
```JSON
|
|
|
|
{
|
|
|
|
"id": "oelkcmalsk1212klsdklma1",
|
|
|
|
"coord" : {
|
|
|
|
"coordX" : -30.0277,
|
|
|
|
"coordY" : -51.2287
|
|
|
|
},
|
|
|
|
"status": "Success",
|
|
|
|
"requiredSkills": ["takePhoto", "rescue"]
|
|
|
|
}
|
|
|
|
```
|
|
|
|
|
|
|
|
* __id__ : Unique identifier
|
|
|
|
|
|
|
|
* __coord__ : Location of the job
|
|
|
|
|
|
|
|
* __status__ : If the job was `Success` or `Failure`
|
|
|
|
|
|
|
|
*__requiredSkills__ : List of all the skills the agent **need** to do the job
|
|
|
|
|