Skip to content
This repository was archived by the owner on Aug 1, 2023. It is now read-only.

Commit 28dba80

Browse files
authored
milestone planning (#88)
* milestone planning Signed-off-by: Alexander Diemand <[email protected]> * in sync with PM Signed-off-by: Alexander Diemand <[email protected]>
1 parent 13c155d commit 28dba80

File tree

4 files changed

+383
-0
lines changed

4 files changed

+383
-0
lines changed

docs/planning/Makefile

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
2+
SOURCES = milestones-shell.dot
3+
4+
OUTPUTS = milestones-shell.png milestones-shell.pdf
5+
6+
%.png: %.dot
7+
dot -Tpng $< -o$@
8+
%.pdf: %.dot
9+
dot -Tpdf $< -o$@
10+
11+
all: $(OUTPUTS) $(SOURCES)
12+

docs/planning/milestones-shell.dot

Lines changed: 371 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,371 @@
1+
strict digraph milestone_plan {
2+
graph [rankdir = "TB", splines = "spline", newrank = true];
3+
node [shape = "rectangle", style="filled,bold", fillcolor="white", color=grey];
4+
5+
subgraph cluster_M1 {
6+
7+
label = "milestone NOD001
8+
Daedalus IPC complete";
9+
graph[rankdir = "TB", color=blue];
10+
11+
T1_0_1 [ label = "task 1.0.1
12+
dependency wallet BE team" ];
13+
14+
subgraph cluster_E1_1 {
15+
label = "epic E1_1
16+
IPC implementation";
17+
graph[rankdir = "TB", style=dotted];
18+
19+
T1_1_1 [ label = "task 1.1.1
20+
Requirements for integration" ];
21+
T1_1_2 [ label = "task 1.1.2
22+
Support for integration" ];
23+
24+
T1_1_1 -> T1_1_2;
25+
}
26+
27+
subgraph cluster_E1_2 {
28+
label = "epic E1_2
29+
QuickCheck state machine tests";
30+
graph[rankdir = "TB", style=dotted];
31+
32+
T1_2_1 [ label = "task 1.2.1
33+
QuickCheck state machine tests" ];
34+
35+
}
36+
37+
subgraph cluster_E1_3 {
38+
label = "epic E1_3
39+
Documentation";
40+
graph[rankdir = "TB", style=dotted];
41+
42+
T1_3_1 [ label = "task 1.3.1
43+
Documentation" ];
44+
45+
}
46+
47+
T1_0_1 -> T1_1_1;
48+
T1_1_2 -> T1_2_1;
49+
T1_2_1 -> T1_3_1;
50+
}
51+
52+
subgraph cluster_M2 {
53+
54+
label = "milestone NOD002
55+
Configuration complete for batch mode block validation";
56+
graph[rankdir = "TB", color=blue];
57+
58+
T2_1_1 [ label = "task 2.1.1
59+
Assist ledger team with integration (#46)" ];
60+
}
61+
62+
subgraph cluster_M3 {
63+
64+
label = "milestone NOD003
65+
Node shell as a library";
66+
graph[rankdir = "TB", color=blue];
67+
68+
T3_1_1 [ label = "task 3.1.1
69+
requirements gathering: wallet BE, ledger team" ];
70+
T3_1_2 [ label = "task 3.1.2
71+
QuickCheck state machine tests" ];
72+
T3_1_3 [ label = "task 3.1.3
73+
Redesign modules, define API" ];
74+
T3_1_4 [ label = "task 3.1.4
75+
Documentation" ];
76+
77+
T3_1_1 -> T3_1_2;
78+
T3_1_1 -> T3_1_3;
79+
T3_1_3 -> T3_1_4;
80+
}
81+
82+
subgraph cluster_M4 {
83+
84+
label = "milestone NOD004
85+
Miminal integration with wallet BE - Wallet BE team & Node Shell";
86+
graph[rankdir = "TB", color=blue];
87+
88+
T4_0_1 [ label = "task 4.0.1
89+
dependency wallet BE" ];
90+
91+
subgraph cluster_E4_1 {
92+
label = "epic E4_1
93+
Assist with integration";
94+
graph[rankdir = "TB", style=dotted];
95+
96+
T4_1_1 [ label = "task 4.1.1
97+
Assist with integration (#78)" ];
98+
99+
}
100+
101+
T3_1_4 -> T4_1_1;
102+
T4_0_1 -> T4_1_1;
103+
}
104+
105+
subgraph cluster_M5 {
106+
107+
label = "milestone NOD005
108+
Minimal integration with Node - Ledger, Consensus & Node Shell";
109+
graph[rankdir = "TB", color=blue];
110+
111+
T5_0_1 [ label = "task 5.0.1
112+
dependency wallet BE" ];
113+
T2_1_1 -> T5_0_1;
114+
115+
subgraph cluster_E5_1 {
116+
label = "epic E5_1
117+
Assist with integration";
118+
graph[rankdir = "TB", style=dotted];
119+
120+
T5_1_1 [ label = "task 5.1.1
121+
Assist with integration" ];
122+
123+
}
124+
125+
T3_1_4 -> T5_1_1;
126+
T5_0_1 -> T5_1_1;
127+
}
128+
129+
subgraph cluster_M6 {
130+
131+
label = "milestone NOD006
132+
Maximum integration with wallet BE - Wallet BE team & Node Shell";
133+
graph[rankdir = "TB", color=blue];
134+
135+
T6_0_1 [ label = "task 6.0.1
136+
dependency M4" ];
137+
T4_1_1 -> T6_0_1;
138+
139+
subgraph cluster_E6_1 {
140+
label = "epic E6_1
141+
Requirements";
142+
graph[rankdir = "TB", style=dotted];
143+
144+
T6_1_1 [ label = "task 6.1.1
145+
Requirements" ];
146+
147+
T6_0_1 -> T6_1_1;
148+
}
149+
150+
subgraph cluster_E6_2 {
151+
label = "epic E6_2
152+
Integration";
153+
graph[rankdir = "TB", style=dotted];
154+
155+
T6_2_1 [ label = "task 6.2.1
156+
Integrating required configuration" ];
157+
T6_2_2 [ label = "task 6.2.2
158+
Integrating required launcher functionality" ];
159+
160+
T6_1_1 -> T6_2_1;
161+
T6_1_1 -> T6_2_2;
162+
}
163+
164+
subgraph cluster_E6_3 {
165+
label = "epic E6_3
166+
QA Testing";
167+
graph[rankdir = "TB", style=dotted];
168+
169+
T6_3_1 [ label = "task 6.3.1
170+
Testing configuration" ];
171+
T6_3_2 [ label = "task 6.3.2
172+
Testing launcher functionality" ];
173+
174+
T6_2_2 -> T6_3_1;
175+
T6_2_2 -> T6_3_2;
176+
}
177+
178+
}
179+
180+
subgraph cluster_M7 {
181+
182+
label = "milestone NOD007
183+
Maximum integration with Node - Ledger, Consensus & Node Shell";
184+
graph[rankdir = "TB", color=blue];
185+
186+
T7_0_1 [ label = "task 7.0.1
187+
dependency M5" ];
188+
T5_1_1 -> T7_0_1;
189+
190+
subgraph cluster_E7_1 {
191+
label = "epic E7_1
192+
Requirements";
193+
graph[rankdir = "TB", style=dotted];
194+
195+
T7_1_1 [ label = "task 7.1.1
196+
Requirements" ];
197+
198+
T7_0_1 -> T7_1_1;
199+
}
200+
201+
subgraph cluster_E7_2 {
202+
label = "epic E7_2
203+
Integration";
204+
graph[rankdir = "TB", style=dotted];
205+
206+
T7_2_1 [ label = "task 7.2.1
207+
Integrating required configuration" ];
208+
T7_2_2 [ label = "task 7.2.2
209+
Integrating required launcher functionality" ];
210+
211+
T7_1_1 -> T7_2_1;
212+
T7_1_1 -> T7_2_2;
213+
}
214+
215+
subgraph cluster_E7_3 {
216+
label = "epic E7_3
217+
QA Testing";
218+
graph[rankdir = "TB", style=dotted];
219+
220+
T7_3_1 [ label = "task 7.3.1
221+
Testing configuration" ];
222+
T7_3_2 [ label = "task 7.3.2
223+
Testing launcher functionality" ];
224+
225+
T7_2_2 -> T7_3_1;
226+
T7_2_2 -> T7_3_2;
227+
}
228+
}
229+
230+
subgraph cluster_M8 {
231+
232+
label = "milestone NOD008
233+
Integration with 'Update system'
234+
with Daedalus, Wallet BE & Node. Launcher
235+
and update mechansim complete";
236+
graph[rankdir = "TB", color=blue];
237+
238+
T8_0_1 [ label = "task 8.0.1
239+
dependency M6, M7" ];
240+
T6_3_2 -> T8_0_1;
241+
T7_3_2 -> T8_0_1;
242+
243+
subgraph cluster_E8_1 {
244+
label = "epic E8_1
245+
Launcher update system implementation (#50)";
246+
graph[rankdir = "TB", style=dotted];
247+
248+
T8_1_1 [ label = "task 8.1.1
249+
Requirements" ];
250+
T8_1_2 [ label = "task 8.1.2
251+
Documentation (#57)" ];
252+
253+
T8_0_1 -> T8_1_1;
254+
T8_0_1 -> T8_1_2;
255+
}
256+
257+
subgraph cluster_E8_2 {
258+
label = "epic E8_2
259+
QuickCheck state machine tests";
260+
graph[rankdir = "TB", style=dotted];
261+
262+
T8_2_1 [ label = "task 8.2.1
263+
QuickCheck state machine tests" ];
264+
265+
T8_1_1 -> T8_2_1;
266+
}
267+
268+
subgraph cluster_E8_3 {
269+
label = "epic E8_3
270+
Initial implementation";
271+
graph[rankdir = "TB", style=dotted];
272+
273+
T8_3_1 [ label = "task 8.3.1
274+
Implementation of the update system" ];
275+
276+
T8_1_1 -> T8_3_1;
277+
}
278+
279+
subgraph cluster_E8_4 {
280+
label = "epic E8_4
281+
Integration launcher, Daedalus";
282+
graph[rankdir = "TB", style=dotted];
283+
284+
T8_4_1 [ label = "task 8.4.1
285+
Integration of Daedalus and launcher" ];
286+
287+
T8_3_1 -> T8_4_1;
288+
}
289+
290+
subgraph cluster_E8_5 {
291+
label = "epic E8_5
292+
Integration launcher, wallet BE";
293+
graph[rankdir = "TB", style=dotted];
294+
295+
T8_5_1 [ label = "task 8.5.1
296+
Integration of Wallet BE and launcher" ];
297+
298+
T8_3_1 -> T8_4_1;
299+
T8_3_1 -> T8_5_1;
300+
}
301+
302+
}
303+
304+
subgraph cluster_M9 {
305+
306+
label = "milestone NOD009
307+
Formal methods, model verification (TLA+)";
308+
graph[rankdir = "TB", color=blue];
309+
310+
T9_0_1 [ label = "task 9.0.1
311+
(weak) dependency M8, M3, M1" ];
312+
T1_3_1 -> T9_0_1;
313+
T3_1_4 -> T9_0_1;
314+
T8_5_1 -> T9_0_1;
315+
316+
subgraph cluster_E9_1 {
317+
label = "epic E9_1
318+
Installation, get familiar";
319+
graph[rankdir = "TB", style=dotted];
320+
321+
T9_1_1 [ label = "task 9.1.1
322+
setup TLA+ locally, get familiar" ];
323+
324+
T9_0_1 -> T9_1_1;
325+
}
326+
327+
subgraph cluster_E9_2 {
328+
label = "epic E9_2
329+
TLA+ model of shell";
330+
graph[rankdir = "TB", style=dotted];
331+
332+
T9_2_1 [ label = "task 9.2.1
333+
find example, adapt to our needs" ];
334+
T9_2_2 [ label = "task 9.2.2
335+
TLA+ model of shell" ];
336+
337+
T9_1_1 -> T9_2_1;
338+
T9_2_1 -> T9_2_2;
339+
}
340+
341+
subgraph cluster_E9_3 {
342+
label = "epic E9_3
343+
TLA+ model of IPC";
344+
graph[rankdir = "TB", style=dotted];
345+
346+
T9_3_1 [ label = "task 9.3.1
347+
find example, adapt to our needs" ];
348+
T9_3_2 [ label = "task 9.3.2
349+
complete IPC model" ];
350+
351+
T9_1_1 -> T9_3_1;
352+
T9_3_1 -> T9_3_2;
353+
}
354+
355+
subgraph cluster_E9_4 {
356+
label = "epic E9_4
357+
TLA+ model of launcher update system";
358+
graph[rankdir = "TB", style=dotted];
359+
360+
T9_4_1 [ label = "task 9.4.1
361+
find example, adapt to our needs" ];
362+
T9_4_2 [ label = "task 9.4.2
363+
complete launcher update system model" ];
364+
365+
T9_1_1 -> T9_4_1;
366+
T9_4_1 -> T9_4_2;
367+
}
368+
369+
}
370+
371+
}

docs/planning/milestones-shell.pdf

32.4 KB
Binary file not shown.

docs/planning/milestones-shell.png

450 KB
Loading

0 commit comments

Comments
 (0)