Skip to content

Commit 03e22c0

Browse files
authored
Diagram fix: Kernel doesn't update Y doc, Server does (#41)
* Diagram fix: Kernel doesn't update Y doc, Server does - also moved Shared document left between Frontend and Server - using `actor` stick figure shapes for actual separate processes * Diagram: `put()` & `get()` wording for local calls to ExecutionStack * Diagram: show how doc transitions to [*] busy then [𝒏] idle state
1 parent 8bf649c commit 03e22c0

File tree

1 file changed

+28
-16
lines changed

1 file changed

+28
-16
lines changed

README.md

Lines changed: 28 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -74,28 +74,34 @@ Execution of a Python code snippet: `print("hello")`
7474

7575
```mermaid
7676
sequenceDiagram
77+
actor Frontend; participant Shared Document; actor Server; participant ExecutionStack; actor Kernel
78+
Frontend->>Shared Document: [*] busy
7779
Frontend->>+Server: POST /api/kernels/<id>/execute
78-
Server->>+ExecutionStack: Queue request
80+
Server->>+ExecutionStack: put() request into queue
7981
ExecutionStack->>Kernel: Execute request msg
8082
activate Kernel
8183
ExecutionStack-->>Server: Task uid
8284
Server-->>-Frontend: Returns task uid
8385
loop Running
84-
Kernel->>Shared Document: Add output
86+
Kernel->>Server: stream / display_data / execute_result / error msg
87+
Server->>Shared Document: Add output
8588
Shared Document->>Frontend: Document update
8689
end
8790
loop While status is 202
8891
Frontend->>+Server: GET /api/kernels/<id>/requests/<uid>
89-
Server->>ExecutionStack: Get task result
92+
Server->>ExecutionStack: get() task result
9093
ExecutionStack-->>Server: null
9194
Server-->>-Frontend: Request status 202
9295
end
93-
Kernel-->>ExecutionStack: Execution reply
96+
Kernel-->>Server: Execution reply
97+
Server->>Shared Document: [𝒏] idle
98+
Server-->>ExecutionStack: execution_count, status, outputs
99+
Shared Document->>Frontend: [𝒏] idle
94100
deactivate Kernel
95101
Frontend->>+Server: GET /api/kernels/<id>/requests/<uid>
96-
Server->>ExecutionStack: Get task result
97-
ExecutionStack-->>Server: Result
98-
Server-->>-Frontend: Status 200 & result
102+
Server->>ExecutionStack: get() task result
103+
ExecutionStack-->>Server: execution_count, status, outputs
104+
Server-->>-Frontend: Status 200 & { execution_count, status, outputs }
99105
```
100106

101107
### With input case
@@ -104,42 +110,48 @@ Execution of a Python code snippet: `input("Age:")`
104110

105111
```mermaid
106112
sequenceDiagram
113+
actor Frontend; participant Shared Document; actor Server; participant ExecutionStack; actor Kernel
114+
Frontend->>Shared Document: [*] busy
107115
Frontend->>+Server: POST /api/kernels/<id>/execute
108-
Server->>+ExecutionStack: Queue request
116+
Server->>+ExecutionStack: put() request into queue
109117
ExecutionStack->>Kernel: Execute request msg
110118
activate Kernel
111119
ExecutionStack-->>Server: Task uid
112120
Server-->>-Frontend: Returns task uid
113121
loop Running
114-
Kernel->>Shared Document: Add output
122+
Kernel->>Server: stream / display_data / execute_result / error msg
123+
Server->>Shared Document: Add output
115124
Shared Document->>Frontend: Document update
116125
end
117126
loop While status is 202
118127
Frontend->>+Server: GET /api/kernels/<id>/requests/<uid>
119-
Server->>ExecutionStack: Get task result
128+
Server->>ExecutionStack: get() task result
120129
ExecutionStack-->>Server: null
121130
Server-->>-Frontend: Request status 202
122131
end
123132
Kernel->>ExecutionStack: Set pending input
124133
Frontend->>+Server: GET /api/kernels/<id>/requests/<uid>
125-
Server->>ExecutionStack: Get task result
134+
Server->>ExecutionStack: get() task result
126135
ExecutionStack-->>Server: Pending input
127136
Server-->>-Frontend: Status 300 & Pending input
128137
Frontend->>+Server: POST /api/kernels/<id>/input
129138
Server->>Kernel: Send input msg
130139
Server-->>-Frontend: Returns
131140
loop While status is 202
132141
Frontend->>+Server: GET /api/kernels/<id>/requests/<uid>
133-
Server->>ExecutionStack: Get task result
142+
Server->>ExecutionStack: get() task result
134143
ExecutionStack-->>Server: null
135144
Server-->>-Frontend: Request status 202
136145
end
137-
Kernel-->>ExecutionStack: Execution reply
146+
Kernel-->>Server: Execution reply
147+
Server->>Shared Document: [𝒏] idle
148+
Server-->>ExecutionStack: execution_count, status, outputs
149+
Shared Document->>Frontend: [𝒏] idle
138150
deactivate Kernel
139151
Frontend->>+Server: GET /api/kernels/<id>/requests/<uid>
140-
Server->>ExecutionStack: Get task result
141-
ExecutionStack-->>Server: Result
142-
Server-->>-Frontend: Status 200 & result
152+
Server->>ExecutionStack: get() task result
153+
ExecutionStack-->>Server: execution_count, status, outputs
154+
Server-->>-Frontend: Status 200 & { execution_count, status, outputs }
143155
```
144156

145157
> \[!NOTE\]

0 commit comments

Comments
 (0)