Skip to content

Instantly share code, notes, and snippets.

@ethanjli
Last active October 2, 2020 21:00
Show Gist options
  • Save ethanjli/d406b74a2411279d23f45db95508baa0 to your computer and use it in GitHub Desktop.
Save ethanjli/d406b74a2411279d23f45db95508baa0 to your computer and use it in GitHub Desktop.
digraph G {
clusterrank=global;
fontname="Helvetica";
rankdir="TB";
newrank=true;
node [shape=box];
subgraph cluster1 {
label="1 Systems Engineering";
color=grey;
1.2 [label="\N Iterative design cycle"];
1.3 [label="\N Product requirements"];
1.3 -> 1.2 [dir=back];
1.4 [label="\N System design"];
1.4 -> 1.3 [dir=back];
1.5 [label="\N Design specifications"];
1.5 -> 1.4 [dir=back];
1.6 [label="\N Traceable testing"];
1.6 -> 1.5 [dir=back];
1.7 [label="\N Safety through design and risk-benefit analysis"];
1.7 -> 1.4 [dir=back];
1.8 [label="\N Centrifuge design" color=blue];
1.8 -> {1.6, 1.7} [dir=back];
}
subgraph cluster2 {
label="2 Assembly & Troubleshooting";
color=grey;
2.2 [label="\N Different ways to represent systems"];
2.3 [label="\N Mechanical assembly"];
2.3 -> 2.2 [dir=back];
2.4 [label="\N How to figure out what's not working"];
2.4 -> 2.3 [dir=back];
2.5 [label="\N Basics of circuits & microcontrollers"];
2.5 -> 2.2 [dir=back];
2.6 [label="\N Circuit assembly"];
2.6 -> 2.5 [dir=back];
2.7 [label="\N Debugging circuits"];
2.7 -> {2.4, 2.6} [dir=back];
2.8 [label="\N Centrifuge assembly" color=blue];
2.8 -> {2.4, 2.7} [dir=back];
}
subgraph cluster3 {
label="3 Iterative Testing & Design";
color=grey;
3.2 [label="\N Verification & validation"];
3.2 -> {1.6, 2.8} [dir=back];
3.3 [label="\N Using analysis to guide redesign"];
3.3 -> 3.2 [dir=back];
3.4 [label="\N Iterating safety measures"];
3.4 -> {1.7, 3.3} [dir=back];
3.5 [label="\N Centrifuge system-level redesign" color=blue];
3.5 -> {1.8, 3.4} [dir=back];
}
subgraph cluster4 {
label="4 Design: Mechanical";
color=grey;
4.2 [label="\N Progressive (rapid) prototyping"];
4.3 [label="\N CAD"];
4.3 -> 4.2 [dir=back];
4.4 [label="\N 3D printing and laser cutting"];
4.4 -> 4.3 [dir=back];
4.5 [label="\N Centrifuge mechanical redesign" color=blue];
4.5 -> {3.5, 4.4} [dir=back];
}
subgraph cluster5 {
label="5 Design: Actuators & Indicators";
color=grey;
5.2 [label="\N Designing circuits"];
5.2 -> 2.7 [dir=back];
5.3 [label="\N Pulse-width modulation: 'analog' control"];
5.3 -> 5.2 [dir=back];
5.4 [label="\N Arduino: controlling circuits with software"];
5.4 -> 5.2 [dir=back];
5.5 [label="\N Motors: controlling matter with electricity"];
5.5 -> 5.3 [dir=back];
5.6 [label="\N Centrifuge actuator system redesign" color=blue];
5.6 -> {3.5, 5.4, 5.5} [dir=back];
}
subgraph cluster6 {
label="6 Design: Sensors";
color=grey;
6.2 [label="\N Switches and potentiometers: getting user inputs"];
6.2 -> {5.2, 5.4} [dir=back];
6.3 [label="\N Data types for measurements"];
6.3 -> 6.2 [dir=back];
6.4 [label="\N Sensors: measuring physical properties"];
6.4 -> 6.3 [dir=back];
6.5 [label="\N Signals: frequency and sampling"];
6.5 -> 6.4 [dir=back];
6.6 [label="\N Centrifuge sensing system redesign" color=blue];
6.6 -> {5.6, 6.5} [dir=back];
}
subgraph cluster7 {
label="7 Integration, Testing, and Analysis";
color=grey;
7.2 [label="\N Closed-loop control"];
7.2 -> {5.6, 6.6} [dir=back];
7.3 [label="\N Designing software other people can use"];
7.3 -> 5.4 [dir=back];
7.4 [label="\N Debugging with integration"];
7.4 -> {4.5, 7.2, 7.3} [dir=back];
7.5 [label="\N Centrifuge redesign" color=blue];
7.5 -> 7.4 [dir=back];
7.6 [label="\N Centrifuge testing & analysis iteration" color=blue];
7.6 -> 7.5 [dir=back];
}
{ rank=min; 1.2; 2.2; 4.2 }
{ rank=same; 1.3; 2.3; 4.3 }
{ rank=same; 1.4; 2.4; 4.4 }
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment