Update diagrams links

This commit is contained in:
deeaitch committed 2026-10-11 09:26:20 -04:00
1 parent aeeb5fdf3c
commit 6d63457737
6 files changed
+12 -12

No files matched your search

+4 -4
View File
@@ -16,10 +16,10 @@ History: [bf9871e](https://git.himro.ca/deeaitch/ota-reference-design/commit/bf9
### Diagrams and A/B simulation ### Diagrams and A/B simulation
- Added three diagrams for chapters 03–05, with editable PlantUML sources and SVG previews: - Added three diagrams for chapters 03–05, with editable PlantUML sources and PNG previews:
- OTA architecture: [source](diagrams/plantuml/ota-architecture.puml), [preview](diagrams/rendered/ota-architecture.svg). - OTA architecture: [source](diagrams/plantuml/ota-architecture.puml), [preview](diagrams/rendered/ota-architecture.png).
- A/B trial boot, confirmation, and recovery: [source](diagrams/plantuml/ab-trial-boot.puml), [preview](diagrams/rendered/ab-trial-boot.svg). - A/B trial boot, confirmation, and recovery: [source](diagrams/plantuml/ab-trial-boot.puml), [preview](diagrams/rendered/ab-trial-boot.png).
- A/B storage layout: [source](diagrams/plantuml/ab-storage-layout.puml), [preview](diagrams/rendered/ab-storage-layout.svg). - A/B storage layout: [source](diagrams/plantuml/ab-storage-layout.puml), [preview](diagrams/rendered/ab-storage-layout.png).
- Added [diagram rendering instructions](diagrams/readme.md) and links from the corresponding chapters. - Added [diagram rendering instructions](diagrams/readme.md) and links from the corresponding chapters.
- Added a [C++17 A/B trial boot simulation](examples/simulations/ab-trial-boot/readme.md) with six scenarios: successful confirmation, failed health checks, exhausted attempts, restart during trial, interrupted preparation, and recovery failure. The example includes saved boot state, [state and scenario checks](examples/simulations/ab-trial-boot/tests.cpp), and [CMake/CTest integration](examples/simulations/ab-trial-boot/CMakeLists.txt). It models logical transitions assuming valid completed writes; power-loss safety is outside its scope. - Added a [C++17 A/B trial boot simulation](examples/simulations/ab-trial-boot/readme.md) with six scenarios: successful confirmation, failed health checks, exhausted attempts, restart during trial, interrupted preparation, and recovery failure. The example includes saved boot state, [state and scenario checks](examples/simulations/ab-trial-boot/tests.cpp), and [CMake/CTest integration](examples/simulations/ab-trial-boot/CMakeLists.txt). It models logical transitions assuming valid completed writes; power-loss safety is outside its scope.
- Linked the practical material from the [README](readme.md) and [series overview](docs/00-series-overview.md). - Linked the practical material from the [README](readme.md) and [series overview](docs/00-series-overview.md).
+4 -4
View File
@@ -4,14 +4,14 @@ PlantUML sources accompany chapters 03–05. The diagrams describe the illustrat
| View | Source | Preview | | View | Source | Preview |
|---|---|---| |---|---|---|
| Roles and the server/device boundary | [PlantUML](plantuml/ota-architecture.puml) | [SVG](rendered/ota-architecture.svg) | | Roles and the server/device boundary | [PlantUML](plantuml/ota-architecture.puml) | [PNG](rendered/ota-architecture.png) |
| Trial boot, confirmation and recovery | [PlantUML](plantuml/ab-trial-boot.puml) | [SVG](rendered/ab-trial-boot.svg) | | Trial boot, confirmation and recovery | [PlantUML](plantuml/ab-trial-boot.puml) | [PNG](rendered/ab-trial-boot.png) |
| Storage areas and access responsibilities | [PlantUML](plantuml/ab-storage-layout.puml) | [SVG](rendered/ab-storage-layout.svg) | | Storage areas and access responsibilities | [PlantUML](plantuml/ab-storage-layout.puml) | [PNG](rendered/ab-storage-layout.png) |
From the repository root, regenerate previews with a local PlantUML installation and Graphviz: From the repository root, regenerate previews with a local PlantUML installation and Graphviz:
```sh ```sh
JAVA_TOOL_OPTIONS=-Djava.awt.headless=true plantuml -tsvg -o ../rendered diagrams/plantuml/*.puml JAVA_TOOL_OPTIONS=-Djava.awt.headless=true plantuml -tpng -o ../rendered diagrams/plantuml/*.puml
``` ```
Keep sources and previews together when changing a diagram. No external rendering service is needed. State transitions assume valid durable records; these pictures do not establish power-loss safety. The [A/B simulation](../examples/simulations/ab-trial-boot/readme.md) explores the same logical transitions. Keep sources and previews together when changing a diagram. No external rendering service is needed. State transitions assume valid durable records; these pictures do not establish power-loss safety. The [A/B simulation](../examples/simulations/ab-trial-boot/readme.md) explores the same logical transitions.
+1 -1
View File
@@ -198,7 +198,7 @@ Where possible, theoretical discussions are accompanied by practical material, i
The objective is to connect high-level architecture with practical implementation. The objective is to connect high-level architecture with practical implementation.
Available now: [PlantUML diagrams and SVG previews](../diagrams/readme.md) and a [C++ A/B trial boot simulation](../examples/simulations/ab-trial-boot/readme.md). Raspberry Pi and QEMU demonstrations are planned. Available now: [PlantUML diagrams and PNG previews](../diagrams/readme.md) and a [C++ A/B trial boot simulation](../examples/simulations/ab-trial-boot/readme.md). Raspberry Pi and QEMU demonstrations are planned.
--- ---
+1 -1
View File
@@ -47,7 +47,7 @@ These are roles, not a shopping list of separate services. One tool may cover se
The following view shows the roles and the server/device boundary for the system-update example used in the next chapter. The following view shows the roles and the server/device boundary for the system-update example used in the next chapter.
![OTA roles and device boundary](../diagrams/rendered/ota-architecture.svg) ![OTA roles and device boundary](../diagrams/rendered/ota-architecture.png)
[PlantUML source](../diagrams/plantuml/ota-architecture.puml) [PlantUML source](../diagrams/plantuml/ota-architecture.puml)
@@ -101,7 +101,7 @@ Returning to a previous version is called **rollback**. Keeping A available make
The state diagram separates an explicit health-check failure from a startup failure that prevents the checks from running. It also shows the checks after returning to A. The state diagram separates an explicit health-check failure from a startup failure that prevents the checks from running. It also shows the checks after returning to A.
![A/B trial boot and recovery](../diagrams/rendered/ab-trial-boot.svg) ![A/B trial boot and recovery](../diagrams/rendered/ab-trial-boot.png)
[PlantUML source](../diagrams/plantuml/ab-trial-boot.puml) · [Runnable simulation and failure scenarios](../examples/simulations/ab-trial-boot/readme.md) [PlantUML source](../diagrams/plantuml/ab-trial-boot.puml) · [Runnable simulation and failure scenarios](../examples/simulations/ab-trial-boot/readme.md)
+1 -1
View File
@@ -66,7 +66,7 @@ Two slots on one storage device also do not protect against failure of that whol
The following diagram adds access responsibilities to the logical layout. A is running while the installer prepares B. Trial requests and confirmation use the platform's boot control interface. The following diagram adds access responsibilities to the logical layout. A is running while the installer prepares B. Trial requests and confirmation use the platform's boot control interface.
![A/B storage areas and access responsibilities](../diagrams/rendered/ab-storage-layout.svg) ![A/B storage areas and access responsibilities](../diagrams/rendered/ab-storage-layout.png)
[PlantUML source](../diagrams/plantuml/ab-storage-layout.puml) · [Simulation of saved boot state across resets](../examples/simulations/ab-trial-boot/readme.md) [PlantUML source](../diagrams/plantuml/ab-storage-layout.puml) · [Simulation of saved boot state across resets](../examples/simulations/ab-trial-boot/readme.md)