Skip to content

Commit f5cf1fd

Browse files
committed
update delta_q d2 diagram
1 parent 24a72ee commit f5cf1fd

File tree

2 files changed

+56
-10
lines changed

2 files changed

+56
-10
lines changed

delta_q/docs/overview.d2

+56-10
Original file line numberDiff line numberDiff line change
@@ -47,27 +47,41 @@ web-app: {
4747
label: "Editor\n\nWeb-based editor for\nΔQ expressions"
4848
}
4949

50-
visualizer: {
50+
agent: {
5151
class: component
52-
label: "Visualizer\n\nRenders CDFs and\nresource usage graphs"
52+
label: "Agent\n\nEvaluates ΔQ expressions\nin a web worker"
53+
}
54+
55+
index: {
56+
class: component
57+
label: index.html JS code\n\n Uses plotly.js for visualisation of CDFs and\n resource usage distribution functions
5358
}
5459

5560
storage: {
5661
class: component
5762
label: "Local Storage\n\nPersists expressions\nand models"
5863
}
64+
65+
editor -> storage: "Saves/loads"
66+
editor -> agent: "Sends ΔQ expression"
67+
editor -> index: "Renders"
5968
}
6069

6170
# Core Engine Container
6271
core: {
6372
class: container
64-
label: "Core Engine"
73+
label: "Core Engine (WASM)"
6574

6675
parser: {
6776
class: component
6877
label: "Parser\n\nParses ΔQ expressions\nand metrics"
6978
}
7079

80+
renderer: {
81+
class: component
82+
label: "Renderer\n\nRenders ΔQ expressions\nand supports edits"
83+
}
84+
7185
evaluator: {
7286
class: component
7387
label: "Evaluator\n\nComputes CDFs and\nresource metrics"
@@ -77,6 +91,34 @@ core: {
7791
class: component
7892
label: "Gossip Engine\n\nImplements gossip\noperator evaluation"
7993
}
94+
95+
step_function: {
96+
class: component
97+
label: "Step Function\n\nImplements step functions\n(also CDF specialisation)"
98+
}
99+
100+
outcome: {
101+
class: component
102+
label: "Outcome\n\nCompletion CDF\nplus resource usage\nstep functions"
103+
}
104+
105+
compaction: {
106+
class: component
107+
label: "Compaction\n\nCompacts the outcome\nto bounded complexity"
108+
}
109+
110+
ast: {
111+
class: component
112+
label: "DeltaQ\n\nAbstract syntax tree\nfor ΔQ expressions"
113+
}
114+
115+
evaluator -> gossip: "uses"
116+
evaluator -> outcome: "uses"
117+
outcome -> step_function: "uses"
118+
outcome -> compaction: "uses"
119+
parser -> ast: "uses"
120+
renderer -> ast: "uses"
121+
gossip -> ast: "uses"
80122
}
81123

82124
# Dependencies Container
@@ -93,13 +135,17 @@ deps: {
93135
class: component
94136
label: "WASM Bindings\n\nWeb APIs and\nJavaScript interop"
95137
}
138+
139+
plotly: {
140+
class: component
141+
label: "Plotly.js\n\nJavaScript library for\nvisualisation"
142+
}
143+
144+
yew -> wasm: "Uses"
96145
}
97146

98147
# Relationships
99-
web-app.editor -> core.parser: "Sends expressions"
100-
web-app.editor -> web-app.storage: "Saves/loads"
101-
web-app.visualizer -> core.evaluator: "Gets results"
102-
core.parser -> core.evaluator: "Provides AST"
103-
core.evaluator -> core.gossip: "Uses for gossip\noperations"
104-
web-app -> deps.yew: "Built with"
105-
deps.yew -> deps.wasm: "Uses"
148+
web-app.editor -> core.parser: "Turns text into DeltaQ"
149+
web-app.agent -> core.evaluator: "Turns DeltaQ into CDFs\nand resource usage distribution functions"
150+
web-app.editor -> core.renderer: "Turns DeltaQ into HTML"
151+
web-app -> deps: "Built with"

delta_q/docs/overview.png

297 KB
Loading

0 commit comments

Comments
 (0)