@startuml Export_Log participant OS as OS participant Script as Script participant USB as USB 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 -> USB: ACT: Command ' 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 == Export Logs Selection == group Export Logs Selection US -> UI: TCH: Settings Menu UI -> UI: ACT: Device Settings Screen US -> UI: TCH: Export Log Button UI -> UI: ACT: Export Log Settings Screen US -> UI: TCH: Log Type ComboBox US -> UI: SCL: User scrolls list and select log type alt Select individual Files US -> UI: SCL: User scrolls flip-able area for SD-Card file US -> UI: TCH: User selects which file(s) to export end US -> UI: TCH: Export Button UI -> UI: ACT: Export Status Indicator (in progress) UI -> SW: ACT: Export selected log type\n(Application, Service, Treatment) files alt Export Application, Service, Treatment Log(s) SW -> USB: Copy file by file to external storage SW -> SW: ACT: Log and display status of export result end end == Eject USB == group Eject USB US -> UI: TCH: Eject USB Button UI -> SW: ACT: Request Unmount USB SW -> Script: ACT: usb_unmount.sh ( ) activate Script Script -> OS: CMD: sudo umount "$USB_FOLDER" Script -> SW: MSG: exit # deactivate Script end @enduml