Versions Compared

Key

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

...

3.4.1: Supervision Sequence Diagrams

PlantUML Macro
titleMonitoring Big Sequence Diagram
@startuml

actor Client
participant Deployment_API
control CL_Instance_Control
database Runtime_DB
participant Supervision_Service
participant Monitoring_Service
participant DMaaP
collections Participants


==Instantation==

Client -> Deployment_API : Fetch all Deployed Control Loops
Deployment_API -> Runtime_DB : Rest call to get Deployed Control Loops
Runtime_DB -> Deployment_API : Return Deployed Control Loops
Deployment_API -> Client : Provide the data
Client -> Client : Select CL for instantiation and provide config
Client -> CL_Instance_Control : Instantiate CL POST REST API call

alt case where Client sends deployed CL id instead of the full CL in the body

CL_Instance_Control -> Runtime_DB : Fetch the Deployed Control Loop from Models table
Runtime_DB -> CL_Instance_Control : Return the requested Deployed Control Loop data

end

CL_Instance_Control -> DMaaP : INSTANTIATE Event (JSON/Yaml)
note over CL_Instance_Control, DMaaP : List of Participant ID's containing Participant Metadata Blocks
Participants -> DMaaP : Pulls its part of CL and tries to Instantiate


==Monitoring==

Participants -> DMaaP : Starts sending monitoring events \nOnce instantiation of components begins
note over DMaaP : Events are sent at set intervals, one per participant

Monitoring_Service -> DMaaP : Consistently pulls events off the monitoring topic
Monitoring_Service -> Runtime_DB : Puts and updates the monitoring data on the DB


==Supervision==

Supervision_Service -> Runtime_DB : Periodic check on monitoring data

alt CL successfully instantiated

Supervision_Service -> Client : Return Instantiation Successful

else CL failed to instantiate

... TIMEOUT CL state not changed to INSTANTIATED ...
Supervision_Service -> CL_Instance_Control : Timeout, error occured
CL_Instance_Control -> DMaaP : TEARDOWN Event (JSON/Yaml)
Participants -> DMaaP : Pulls its part of CL and starts Teardown
note over Monitoring_Service : Monitoring Service receives events and updates state
note over Supervision_Service : Supervision Service finds that status has changed
Supervision_Service -> Client : Return Instantiation Failed (http code and an error message) 

end
@enduml

3.4.2: Supervision APIs to other components

...