...
3.4.1: Supervision Sequence Diagrams
PlantUML Macro | ||
---|---|---|
| ||
@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
...