...
PlantUML Macro |
---|
@startuml participant CLAMP_GUI participant CLAMP_Runtime participant Participant database Database CLAMP_GUI -> CLAMP_Runtime: [REST] Read Control Loop Type Definitions CLAMP_Runtime -> Database: Read Control Loop Type Definitions CLAMP_Runtime -> CLAMP_GUI: [REST] Type Definitions returned CLAMP_GUI -> CLAMP_GUI: Select Control Loop Type Definition for Parameterization CLAMP_GUI -> CLAMP_Runtime: [REST] Fetch GUI fields for Common Parameter Definitions alt Control Loop Type Definition not Commissioned on Participants CLAMP_Runtime -> Database: Read Control Loop Type Definition CLAMP_Runtime -> CLAMP_Runtime: Generate fields for Common Parameters for GUI CLAMP_Runtime -> CLAMP_GUI: [REST] Return GUI fields Common Parameter Definitions CLAMP_GUI -> CLAMP_GUI: Render UI for Common Parameters CLAMP_GUI -> CLAMP_GUI: Get values for Common Parameters from user CLAMP_GUI -> CLAMP_Runtime: [REST] Set values for Common Parameters CLAMP_Runtime -> Database: Store values for Common Parameters CLAMP_Runtime -> CLAMP_GUI: [REST] Common Parameter values stored else Control Loop Type Definition already Commissioned on Participants CLAMP_Runtime -> CLAMP_GUI: [REST] Cannot set Common Parameters on\nControl Loop Type Definition that has\nbeen commissioned on participants end @enduml |
1.4
...
Priming a Control Loop Type Definition on Participants
PlantUML Macro |
---|
@startuml participant CLAMP_GUI participant CLAMP_Runtime participant Participant database Database CLAMP_GUI -> CLAMP_Runtime: [REST] Read Control Loop Type Definitions CLAMP_Runtime -> Database: Read Control Loop Type Definitions CLAMP_Runtime -> CLAMP_GUI: [REST] Type Definitions returned CLAMP_GUI -> CLAMP_GUI: Select Control Loop Type Definition for CommissioningPriming on Participants CLAMP_GUI -> CLAMP_Runtime: [REST] CommissionPrime Control Loop Type Definition on Participants alt Control Loop Type Definition not CommissionedPrimed on Participants CLAMP_Runtime -> Database: Read Control Loop Type Definition CLAMP_Runtime -> Database: Read Common Parameter Values for Control Loop Type Definition alt Common Parameter values set for Control Loop Type Definition CLAMP_Runtime -> Participants: [DMaaP] Update Participants with Control Loop Type Definition and values for Common Parameters CLAMP_Runtime -> CLAMP_GUI: [REST] Control Loop Type Definition commissioningpriming ordered on participants else Control Loop Type Definition already Commissionedprimed on Participants CLAMP_Runtime -> CLAMP_GUI: [REST] Common Parameters not set\non Control Loop Type Definition end else Control Loop Type Definition already Commissionedprimed on Participants CLAMP_Runtime -> CLAMP_GUI: [REST] Cannot set Common Parameters on\nControl Loop Type Definition that has\nbeen commissionedprimed on participants 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 Commissionpriming underway CLAMP_Runtime -> Database: read result of Control Loop Type Definition Updates from participants alt Updates completed on all participants CLAMP_Runtime -> Database: set Control Loop Type Definition as Commissionedprimed on Participants else Updates not completed alt CommissioningPriming of Control Loop Type Definition on participants timed out CLAMP_Runtime -> Database: set Control Loop Type Definition commissioningpriming 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 Commissionpriming not underway end end end @enduml |
1.5
...
De-Prime a Control Loop Type Definition on Participants
This dialogue allows a Control Loop Type Definition to be decomissioned de-primed so that it can be deleted or its common parameter values can be altered.
...
PlantUML Macro |
---|
@startuml participant CLAMP_GUI participant CLAMP_Runtime participant Participant database Database CLAMP_GUI -> CLAMP_Runtime: [REST] Read Control Loop Type Definitions CLAMP_Runtime -> Database: Read Control Loop Type Definitions CLAMP_Runtime -> CLAMP_GUI: [REST] Type Definitions returned CLAMP_GUI -> CLAMP_GUI: Select Control Loop Type Definition for Decommissioningde-priming on Participants CLAMP_GUI -> CLAMP_Runtime: [REST] DecommissionDe-prime Control Loop Type Definition on Participants alt Control Loop Type Definition Commissionedprimed on Participants alt Control Loop Instances do not exist for Control Loop Type Definition CLAMP_Runtime -> Participants: [DMaaP] Update Participants, removing Control Loop Type Definition and values for Common Parameters CLAMP_Runtime -> CLAMP_GUI: [REST] Control Loop Type Definition decommissioningde-priming ordered on participants else Control Loop Instances exist for Control Loop Type Definition CLAMP_Runtime -> CLAMP_GUI: [REST] Control Loop Type Definition cannot be\n decommissionedde-primed on participants\nit is in use on control loops end else Control Loop Type Definition not Commissionedprimed on Participants CLAMP_Runtime -> CLAMP_GUI: [REST] Control Loop Type Definition has not\nbeen commissionedprimed on participants end == Participant Responses == Participants -> CLAMP_Runtime: [DMaaP] Result of Update to remove 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 decommissionde-prime underway CLAMP_Runtime -> Database: read result of Control Loop Type Definition Updates from participants alt Updates completed on all participants CLAMP_Runtime -> Database: set Control Loop Type Definition as decommissionedde-primeed on Participants else Updates not completed alt CommissioningDe-priming of Control Loop Type Definition on participants timed out CLAMP_Runtime -> Database: set Control Loop Type Definition decommissioningde-priming 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 decommissionde-prime not underway end end end @enduml |
...
PlantUML Macro |
---|
@startuml participant CLAMP_GUI participant CLAMP_Runtime database Database CLAMP_GUI -> CLAMP_Runtime: [REST] Read Control Loop Type Definitions CLAMP_Runtime -> Database: Read Control Loop Type Definitions CLAMP_Runtime -> CLAMP_GUI: [REST] Type Definitions returned CLAMP_GUI -> CLAMP_GUI: Select Control Loop Type Definition for Decommissioning CLAMP_GUI -> CLAMP_Runtime: [REST] Decommission Control Loop Type Definition alt Control Loop Type Definition not Commissionedprimed on Participants CLAMP_Runtime -> Database: Delete Control Loop Type Definition CLAMP_Runtime -> CLAMP_GUI: [REST] Type Definition Decommissioned else Control Loop Type Definition notis Commissioned on Participants CLAMP_Runtime -> CLAMP_GUI: [REST] Control Loop Type Definition cannot be decommissioned\nit is commissionedprimed on participants end @enduml |
...
Instantiation dialogues are used to create, set parameters on, instantiate, update, and remove Control Loop instances.
Assume a suitable Control Loop Definition exists in the Commissioned Control Loop Inventory. To get a Control Loop instance running one would, for example, execute dialogues 2.1, 2.3, and 2.4.
2.1 Creating a Control Loop Instance
...
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 Selected version of Control Loop Instance not instantiated on Participants CLAMP_Runtime -> Database: Read version of Control Loop Instance CLAMP_Runtime -> Participants: [DMaaP] Update Participants with version of Control Loop Instance CLAMP_Runtime -> CLAMP_GUI: [REST] Instantiation of Version of Control Loop Instance ordered on participants else Selected version of Control Loop Instance instantiated on Participants CLAMP_Runtime -> CLAMP_GUI: [REST] Version of Control Loop Instance already instantiated on participants end == Participant Responses == Participants -> CLAMP_Runtime: [DMaaP] Result of update of version of Control Loop Instance on participant CLAMP_Runtime -> Database: Store result of update of version of Control Loop Instance on participant == Supervision == loop forever CLAMP_Runtime -> Database: Read Control Loop Instances loop over each Control Loop Instance alt Control Loop Instance Instantiation update underway on participants CLAMP_Runtime -> Database: read result of Control Loop updates from participants alt Updates completed on all participants CLAMP_Runtime -> Database: set version of Control Loop Instance as Instantiated on Participants CLAMP_Runtime -> Database: set overall version of Control Loop Instance state as Instantiated else Updates not completed alt Instantiation of Control Loop Instance on participants timed out CLAMP_Runtime -> Database: set version Control Loop Instance Instantiation as timed out on Participants CLAMP_Runtime -> CLAMP_Runtime: Log error else Wait for updates to complete end end else Control Loop Instance Instantiation update on participants not underway end end end @enduml |
2.
...
4 Changing the state of a Control Loop Instance on Participants
PlantUML Macro |
---|
@startuml participant CLAMP_GUI participant CLAMP_Runtime participant Participant database Database CLAMP_GUI -> CLAMP_Runtime: [REST] Read all Instantiated Control Loop Instances CLAMP_Runtime -> Database: Read all Instantiated Control Loop Instances CLAMP_Runtime -> CLAMP_GUI: [REST] All Instantiated Control Loop Instances returned CLAMP_GUI -> CLAMP_GUI: Select Control Loop Instance on which to change state and specify new state CLAMP_GUI -> CLAMP_Runtime: [REST] Change state of selected Control Loop Instance on Participants alt Selected Control Loop Instance instantiated on Participants CLAMP_Runtime -> Participants: [DMaaP] Request change of state of Control Loop Instance CLAMP_Runtime -> CLAMP_GUI: [REST] Change of state of Control Loop Instance ordered on participants else Selected Control Loop Instance not instantiated on Participants CLAMP_Runtime -> CLAMP_GUI: [REST] Control Loop Instance not instantiated on participants end == Participant Responses == Participants -> CLAMP_Runtime: [DMaaP] Result of State Change of Control Loop Instance on participant CLAMP_Runtime -> Database: Store result of State Change of Control Loop Instance on participant == Supervision == loop forever CLAMP_Runtime -> Database: Read Control Loop Instances loop over each Control Loop Instance alt Control Loop Instance State Change underway on participants CLAMP_Runtime -> Database: read result of Control Loop State Change from participants alt Updates completed on all participants CLAMP_Runtime -> Database: set Control Loop Instance state as changed on Participants CLAMP_Runtime -> Database: set overall Control Loop Instance state as changed else Updates not completed alt Control Loop Instance State Change on participants timed out CLAMP_Runtime -> Database: set Control Loop State Change as timed out on Participants CLAMP_Runtime -> CLAMP_Runtime: Log error else Wait for updates to complete end end else Control Loop Instance State Change on participants not underway end end end @enduml |
2.
...
5 De-instantiating a Control Loop Instance from Participants
PlantUML Macro |
---|
@startuml participant CLAMP_GUI participant CLAMP_Runtime participant Participant database Database CLAMP_GUI -> CLAMP_Runtime: [REST] Read all Instantiated Control Loop Instances CLAMP_Runtime -> Database: Read all Instantiated Control Loop Instances CLAMP_Runtime -> CLAMP_GUI: [REST] All Instantiated Control Loop Instances returned CLAMP_GUI -> CLAMP_GUI: Select Control Loop Instance to de-instantiate CLAMP_GUI -> CLAMP_Runtime: [REST] De-instantiate selected Control Loop Instance on Participants alt Selected Control Loop Instance instantiated on Participants CLAMP_Runtime -> Participants: [DMaaP] Update Participants to remove Control Loop Instance CLAMP_Runtime -> CLAMP_GUI: [REST] De-instantiation of Control Loop Instance ordered on participants else Selected Control Loop Instance not instantiated on Participants CLAMP_Runtime -> CLAMP_GUI: [REST] Control Loop Instance not instantiated on participants end == Participant Responses == Participants -> CLAMP_Runtime: [DMaaP] Result of update of Control Loop Instance on participant CLAMP_Runtime -> Database: Store result of update of Control Loop Instance on participant == Supervision == loop forever CLAMP_Runtime -> Database: Read Control Loop Instances loop over each Control Loop Instance alt Control Loop Instance de-instantiation update underway on participants CLAMP_Runtime -> Database: read result of Control Loop updates from participants alt Updates completed on all participants CLAMP_Runtime -> Database: set Control Loop Instance as de-instantiated on Participants CLAMP_Runtime -> Database: set overall Control Loop Instance as de-instantiated else Updates not completed alt Control Loop Instance de-instantiation Update timed out on participants CLAMP_Runtime -> Database: set Control Loop Instance de-instantiation as timed out on Participants CLAMP_Runtime -> CLAMP_Runtime: Log error else Wait for updates to complete end end else Control Loop Instance de-instantiation update on participants not underway end end @enduml |
2.
...
6 Deleting a Control Loop Instance
PlantUML Macro |
---|
@startuml participant CLAMP_GUI participant CLAMP_Runtime database Database CLAMP_GUI -> CLAMP_Runtime: [REST] Read all Control Loop Instances CLAMP_Runtime -> Database: Read all Control Loop Instances CLAMP_Runtime -> CLAMP_GUI: [REST] All Control Loop Instances returned CLAMP_GUI -> CLAMP_GUI: Select Control Loop Instance to delete CLAMP_GUI -> CLAMP_Runtime: [REST] Delete selected Control Loop Instance alt Selected Control Loop Instance exists CLAMP_Runtime -> Database: Delete control loop instance CLAMP_Runtime -> CLAMP_GUI: [REST] Control Loop Instance deleted else Selected Control Loop Instance does not exist CLAMP_Runtime -> CLAMP_GUI: [REST] Control Loop Instance does not exist end @enduml |
2.
...
7 Reading Control Loop Instances
PlantUML Macro |
---|
@startuml participant CLAMP_GUI participant CLAMP_Runtime database Database CLAMP_GUI -> CLAMP_Runtime: [REST] Read all Control Loop Instances CLAMP_Runtime -> Database: Read all Control Loop Instances CLAMP_Runtime -> CLAMP_GUI: [REST] All Control Loop Instances returned @enduml |
...