Versions Compared

Key

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

Terminology

  • Broadcast message: a message for all participants (participantId=null and participantType=null)
  • Message to a participant: a message only for a participant (participantId and participantType properly filled)
  • ThreadPoolExecutor: ThreadPoolExecutor executes the given task, into SupervisionAspect class is configured to execute tasks in ordered manner, one by one
  • Spring Scheduling: into SupervisionAspect class, the @Scheduled annotation invokes "schedule()" method every "runtime.participantParameters.heartBeatMs" milliseconds with a fixed delay
  • MessageIntercept: "@MessageIntercept" annotation is used into SupervisionHandler class to intercept "handleParticipantMessage" method calls using spring aspect oriented programming
  • GUI: graphical user interface, Postman or a Front-End Application

Design of a creation of a Control Loop Type

...

  • to determine the next startPhase in a CONTROLLOOP_UPDATE message
  • to update CL state: in a scenario that "ControlLoop.state" is in a kind of transitional state (example UNINITIALISED2PASSIVE), if all CL-elements are moved properly to the specific state, the "ControlLoop.state" will be upgrade updated to that and save saved to DB
  • to retry CONTROLLOOP_UPDATE/CONTROL_LOOP_STATE_CHANGE messages. if there is a CL Element not in the proper state, it will retry a broadcast message
  • to retry PARTICIPANT_UPDATE message to the participant in a scenario that CL-runtime do not receive PARTICIPANT_UPDATE_ACT from it
  • to send PARTICIPANT_STATUS_REQ to the participant in a scenario that CL-runtime do not receive PARTICIPANT_STATUS from it

...