@startuml HDF participant TD as TD participant SW as SW participant UI as UI actor USER as US 'Possible actions and interaction types ' External on CANBus ' TD -> SW: MSG: Message ' SW -> TD: MSG: Message ' Internal to the application ' XX -> YY: CMD: Command ' XX -> XX: ACT: Action ' External on OS/FS ' SW -> Script: ACT: Command ' Script -> OS: CMD: Command ' Script -> SW: MSG: Message ' OS -> Script: MSG: Message ' US -> UI: User actions are: ' ASK: Display a ' ENT: User enters a value or string ' TCH: User touches a button (RadioButton, CheckBox, ...) ' SCL: User scrolls a flip-able area == Main TX HDF == UI ->o UI: ⟲: Main Treatment Screen US -> UI: TCH: HDF Menu Option UI -> US: ACT: Display HDF Screen \ \n\t - Pressures \ \n\t - Pressures Graph \ \n\t - HDF group Pressures Data TD --> UI: ... end UI -> US: ACT: Show Pressures Data BroadCast group Plot Timer (1 min) UI --> UI: ... end UI -> SW: ACT: Request HDF Data SW -> TD: ACT: Request HDF Data TD -> SW: ACT: Response HDF Data SW -> UI: ACT: Response HDF Data UI -> US: ACT: Display HDF Data == Pressures Data == TD -> SW: MSG: [x24: #12] \nTD Pressures Data\n(F32) artPress, \n(F32) venPres\n(U32) limitState\n(S32) artMin\n(S32) artMax\n(S32) venMin\n(s32) venMax\n(F32) artLong\n(U32) venLong\n(F32) tmpPress\n(F32) tmpMin\n(F32) tmpMax SW -> UI: CMD: Update TD Pressures\n(F32) artPress, \n(F32) venPres\n(U32) limitState\n(S32) artMin\n(S32) artMax\n(S32) venMin\n(s32) venMax\n(F32) artLong\n(U32) venLong\n(F32) tmpPress\n(F32) tmpMin\n(F32) tmpMax @enduml