Versions Compared

Key

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

...

PlantUML Macro
@startuml
participant ACM_Runtime
participant Participant
participant Participant_API

ACM_Runtime -> Participant: [ASYNC] Deploy 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 already deployed
   ACM_Runtime <- Participant: [ASYNC] WARN: AC Element is already deployed
  else
   Participant -> Participant_API: Deploy AC Element Instance
   activate Participant
   deactivate Participant
   Participant <- Participant_API: AC Element Instance Deploy Response
    alt AC Element deployed successfully
    Participant -> Participant: Set AC Element Instance administrative state to LOCKED
    ACM_Runtime <- Participant: [ASYNC] INFO: AC Element has been deployed
   else
    ACM_Runtime <- Participant: [ASYNC] ERROR: AC Element was not deployed
   end
  end
 else
  note left of Participant
   ignoreIgnore this AC Element instance as its for another participant 
  end note
 end
end

@enduml

...

PlantUML Macro
@startuml
participant ACM_Runtime
participant Participant

ACM_Runtime -> Participant: [ASYNC] Undeploy 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 Does this AC Element Instance exist?
   ACM_Runtime <- Participant: [ASYNC] WARN: AC Element does not exist
  else Is this administrative state of this AC Element Instance LOCKED
   Participant -> Participant: Undeploy AC Element Instance
   activate Participant
   deactivate Participant
   alt AC Element undeployed successfully
    ACM_Runtime <- Participant: [ASYNC] INFO: AC Element undeployed successfully
   else
    ACM_Runtime <- Participant: [ASYNC] ERROR: AC Element was not undeployed
   end
  else
    ACM_Runtime <- Participant: [ASYNC] WARN: AC Element is already undeployed
  end
 else
  note left of participantParticipant
   ignoreIgnore this AC Element instance as its for another participant 
  end note
 end
end

@enduml

...

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
   ignoreIgnore this AC Element instance as its for another participant 
  end note
 end
end

@enduml

...

PlantUML Macro
@startuml
participant ACM_Runtime
participant Participant

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: Order lock AC Element Instance
   activate Participant
   deactivate Participant
   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
   ignoreIgnore this AC Element instance as its for another participant 
  end note
 end
end

@enduml

...