Versions Compared

Key

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

...

PlantUML Macro
@startuml
participant CLAMP_GUI
participant CLAMP_Runtime
participant Participant
database Database

CLAMP_GUI -> CLAMP_Runtime: [REST] Read Control Loop Instances
CLAMP_Runtime -> Database: Read Control Loop Instances
CLAMP_Runtime -> CLAMP_GUI: [REST] Control Loop Instances returned
CLAMP_GUI -> CLAMP_GUI: Select Control Loop Instance on which to Update Parameters
CLAMP_GUI -> CLAMP_GUI: Step version of Control Loop Instance as Major/Minor/Patch
CLAMP_GUI -> CLAMP_Runtime: [REST] Fetch GUI fields for Instance Specific Parameter Definitions
CLAMP_Runtime -> Database: Read Control Loop Type Definition
CLAMP_Runtime -> CLAMP_Runtime: Generate fields for Instance Specific Parameters for GUI
CLAMP_Runtime -> CLAMP_GUI: [REST] Return GUI fields Instance Specific Parameter Definitions
CLAMP_GUI -> CLAMP_GUI: Render UI for Instance Specific Parameters
CLAMP_GUI -> CLAMP_GUI: Get values for Instance Specific Parameters from user
CLAMP_GUI -> CLAMP_Runtime: [REST] Request Update of Control Loop Instance
CLAMP_Runtime -> CLAMP_Runtime: Update Control Loop Instance
CLAMP_Runtime -> Database: Store New Version of Control Loop Instance
CLAMP_Runtime -> CLAMP_GUI: [REST] Control Loop Instance Updated

@enduml

2.3

...

Updating a Control Loop Instance

...

Version on Participants

PlantUML Macro
@startuml
participant CLAMP_GUI
participant CLAMP_Runtime
participant Participant
database Database

CLAMP_GUI -> CLAMP_Runtime: [REST] Read all versions of Control Loop Instance
CLAMP_Runtime -> Database: Read all versions of Control Loop Instance
CLAMP_Runtime -> CLAMP_GUI: [REST] All versions of Control Loop Instance returned
CLAMP_GUI -> CLAMP_GUI: Select version of Control Loop Instance for Instantiation Participants
CLAMP_GUI -> CLAMP_Runtime: [REST] Instantiate selected version of Control Loop Instance on Participants

alt Control Loop Instance version not instantiated on Participants
  CLAMP_Runtime -> Database: Read Control Loop Type Instance Version
  CLAMP_Runtime -> Participants: [DMaaP] Update Participants with Control Loop Instance Version
  CLAMP_Runtime -> CLAMP_GUI: [REST] Control Loop Instance version instantiation ordered on participants
else Control Loop Instance version instantiated on Participants
  CLAMP_Runtime -> CLAMP_GUI: [REST] Control 
end

== Participant Responses ==
Participants -> CLAMP_Runtime: [DMaaP] Result of Update with Control Loop Type Definition and values for Common Parameters
CLAMP_Runtime -> Database: Store result of Control Loop Type Definition Update on Participant

== Supervision ==
loop forever
  CLAMP_Runtime -> Database: Read Control Loop Type Definitions
  loop over each Control Loop Type Definition
    alt Control Loop Type Definition Participant Commission underway
	  CLAMP_Runtime -> Database: read result of Control Loop Type Definition Updates from Participant
      alt Updates completed on all participants
	    CLAMP_Runtime -> Database: set Control Loop Type Definition as Commissioned on Participants
      else Updates not completed
        alt Commissioning of Control Loop Type Definition on participants timed out
	      CLAMP_Runtime -> Database: set Control Loop Type Definition commissioning as timed out on Participants
	      CLAMP_Runtime -> CLAMP_Runtime: Log error
        else Wait for updates to complete
        end
      end 
    else Control Loop Type Definition Participant Commission not underway
    end
  end
@enduml

...

2.5 Changing the state of a Control Loop Instance on Participants

...