2019-02-22 21:26:01 +01:00
|
|
|
@startuml "Overall architecture"
|
|
|
|
|
|
|
|
actor User
|
|
|
|
control udev
|
|
|
|
agent backive_udev
|
|
|
|
interface unix_socket
|
|
|
|
agent backive_service
|
|
|
|
file config
|
|
|
|
storage HDD_in_dockingstation
|
|
|
|
|
|
|
|
User --> HDD_in_dockingstation : 1. plugs in
|
|
|
|
|
|
|
|
udev <--> HDD_in_dockingstation : 2. recognizes hardware change
|
|
|
|
|
|
|
|
udev --> backive_udev : 3. calls with data of the HDD
|
|
|
|
|
|
|
|
backive_udev --> unix_socket : 4. delivers data to interface
|
|
|
|
|
|
|
|
backive_service <--> unix_socket : listens on and awaits data
|
|
|
|
|
|
|
|
backive_service <-- config
|
|
|
|
|
|
|
|
backive_service ==> HDD_in_dockingstation : 5. writes data like configured in config
|
|
|
|
|
|
|
|
@enduml
|
|
|
|
|
|
|
|
@startuml "Class architecture"
|
|
|
|
|
|
|
|
class backive_udev << (S,#FF0000) Script >>
|
|
|
|
|
|
|
|
class backive_service << (S,#FF0000) Script >>
|
|
|
|
|
|
|
|
class Service
|
|
|
|
note left
|
|
|
|
Runs known Backup instances based
|
|
|
|
on data provided by the EventInterface
|
|
|
|
end note
|
|
|
|
|
|
|
|
class EventInterface
|
|
|
|
|
|
|
|
class Config
|
|
|
|
|
|
|
|
class Backup
|
|
|
|
|
|
|
|
class Device
|
|
|
|
|
|
|
|
class Tool
|
|
|
|
|
2019-05-03 21:36:44 +02:00
|
|
|
class Scheduler
|
|
|
|
|
2019-02-22 21:26:01 +01:00
|
|
|
backive_service --> Service : provides startup to
|
|
|
|
EventInterface --* Service
|
|
|
|
Config --* Service
|
|
|
|
Backup --* Service
|
|
|
|
Device --* Backup
|
|
|
|
Tool --* Backup
|
2019-05-03 21:36:44 +02:00
|
|
|
Backup <..> Scheduler: registers,\nasks for next run,\nstores run-data
|
2019-02-22 21:26:01 +01:00
|
|
|
|
|
|
|
Config ..> Backup : generates Backup objects
|
|
|
|
backive_udev ..> EventInterface : sends data through unix socket
|
|
|
|
|
|
|
|
@enduml
|