Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

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)

...