Versions Compared

Key

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

...

PlantUML Macro
@startuml
participant CLAMP_Runtime
database Database

loop forever
  CLAMP_Runtime -> Database: Read Participant StatisticsParticipants
  loop Over each Participant
    alt Participant has not reported in last reporting window
       CLAMP_Runtime -> CLAMP_Runtime: Log Participant as having missed a report
       CLAMP_Runtime -> Database: Increment missed report counter on Participant
       alt Participant has exceeded alarm threshold on missed report counter
          CLAMP_Runtime -> CLAMP_Runtime: Raise a Participant Offline alarm on participant
          CLAMP_Runtime -> Database: Mark participant as being offline
       end
    else Participant has reported in last reporting window
       CLAMP_Runtime -> Database: Clear missed report counter on Participant
       alt Participant marked as being offline
          CLAMP_Runtime -> CLAMP_Runtime: Clear Participant Offline alarm on participant
          CLAMP_Runtime -> Database: Mark participant as being online
       end
    end
  end
end

@enduml

4.2 Supervise Control Loops

PlantUML Macro
@startuml
participant CLAMP_Runtime
database Database

loop forever
  CLAMP_Runtime -> Database: Read Control Loop Instances
  loop Over each Control Loop Instance
    loop Over each Control Loop Element
      alt Control Loop Element has not reported in last reporting window
         CLAMP_Runtime -> CLAMP_Runtime: Log Control Loop Element as having missed a report
         CLAMP_Runtime -> Database: Increment missed report counter on Control Loop Element
      else Control Loop Element has reported in last reporting window
         CLAMP_Runtime -> Database: Clear missed report counter on Control Loop Element
      end
    end
    alt Control Loop Element in Control Loop Instance has exceeded alarm threshold on missed report counter
      CLAMP_Runtime -> CLAMP_Runtime: Raise a Control Loop Offline alarm on Control Loop
      CLAMP_Runtime -> Database: Mark Control Loop as being offline
    else No Control Loop Element in Control Loop Instance has exceeded alarm threshold on missed report counter
       alt Control Loop marked as being offline
          CLAMP_Runtime -> CLAMP_Runtime: Clear Control Loop Offline alarm on Control Loop
          CLAMP_Runtime -> Database: Mark Control Loop as being online
       end
    end
  end
end

@enduml

...