...
Broadcast message: a message for all participants (participantId=null and participantType=null).
Message to a participant: a message only for a participant (participantId and participantType properly filled).
Design of a creation of a Control Loop Type
- Call Gui calls POST "/commission" endpoint with a Control Loop Type Definition (Tosca Service Template) as body
- Save it saves to DB the Tosca Service Template using PolicyModelsProvider
- if there are participants registered, it triggers to ParticipantUpdatePublisher the execution to send a broadcast PARTICIPANT_UPDATE message
- message is built by ParticipantUpdatePublisher using Tosca Service Template data (to fill the list of ParticipantDefinition).
Design of a deletion of a Control Loop Type
- Call GUI calls DELETE "/commission with a Control Loop Type Definition (Tosca Service Template)" endpoint
- if there are participants registered, it triggers to ParticipantUpdatePublisher the execution to send a broadcast PARTICIPANT_UPDATE message
- message is built by ParticipantUpdatePublisher with a empty list of ParticipantDefinition
- delete the Control Loop Type from DB
Design of a creation of a Control Loop
- Call GUI calls POST "/instantiation" endpoint with a Control Loop as body
- Validation of it validates the Control Loop
- Save it saves the Control Loop to DB
Design of an update of a Control Loop
- Call GUI calls PUT "/instantiation" endpoint with a Control Loop as body
- Validation of it validates the Control Loop
- Save it save the Control Loop to DB
Design of a deletion of a Control Loop
- Call GUI calls DELETE "/instantiation" endpoint
- check it checks that Control Loop is in UNINITIALISED status
- delete it deletes the Control Loop from DB
Design of a issues control loop commands to control loops - case UNINITIALISED to PASSIVE
- CALL GUI calls "/instantiation/command" endpoint with PASSIVE as orderedState
- check it checks if participants registered are matching with the list of control Loop Element
- update it updates control loop and control loop elements to DB (orderedState = PASSIVE)
- validate it validates the status order issued
- trigger to ControlLoopUpdatePublisher it triggers the execution to send a broadcast CONTROL_LOOP_UPDATE message
- the message is built by ControlLoopUpdatePublisher using Tosca Service Template data and ControlLoop data. (with startPhase = 0)
- update it updates control loop and control loop elements to DB (state = UNINITIALISED2PASSIVE)
Design of a issues control loop commands to control loops - case PASSIVE to UNINITIALISED
- CALL GUI calls "/instantiation/command" endpoint with UNINITIALISED as orderedState
- check it checks if participants registered are matching with the list of control Loop Element
- update it updates control loop and control loop elements to DB (orderedState = UNINITIALISED)
- validate it validates the status order issued
- trigger to ControlLoopStateChangePublisher it triggers the execution to send a broadcast CONTROL_LOOP_STATE_CHANGE message
- the message is built by ControlLoopStateChangePublisher with controlLoopId
- update it updates control loop and control loop elements to DB (state = PASSIVE2UNINITIALISED)
Design of a issues control loop commands to control loops - case PASSIVE to RUNNING
- CALL GUI calls "/instantiation/command" with RUNNING as orderedState
- check if participants registered are matching with the list of control Loop Element.
- update control loop and control loop elements to DB (orderedState = RUNNING)
- validate the status order issued
- trigger to ControlLoopStateChangePublisher to send a broadcast CONTROL_LOOP_STATE_CHANGE message
- message is built by ControlLoopStateChangePublisher with controlLoopId
- update control loop and control loop elements to DB (state = PASSIVE2RUNNING)
...