Versions Compared

Key

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

...

  1. GET, DELETE, CREATE API ControlLoop Sequence Diagram

    PlantUML Macro
    titleGET, DELETE, CREATE API Sequence Diag
    @startuml
    
    actor CLAMP
    participant API_Gateway
    database Database
    note over Database: It can be DesiginTime Or RuntTime Catalogue Database
    
    
    CLAMP -> API_Gateway: Rest API Request (JSON/Yaml)
    API_Gateway -> Database: Get, Delete Or Create ControlLoops
    activate API_Gateway
    note over API_Gateway,Database: Pull, Delete existing Or Create New ControlLoops in Database
    
    alt successful case
    
        Database -> API_Gateway : Return List of ControlLoops Or able to Delete, Create ControlLoop in Database
        API_Gateway -> CLAMP: Return Success
    
    else failure case
    
        API_Gateway <- Database: Return either Empty List for Get ControlLoops Or Failure Status for Delete, Create Request
    	deactivate API_Gateway
        note over Database: No ControlLoops exist Or Failed in Deleting, Creating ControlLoops
        API_Gateway -> CLAMP : Return Failure
    
    end
    @enduml



  2. Deploy API ControlLoop Sequence Diagram 

    PlantUML Macro
    titleDeploy API ControlLoop Sequence Diag
    @startuml
    
    actor CLAMP
    controlparticipant CLAPI_Instance_ControlGateway
    database DesignTime_Catalogue_Database
    database RunTime_Catalogue_Database
    collections Participants
    
    CLAMP -> CLAPI_Instance_ControlGateway: Rest Deploy API Request (JSON/Yaml)
    CLAPI_Instance_ControlGateway -> DesignTime_Catalogue_Database: Fetch ControlLoop from DesignTime Catalogue Database
    activate CLAPI_Instance_ControlGateway
    note over CLAPI_Instance_ControlGateway,DesignTime_Catalogue_Database: Fetch existing ControlLoops from DesignTime Catalogue Database
    
    alt successful case
        DesignTime_Catalogue_Database -> CLAPI_Instance_ControlGateway : Return List of existing ControlLoops from DesignTime Catalogue Database
        note over DesignTime_Catalogue_Database, RunTime_Catalogue_Database: Populate RunTime Catalogue with ControlLoops existing in DesignTime Catalogue Database
        CLAPI_Instance_ControlGateway -> RunTime_Catalogue_Database: Push ControlLoop to RunTime Catalogue Database
        CL_Instance_ControlAPI_Gateway -> Participants: Push ControlLoop to individual Participants(App)
        API_Gateway -> CLAMP: Return Success
    
    else failure case
    
        CLAPI_Instance_ControlGateway <- DesignTime_Catalogue_Database: Return Empty ControlLoop List, No ControlLoop exist in DesignTime Catalogue
    	deactivate CLAPI_Instance_ControlGateway
        note over CLAPI_Instance_ControlGateway, DesignTime_Catalogue_Database: DesignTime Catalogue Database is Empty, cannot deploy ControLoop in RunTime Catalogue Database 
        CLAPI_Instance_ControlGateway -> CLAMP : Return Failure
    
    end
    @enduml


...