-
Notifications
You must be signed in to change notification settings - Fork 0
Home
Rui Zhao edited this page Mar 17, 2020
·
35 revisions
This project provides a serial of APIs used for the interaction of three main components (Simulation and Optimization Orchestrator, Optimization Tool and Simulation Manager) based on parameter optimization in the distributed architecture of the Simulation and Optimization Environment in the CPSWarm project.
All of these APIs are used to transfer messages between the components by integrating an XMPP client to connect with each other through the XMPP server to control the optimization progress, automatically publish their own presence status and backup the optimization status for optimization recovery. They can be divided into three main groups based on their functionalities.
- eu.cpswarm.optimization.messages
API | Description | Components involved | Type of communication | Data included |
---|---|---|---|---|
SimulatorConfigured | Replies to the simulation configuration files(e.g. fitness script, together with SCID in the description) sent from the SOO through the file transfer function of XMPP standard, indicating if the ST has been successfully configured or not. | Sent by an SM to the SOO after publishing its available presence with SCID. | Text message. | Fields:
|
StartOptimization | Used to start an optimization task with the optimization configuration. | Sent by the SOO to the OT. | Text message. | Fields:
|
GetOptimizationStatus | Used to get the status of a running optimization, specified by OID. | Sent by the SOO to the OT when receiving the OT optimization status changes. | Text message. | Fields:
|
CancelOptimization | Used to cancel a running optimization during a running optimization, specified by OID | Sent by the SOO to the OT. | Text message. | Fields:
|
OptimizationStatus | Used to reply to the GetOptimizationStatus and CancelOptimization messages. | Sent by the OT to the SOO. | Text message. | Fields:
|
RunSimulation | Instructs the SM to run a simulation using the specified parameter values. It can be sent by the OT during optimization or by the SOO to request a simple simulation. | Sent by the SOO or by the OT to the SM. | Text message. | Fields:
|
RunSimulation | Returns the result of a simulation performed for optimization. | Sent by an SM to the OT during optimization. | Text message. | Fields:
|
- eu.cpswarm.optimization.statuses
API | Description | Components involved | Type of communication | Data included |
---|---|---|---|---|
OptimizationStatusType | Enumaration of the possible status of the optimization process. It’s a field of the OptimizationStatus API, but also a field of OptimizationTaskStatus API | Sent by a OT to the SOO through the OptimizationStatus message, or published by OT through its available presence when optimization status is changed | Text message. | Enumeration:
|
OptimizationToolStatus | Used by OT to publish its Available presence together with its status(the serialized json string of this class instance) in case one running optimization status is changed | Published by the OT. It can be received by all components | Text message. | Fields:
|
OptimizationTaskStatus | Used by OT to record the info of each optimization process | Generated and integrated as a field in the OptimizationToolStatus by OT when publishing the OT presence status. | Text message. | Fields:
|
SOOStatus | Used by SOO to publish its Available presence together with its status (the serialized json string of this class instance) to indicate the current optimization info | Published by the SOO. It can be received by all components | Text message. | Fields:
|
SimulationManagerCapability | Used by SM to specify its capabilities, this info will be used by SOO to select the available SMs for the optimization. | Generated and integrated as a field in the SimulationManagerStatus message by SM. | Text message. | Fields:
|
SimulationManagerStatus | Used by the SM to publish its Available presence together with its status (the serialized JSON string of this class instance) to indicate its capability used by SOO when it starts up and if it’s configured which is useful for OT to recognize available SM. | Published by the SM, received by all components. | Text message. | Fields:
|
- eu.cpswarm.optimization.parameters
API | Description | Components involved | Type of communication | Data included |
---|---|---|---|---|
ParameterDefinition | The definition of the parameters which include the key information used in the simulation run to control the result. These parameters are to be optimized in optimization. OT will generate the parameter values based on the definition | Sent from an SOO to OT through the optimization configuration message integrated into the StartOptimization message | Text message. | Emulation:
|
Parameter | A specific parameter object generated by OT based on the definition. It will be sent to SM by inserted in the RunSimulation message | Sent from OT to SM through RunSimulation message | Text message. | Fields:
|
Candidate | Used by OT to record the best set of parameter values in the current generation stored in the ParameterOptimizationConfiguration object through an OptimizationStatus message as a reply to GetOptimizationStatus. Or through a StartOptimization sent from SOO to OT |
Sent from OT to SOO | ||
Or sent from SOO to OT | Text message. | Fields:
|
||
ParameterOptimizationConfiguration | Used to store the current optimization configuration, it’s a field in the StartOptimization message and the OptimizationStatus message | Sent from OT to SOO through OptimizationStatus message. Or sent from SOO to OT through StartOptimization message |
Text message. | Fields:
|