Smith,
OK, making use of the "PlantUML web server" (http://www.plantuml.com/plantuml/uml) which allows you to fiddle with these diagrams in real time, I have some updates:
1. Client Managed Firmware Update
(I normalized the communication with the repository, added the client requests from IPP System Service, added a Printer self-update step, added double-ended arrows for the query/notify step, and grouped things like you did for the other scenarios)
@startuml
title Firmware Update Scenario 1: Client Managed Firmware Update
autonumber
skinparam sequenceMessageAlign direction
participant Client
participant Printer
participant Repository
group Client checks for firmware update
Client -> Repository: Firmware update available?
Repository -> Client: Update availability
Client -> Repository: Download firmware update
Repository -> Client: Firmware update file
end group
group Client sends firmware update to printer
Client -> Printer: Create-Resource
Client -> Printer: Send-Resource w/firmware update file
Client -> Printer: Install-Resource
Printer -> Printer: Install firmware update
end group
|||
group Client monitors Printer firmware status
Client <-> Printer: Query/notify firmware update status
end group
@enduml
2. Autonomous Printer Firmware Update
(I separated the "self-update" into download from repo and install to self, and added a client query/notify grouping)
@startuml
title Firmware Update Scenario 2: Autonomous Printer Firmware Update
autonumber
skinparam sequenceMessageAlign direction
participant Client
participant Printer
participant Repository
group Printer autonomously installs firmware updates
Printer -> Repository: Firmware update available?
Repository -> Printer: Update availability
Printer -> Repository: Download firmware update
Repository -> Printer: Firmware update file
Printer -> Printer: Install firmware update
end group
|||
group Client monitors Printer firmware status
Client <-> Printer: Query/notify firmware update status
end group
@enduml
3. Client Triggered Firmware Update
(Tried to normalize things with the prior diagrams, dropped reboot because that isn't always necessary)
@startuml
title Firmware Update Scenario 3: Triggered Firmware Update
autonumber
skinparam sequenceMessageAlign direction
participant Client
participant Printer
participant Repository
group Client asks Printer to check for firmware update
Client -> Printer: Check for Firmware Update
Printer -> Repository: Update available?
Repository -> Printer: Update availability
Printer -> Client: Update availablility
end group
|||
group Client ask Printer to install firmware update
Client -> Printer: Update Firmware
Printer -> Repository: Firmware update available?
Repository -> Printer: Update availability
Printer -> Repository: Download firmware update
Repository -> Printer: Firmware update file
Printer -> Client: Firmware update status
Printer -> Printer: Install firmware update
end group
|||
group Client monitors Printer firmware status
Client <-> Printer: Query/notify firmware update status
end group
@enduml
> On Sep 13, 2024, at 9:53 AM, Kennedy, Smith (Wireless & IPP Standards) via ipp <ipp at pwg.org> wrote:
>> Greetings,
>> (Sending again in plain text)
>> We agreed that I should post the slides we were using to model the scenarios and think about them and decide. Here's the slides:
>>https://ftp.pwg.org/pub/pwg/ipp/slides/IPP-Firmware-Update-Extensions-Registration-Options-20240912.pptx>>> Here's PlantUML for Scenario #1:
>> @startuml
>> title Firmware Update Scenario 1: Client Managed Firmware Update
> autonumber
> skinparam sequenceMessageAlign direction
>> participant Client
> participant Printer
> participant Repository
>> Client -> Repository: Firmware update available?
> Client <- Repository: Download firmware update
> |||
> Client -> Printer: Send firmware update to Printer
> Client -> Printer: Monitor firmware update progress
>> @enduml
>>> Here's PlantUML for Scenario #2:
>> @startuml
>> title Firmware Update Scenario 2: Autonomous Printer Firmware Self-Update
> autonumber
> skinparam sequenceMessageAlign direction
>> participant Client
> participant Printer
> participant Repository
>> Printer -> Repository: Firmware update available?
> Printer <- Repository: Firmware Self-update
>> @enduml
>>> Here's a longer PlantUML for Scenario #3, incorporating both Check-For-Firmware-Update and Update-Printer-Firmware but no scheduling:
>> @startuml
>> title Firmware Update Scenario 3: Triggered Self-Update
> autonumber
> skinparam sequenceMessageAlign direction
>> participant Client
> participant Printer
> participant Repository
>> group Client triggers Printer to check for firmware update
> Client -> Printer: Check for Firmware Update
> Printer -> Repository: Firmware update available?
> Printer <- Repository: Firmware update is available
> Client <- Printer: Firmware update is available
> end group
>>> group Client triggers Printer to self-update
> Client -> Printer: Update Firmware
> Printer -> Repository: Firmware Self-update
> Repository -> Printer: Firmware update
> Client --> Printer: Monitor firmware update progress
> Printer -> Printer: Update firmware
> Client --> Printer: Monitor firmware update progress
> Printer -> Printer: Reboot
> Client --> Printer: Monitor firmware update progress
> Printer -> Printer: Update complete
> end group
> @enduml
>> Feel free to post updates to the slides or tweaks to the PlantUML UML sequences.
>> Smith
>> /**
> Smith Kennedy
> HP Inc.
> */
>> _______________________________________________
> ipp mailing list
>ipp at pwg.org>https://www.pwg.org/mailman/listinfo/ipp>
________________________
Michael Sweet
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: Message signed with OpenPGP
URL: <http://www.pwg.org/pipermail/ipp/attachments/20240916/88f2e351/attachment.sig>