Skip to content

Add sequence diagrams to Zephyr Threads & Kernel Events lecture and lab#8

Merged
mlp6 merged 2 commits intomainfrom
copilot/add-sequence-diagrams
Feb 22, 2026
Merged

Add sequence diagrams to Zephyr Threads & Kernel Events lecture and lab#8
mlp6 merged 2 commits intomainfrom
copilot/add-sequence-diagrams

Conversation

Copy link
Contributor

Copilot AI commented Feb 22, 2026

Adds PlantUML sequence diagram coverage to the threads/events lecture slides and requires students to produce one in the lab to document ISR→kernel event→thread communication flows.

Lecture (slides/zephyr-threads-events.qmd)

  • New slide: "Sequence Diagrams for Thread Communication" — introduces sequence diagrams as a tool for documenting inter-thread/ISR/kernel-service interactions, lists typical Zephyr participants.
  • New slide: "PlantUML Sequence Diagram Example" — concrete example showing a button ISR posting BUTTON_EVENT, the kernel event bit array unblocking a worker thread from k_event_wait(), and the thread processing the event:
@startuml
participant "Button ISR\nCallback" as ISR
participant "Kernel Event\nBit Array" as KEvents
participant "Worker Thread" as Worker

Worker -> KEvents : k_event_wait()\n[blocking]
activate Worker #LightBlue

note over ISR : Button Pressed
ISR -> KEvents : k_event_post(BUTTON_EVENT)
KEvents --> Worker : BUTTON_EVENT received
deactivate Worker

Worker -> Worker : process event\n(e.g., change state)
@enduml
  • Added PlantUML sequence diagram reference to the Resources slide.

Lab (labs/zephyr-threads-events-lab.qmd)

  • New section: "Create a Sequence Diagram" — placed within the kernel_events_refactor work, requiring students to diagram the button ISR → button_events bit array → state machine thread interaction and commit both the .puml source and rendered image under docs/.
Original prompt

This section details on the original issue you should resolve

<issue_title>add sequence diagrams</issue_title>
<issue_description></issue_description>

<agent_instructions>Add context for how to use sequence diagrams to communicate between threads into https://github.com/mlp6/Embedded-Medical-Devices/blob/main/slides/zephyr-threads-events.qmd. Then ask the students to create a sequence diagram in the lab handout, in addition to the state diagram. Please do all of this development on a dedicated branch.</agent_instructions>

Comments on the Issue (you are @copilot in this section)

@mlp6 Add this to the: * [threads lecture](https://github.com/mlp6/Embedded-Medical-Devices/blob/main/slides/zephyr-threads-events.qmd), and * [threads lab](https://github.com/mlp6/Embedded-Medical-Devices/blob/main/labs/zephyr-threads-events-lab.qmd). @mlp6 https://plantuml.com/sequence-diagram

🔒 GitHub Advanced Security automatically protects Copilot coding agent pull requests. You can protect all pull requests by enabling Advanced Security for your repositories. Learn more about Advanced Security.

Co-authored-by: mlp6 <3239175+mlp6@users.noreply.github.com>
Copilot AI changed the title [WIP] Add sequence diagrams for thread communication Add sequence diagrams to Zephyr Threads & Kernel Events lecture and lab Feb 22, 2026
Copilot AI requested a review from mlp6 February 22, 2026 20:36
@mlp6 mlp6 marked this pull request as ready for review February 22, 2026 20:43
@mlp6 mlp6 merged commit 3237aba into main Feb 22, 2026
1 check passed
@mlp6 mlp6 deleted the copilot/add-sequence-diagrams branch February 22, 2026 20:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

add sequence diagrams

2 participants