39 lines
1.5 KiB
Plaintext
39 lines
1.5 KiB
Plaintext
@startuml
|
|
title OTA roles and device boundary
|
|
left to right direction
|
|
skinparam shadowing false
|
|
skinparam monochrome true
|
|
skinparam packageStyle rectangle
|
|
|
|
package "Release and deployment services" {
|
|
component "Build, test and publish" as release
|
|
component "Artifact storage" as artifacts
|
|
component "Deployment management" as deployment
|
|
}
|
|
|
|
package "Device" {
|
|
component "OTA manager" as manager
|
|
component "Installer" as installer
|
|
component "Boot control" as boot
|
|
component "Local health checks" as checks
|
|
database "Persistent update progress\nand pending reports" as progress
|
|
}
|
|
|
|
release --> artifacts : publish artifact and\nverification information
|
|
release --> deployment : register release and compatibility
|
|
manager --> deployment
|
|
manager --> installer : authorize preparation
|
|
installer --> artifacts : download and verify
|
|
manager --> boot : request trial through\nplatform interface
|
|
checks --> boot : confirm after local checks pass\nor request recovery after failure
|
|
manager --> progress : save / resume progress;\nqueue reports while offline
|
|
manager --> checks : arrange checks after activation
|
|
|
|
legend bottom
|
|
OTA manager -> deployment management: request releases; report running version and outcome.
|
|
Boot control runs before the OTA manager and handles exhausted trial attempts.
|
|
Hangs need a covered reset path. Checks and recovery do not require the server.
|
|
Roles may be combined in one tool. This view uses a system update with trial boot.
|
|
endlegend
|
|
@enduml
|