Versions Compared

Key

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

...

PlantUML Macro
@startuml
participant CLAMP_GUI
participant CLAMP_Runtime
participant Participant
database Database

CLAMP_GUI -> CLAMP_Runtime: [REST] Read all versions of Control Loop Instance
CLAMP_Runtime -> Database: Read all versions of Control Loop Instance
CLAMP_Runtime -> CLAMP_GUI: [REST] All versions of Control Loop Instance returned
CLAMP_GUI -> CLAMP_GUI: Select version of Control Loop Instance for Instantiation Participants
CLAMP_GUI -> CLAMP_Runtime: [REST] Instantiate selected version of Control Loop Instance on Participants

alt Selected version of Control Loop Instance not instantiated on Participants
  CLAMP_Runtime -> Database: Read version of Control Loop Instance
  CLAMP_Runtime -> Participants: [DMaaP] Update Participants with version of Control Loop Instance
  CLAMP_Runtime -> CLAMP_GUI: [REST] Instantiation of Version of Control Loop Instance ordered on participants
else Selected version of Control Loop Instance instantiated on Participants
  CLAMP_Runtime -> CLAMP_GUI: [REST] Version of Control Loop Instance already instantiated on participants 
end

== Participant Responses ==
Participants -> CLAMP_Runtime: [DMaaP] Result of Instantiationupdate of version of Control Loop Instance on participant
CLAMP_Runtime -> Database: Store result of Instantiationupdate of version of Control Loop Instance on participant

== Supervision ==
loop forever
  CLAMP_Runtime -> Database: Read Control Loop Instances
  loop over each Control Loop Instance
    alt Control Loop Instance Instantiation Updateupdate underway on participants
	  CLAMP_Runtime -> Database: read result of Control Loop Instantiationupdates Updates from participants
      alt Updates completed on all participants
	    CLAMP_Runtime -> Database: set version of Control Loop Instance as Instantiated on Participants
	    CLAMP_Runtime -> Database: set overall version of Control Loop Instance state as Instantiated
      else Updates not completed
        alt Instantiation of Control Loop Instance on participants timed out
	      CLAMP_Runtime -> Database: set version Control Loop Instance Instantiation as timed out on Participants
	      CLAMP_Runtime -> CLAMP_Runtime: Log error
        else Wait for updates to complete
        end
      end 
    else Control Loop Instance Instantiation update on participants not underway
    end
  end
@enduml

...

PlantUML Macro
@startuml
participant CLAMP_GUI
participant CLAMP_Runtime
participant Participant
database Database

CLAMP_GUI -> CLAMP_Runtime: [REST] Read all Instantiated Control Loop Instances
CLAMP_Runtime -> Database: Read all Instantiated Control Loop Instances
CLAMP_Runtime -> CLAMP_GUI: [REST] All Instantiated Control Loop Instances returned
CLAMP_GUI -> CLAMP_GUI: Select Control Loop Instance on which to change state and specify new state
CLAMP_GUI -> CLAMP_Runtime: [REST] Change state of selected Control Loop Instance on Participants

alt Selected Control Loop Instance instantiated on Participants
  CLAMP_Runtime -> Participants: [DMaaP] Request change of state of Control Loop Instance
  CLAMP_Runtime -> CLAMP_GUI: [REST] Change of state of Control Loop Instance ordered on participants
else Selected Control Loop Instance not instantiated on Participants
  CLAMP_Runtime -> CLAMP_GUI: [REST] Control Loop Instance not instantiated on participants 
end

== Participant Responses ==
Participants -> CLAMP_Runtime: [DMaaP] Result of State Change of Control Loop Instance on participant
CLAMP_Runtime -> Database: Store result of State Change of Control Loop Instance on participant

== Supervision ==
loop forever
  CLAMP_Runtime -> Database: Read Control Loop Instances
  loop over each Control Loop Instance
    alt Control Loop Instance State Change underway on participants
	  CLAMP_Runtime -> Database: read result of Control Loop State Change from participants
      alt Updates completed on all participants
	    CLAMP_Runtime -> Database: set Control Loop Instance state as changed on Participants
	    CLAMP_Runtime -> Database: set overall Control Loop Instance state as changed on Participants
      else Updates not completed
        alt Control Loop Instance State Change on participants timed out
	      CLAMP_Runtime -> Database: set Control Loop State Change as timed out on Participants
	      CLAMP_Runtime -> CLAMP_Runtime: Log error
        else Wait for updates to complete
        end
      end 
    else Control Loop Instance State Change on participants not underway
    end
  end
@enduml

2.6 De-instantiating a Control Loop Instance from Participants

PlantUML Macro
@startuml
participant CLAMP_GUI
participant CLAMP_Runtime
participant Participant
database Database

CLAMP_GUI -> CLAMP_Runtime: [REST] Read all Instantiated Control Loop Instances
CLAMP_Runtime -> Database: Read all Instantiated Control Loop Instances
CLAMP_Runtime -> CLAMP_GUI: [REST] All Instantiated Control Loop Instances returned
CLAMP_GUI -> CLAMP_GUI: Select Control Loop Instance to de-instantiate
CLAMP_GUI -> CLAMP_Runtime: [REST] De-instantiate selected Control Loop Instance on Participants

alt Selected Control Loop Instance instantiated on Participants
  CLAMP_Runtime -> Participants: [DMaaP] Update Participants to remove Control Loop Instance
  CLAMP_Runtime -> CLAMP_GUI: [REST] De-instantiation of Control Loop Instance ordered on participants
else Selected Control Loop Instance not instantiated on Participants
  CLAMP_Runtime -> CLAMP_GUI: [REST] Control Loop Instance not instantiated on participants 
end

== Participant Responses ==
Participants -> CLAMP_Runtime: [DMaaP] Result of update of Control Loop Instance on participant
CLAMP_Runtime -> Database: Store result of update of Control Loop Instance on participant

== Supervision ==
loop forever
  CLAMP_Runtime -> Database: Read Control Loop Instances
  loop over each Control Loop Instance
    alt Control Loop Instance de-instantiation update underway on participants
	  CLAMP_Runtime -> Database: read result of Control Loop updates from participants
      alt Updates completed on all participants
	    CLAMP_Runtime -> Database: set Control Loop Instance as de-instantiated on Participants
	    CLAMP_Runtime -> Database: set overall Control Loop Instance as de-instantiated
      else Updates not completed
        alt Control Loop Instance de-instantiation Update timed out on participants
	      CLAMP_Runtime -> Database: set Control Loop Instance de-instantiation as timed out on Participants
	      CLAMP_Runtime -> CLAMP_Runtime: Log error
        else Wait for updates to complete
        end
      end 
    else Control Loop Instance de-instantiation update on participants not underway
    end
  end
@enduml

2.7 Deleting a Control Loop Instance

...