diff options
Diffstat (limited to 'docs/clamp/acm/api-protocol/puml/ParticipantStateChangeDialogue.puml')
-rw-r--r-- | docs/clamp/acm/api-protocol/puml/ParticipantStateChangeDialogue.puml | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/docs/clamp/acm/api-protocol/puml/ParticipantStateChangeDialogue.puml b/docs/clamp/acm/api-protocol/puml/ParticipantStateChangeDialogue.puml new file mode 100644 index 00000000..af8779da --- /dev/null +++ b/docs/clamp/acm/api-protocol/puml/ParticipantStateChangeDialogue.puml @@ -0,0 +1,35 @@ +@startuml + +activate CLAMP_Runtime +CLAMP_Runtime -> CLAMP_Runtime: Build an ordered list of the Start Phases in the Automation Composition Instance +deactivate CLAMP_Runtime + +alt "State Change UNDEPLOYED_to_DEPLOYED or LOCKED_to_UNLOCKED" + loop over Start Phases list in increasing order + CLAMP_Runtime -> Participant: Automation Composition State Change\n[to all Participants in Automation Composition with this Start Phase] + CLAMP_Runtime -> CLAMP_Runtime: Asynchronously wait for answers from Participants + CLAMP_Runtime <- Participant: Automation Composition State Change Ack [from each Participant in this Start Phase of Automation Composition] + alt "State Change Ack reports success" + CLAMP_Runtime -> CLAMP_Runtime: Log success + else "State Change Ack reports an error" + CLAMP_Runtime -> CLAMP_Runtime: Log error + CLAMP_Runtime -> CLAMP_Runtime: Reset state of Automation Composition CLAMP_Runtime -> CLAMP_Runtime: Abort State Change operation + end + end +else "State Change DEPLOYED_to_UNDEPLOYED or UNLOCKED_to_LOCKED" + loop over Start Phases list in decreasing order + CLAMP_Runtime -> Participant: Automation Composition State Change\n[to all Participants in Automation Composition with this Start Phase] + CLAMP_Runtime -> CLAMP_Runtime: Asynchronously wait for answers from Participants + CLAMP_Runtime <- Participant: Automation Composition State Change Ack [from each Participant in this Start Phase of Automation Composition] + alt "State Change Ack reports success" + CLAMP_Runtime -> CLAMP_Runtime: Log success + else "State Change Ack reports an error" + CLAMP_Runtime -> CLAMP_Runtime: Log error + CLAMP_Runtime -> CLAMP_Runtime: Reset state of Automation Composition CLAMP_Runtime -> CLAMP_Runtime: Abort State Change operation + end + end +end + +CLAMP_Runtime -> CLAMP_Runtime: Set overall state of Automation Composition + +@enduml |