summaryrefslogtreecommitdiffstats
path: root/docs/clamp/acm/plantuml/system-dialogues/LockAcInstanceElements.puml
blob: 4fbb9335a97c14fcbab55c9e6f332b64f7545d7a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
@startuml
participant ACM_Runtime
participant Participant
participant Participant_API

ACM_Runtime -> Participant: [ASYNC] Lock AC Element Instances for this AC Instance

loop over AC Element Instances in AC Instance
 alt Does the primed Participant ID on this AC Element Instance\nmatch my Participant ID?
  alt Is this AC Element Instance administrative state not UNLOCKED
   ACM_Runtime <- Participant: [ASYNC] WARN: AC Element is not UNLOCKED
  else
   Participant -> Participant: Set AC Element Instance administrative state to SHUTTING_DOWN
   Participant -> Participant_API: Lock AC Element Instance
   activate Participant_API
   Participant <- Participant_API: Lock AC Element Instance Response
   deactivate Participant_API
   alt AC Element locked successfully
    Participant -> Participant: Set AC Element Instance administrative state to LOCKED
    ACM_Runtime <- Participant: [ASYNC] INFO: AC Element has been locked
   else
    ACM_Runtime <- Participant: [ASYNC] ERROR: AC Element was not locked
   end
  end
 else
  note left of participant
   Ignore this AC Element instance as its for another participant
  end note
 end
end

@enduml