...
Participant Supervision is performed periodically between participants and the ACM runtime server to ensure that registered participants are available over time.
Participants send a heartbeat message to the ACM runtime at a configured interval.
PlantUML Macro |
---|
@startuml participant Participant participant ACM_Runtime database ACM_Database Participantloop ->Every Participant: UninitializeSupervision allInterval ACM ElementParticipant Instances running on Participant\n(See Instatiion Dialogues) activate Participant deactivate Participant -> ACM_Runtime: Heartbeat message ACM_Runtime -> ACM_Database: DeleteUpdate Participant Registration Participant <- ACM_Runtime: [ASYNC] Deregistration Accepted Heartbeat data end @enduml |
The ACM runtime regularly checks the heartbeat reports from participants and takes action of participants time out. If a heartbeat message is not received for a participant in the Timeout Interval, the participant is marked as timed out and its ACM element instances are informed.
PlantUML Macro |
---|
@startuml
participant ACM_Runtime
database ACM_Database
loop Every ACM_Runtime Supervision Interval
loop Over all Participants
ACM_Runtime -> Database: Read Participant Heartbeat Information
alt Participant Heartbeat not received in Timeout Interval
ACM_Runtime -> ACM_Runtime: Inform all ACM Element Instances\nrunning on Participant of Timeout\n(See Instantiation Dialogues)
activate ACM_Runtime
deactivate ACM_Runtime
end
end
end
@enduml |
2 Dialogues on Automation Composition Types
...