Versions Compared

Key

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

...

PlantUML Macro
@startuml
activate CLAMP_Runtime
CLAMP_Runtime -> CLAMP_Runtime: Build an ordered list of the Start Phases in the Control Loop Instance

alt "State Change UNITIALISED_to_PASSIVE or PASSIVE_to_RUNNING"
  loop over Start Phases list in increasing order
  	CLAMP_Runtime -> Participant: Control Loop State Change\n[to all Participants in Control Loop with this Start Phase]
   	CLAMP_Runtime -> CLAMP_Runtime: Asynchronously wait for answers from Participants
    CLAMP_Runtime <- Participant: Control Loop State Change Ack [from each Participant in this Start Phase of Control Loop]
    alt "State Change Ack reports success"
  		CLAMP_Runtime -> CLAMP_Runtime: Log success
    else
   		  CLAMP_Runtime -> CLAMP_Runtime: Log error
       CLAMPCLAMP_Runtime -> CLAMP_Runtime: Reset state of Control Loop
  		  CLAMP_Runtime -> CLAMP_Runtime: Abort State Change operation
    end
  end
else
  loop over Start Phases list in decreasing order
  	CLAMP_Runtime -> Participant: Control Loop State Change\n[to all Participants in Control Loop with this Start Phase]
   	CLAMP_Runtime -> CLAMP_Runtime: Asynchronously wait for answers from Participants
    CLAMP_Runtime <- Participant: Control Loop State Change Ack [from each Participant in this Start Phase of Control Loop]
    alt State Change Ack reports an error then
 	  CLAMP_Runtime -> CLAMP_Runtime: Log error
      CLAMP_Runtime -> CLAMP_Runtime: Reset state of Control Loop
  	  CLAMP_Runtime -> CLAMP_Runtime: Abort State Change operation
    end  
  end
end

CLAMP_Runtime -> CLAMP_Runtime: Set overall state of Control Loop

...