...
PlantUML Macro |
---|
@startuml participant REST participant ACM_Runtime participant Participants database ACM_Database REST -> ACM_Runtime: Undeploy Automation Composition Instance ACM_Runtime -> ACM_Database: Read Automation Composition Instance Information alt Automation Composition Instance exists alt Automation Composition Instance administrative state is not in state LOCKED ACM_Runtime -> REST: Automation Composition instance exists and is not LOCKED else ACM_Runtime -> REST: Automation Composition instance does not exist end else ACM_Runtime -> Participants: [ASYNC] Undeploy AC Element Instances for this AC Instance ACM_Runtime -> ACM_Database: Mark this AC Instance and its AC Element Instances as Undeploying ACM_Runtime -> REST: Undeployment of Automation Composition Instance has been requested end @enduml |
...
PlantUML Macro |
---|
@startuml
participant REST
participant ACM_Runtime
database ACM_Database
REST -> ACM_Runtime: Get Automation Composition Instance Information
ACM_Runtime -> ACM_Database: Read Automation Composition Instance Information
ACM_Runtime -> REST: Respond with Automation Composition Instance information\nincluding ACM Element Instance information\nand admin, operational, and usage state
@enduml |
3.5 Unlock Automation Composition Instance
The user requests the AC Instance to be unlocked using a REST endpoint. The ACM Runtime orders the AC Instance to be unlocked on Participants.
PlantUML Macro |
---|
@startuml
participant REST
participant ACM_Runtime
participant Participants
database ACM_Database
REST -> ACM_Runtime: Unlock Automation Composition Instance
ACM_Runtime -> ACM_Database: Read Automation Composition Instance Information
alt Automation Composition Instance exists
alt Automation Composition Instance is LOCKED
ACM_Runtime -> Participants: [ASYNC] Unlock AC Element Instances for this AC Instance
ACM_Runtime -> ACM_Database: Mark AC Instance and its AC Element Instances as Unlocking
ACM_Runtime -> REST: Unlocking of Automation Composition Instance has been requested
else
ACM_Runtime -> REST: Automation Composition instance is not locked
end
else
ACM_Runtime -> REST: Automation Composition instance does not exist
end
@enduml |
Each participant unlocks its AC Element Instances from the AC Instance.
PlantUML Macro |
---|
@startuml
participant ACM_Runtime
participant Participant
ACM_Runtime -> Participant: [ASYNC] Unlock 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 LOCKED
ACM_Runtime <- Participant: [ASYNC] WARN: AC Element is not LOCKED
else
Participant -> Participant: Unlock AC Element Instance
activate Participant
deactivate Participant
alt AC Element unlocked successfully
Participant -> Participant: Set AC Element Instance administrative state to UNLOCKED
ACM_Runtime <- Participant: [ASYNC] INFO: AC Element has been unlocked
else
ACM_Runtime <- Participant: [ASYNC] ERROR: AC Element was not unlocked
end
end
else
note left of participant
ignore this AC Element instance as its for another participant
end note
end
end
@enduml |
The ACM Runtime receives and stores the responses.
PlantUML Macro |
---|
@startuml
participant ACM_Runtime
participant Participant
database ACM_Database
ACM_Runtime <- Participant: [ASYNC] Unlock Automation Composition Element Instance Response
ACM_Runtime -> ACM_Database: Store Automation Composition Element Instance Response Information
alt Is AC Element Instance Unlocked?
ACM_Runtime -> ACM_Database: Set AC Element Instance administrative state as UNLOCKED
alt Have all the other AC Element Instances in this AC Instance been UNLOCKED?
ACM_Runtime -> ACM_Runtime: Set AC Instance administrative state as UNLOCKED
end
end
@enduml |