Versions Compared

Key

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

...

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