...
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
...