Versions Compared

Key

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

...

PlantUML Macro
@startuml

participant ACM_Runtime
participant Participant
database ACM_Database 

ACM_Runtime <- Participant: [ASYNC] Automation Composition Element Instance into Service Response
ACM_Runtime -> ACM_Database: Store Automation Composition Element Instance Response Information

alt Is AC Element Instance in service?
 ACM_Runtime -> ACM_Database: Set AC ElemenetElement Instance as "In Service"
else
 ACM_Runtime -> ACM_Database: Set AC ElemenetElement Instance as "Not In Service"
end

@enduml
Warning
PAGE UPDATED TO HERE.

3.4 Take Automation Composition Instance out of Service

The user requests the AC Instance to drop out of service using a REST endpoint. The ACM Runtime orders the AC Instance to drop out of service.


PlantUML Macro
@startuml
participant REST 
participant ACM_Runtime
participant ParticipantParticipants
database ACM_Database  REST

REST -> ACM_Runtime: ReadTake allAutomation InstantiatedComposition AutomationInstance Compositionout Instancesof Service
ACM_Runtime -> ACM_Database: Read all Instantiated Automation Composition Instances ACM_Runtime -> REST: All Instantiated Instance Information

alt Automation Composition Instance exists
 alt Automation Composition InstancesInstance returnedis REST in state "Out Of Service"
  ACM_Runtime -> REST: Select Automation Composition Instanceinstance onexists whichand tois changealready stateout andof specifyservice
 newelse
 state RESTACM_Runtime -> ACM_RuntimeREST: ChangeAutomation stateComposition ofinstance selecteddoes Automationnot Composition Instance on Participants

alt Selected Automation Composition Instance instantiated on Participants  exist
 end
else
 ACM_Runtime -> Participants: [DMaaPASYNC] RequestTake changeAC ofElement stateInstances offor Automationthis CompositionAC Instance   out of Service
 ACM_Runtime -> RESTACM_Database: ChangeSet of statestatus of Automation CompositionAC Instance orderedand onits participants
elseAC SelectedElement AutomationInstances Compositionas Instance"Dropping notout instantiated on Participants  of Service"
 ACM_Runtime -> REST: Automation Composition Instance not instantiated on participants 
end

== Participant Responses ==
Participants -> ACM_Runtime: [DMaaP] Result of State Change of Automation Composition Instance on participant ACM_Runtime -> ACM_Database: Store result of State Change of Automation Composition Instance on participant

== Supervision ==
loop forever   ACM_Runtime -> ACM_Database: Read Automation Composition Instances
  loop over each Automation Composition Instance
    alt Automation Composition Instance State Change underway on participants    ACM_Runtime -> ACM_Database: read result of Automation Composition State Change from participants
      alt Updates completed on all participants      ACM_Runtime -> ACM_Database: set Automation Composition Instance state as changed on Participants      ACM_Runtime -> ACM_Database: set overall Automation Composition Instance state as changed
      else Updates not completed
        alt Automation Composition Instance State Change on participants timed out        ACM_Runtime -> ACM_Database: set Automation Composition State Change as timed out on Participants        ACM_Runtime -> ACM_Runtime: Log error
        else Wait for updates to complete
        end
      end 
    else Automation Composition Instance State Change on participants not underway
    end
  end
end
@enduml has been requested to drop out of service
end

@enduml


Each participant takes its AC Element Instances from the AC Instance out of service.


PlantUML Macro
@startuml
participant ACM_Runtime
participant Participant

ACM_Runtime -> Participant: [ASYNC] Take AC Element Instances for this AC Instance out of Service 

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 out of service
   ACM_Runtime <- Participant: [ASYNC] WARN: AC Element is already out of service
  else
   Participant -> Participant: Bring AC Element Instance out of Service
   activate Participant
   deactivate Participant
   alt AC Element drops out of service successfully
    ACM_Runtime <- Participant: [ASYNC] INFO: AC Element taken out of service
   else
    ACM_Runtime <- Participant: [ASYNC] ERROR: AC Element was taken out of service
   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] Automation Composition Element Instance out of service Response
ACM_Runtime -> ACM_Database: Store Automation Composition Element Instance Response Information

alt Is AC Element Instance out of service?
 ACM_Runtime -> ACM_Database: Set AC Element Instance as "Not In Service"
else
 ACM_Runtime -> ACM_Database: Set AC Element Instance as "In Service"
end

@enduml


Warning

PAGE UPDATED TO HERE.

3.5 De-instantiating an Automation Composition Instance from Participants

...