extra cleaning options
[msc-thesis1617.git] / fig / fig-system.dot
index 599e027..e9fd960 100644 (file)
@@ -1,20 +1,57 @@
 digraph {
-       {       rank=same;
-               task1 [label=<device<SUB>1</SUB>>];
-               task2 [label=<device<SUB>2</SUB>>];
-               taskp [label=<device<SUB>...</SUB>>];
-               taskn [label=<device<SUB>n</SUB>>];
-       }
-       {       rank=same;
+       compound=true;
+       subgraph cluster0 {
+               {rank=same;
+               t11 [label=<task<SUB>1</SUB>>];
+               t12 [label=<task<SUB>2</SUB>>];
+               }
+               {rank=same;
+                       s11 [label=<sds<SUB>1</SUB>>];
+                       s12 [label=<sds<SUB>2</SUB>>];
+               }
+               s11 -> t11 [style=invis];
+               s12 -> t12 [style=invis];
+               t11 -> dev1 [style=invis];
+               t12 -> dev1 [style=invis];
+
                dev1 [label=<device<SUB>1</SUB>>];
+       }
+
+       subgraph cluster1 {
+               {rank=same;
+                       t21 [label=<task<SUB>1</SUB>>];
+                       t22 [label=<task<SUB>2</SUB>>];
+               }
+               {rank=same;
+                       s21 [label=<sds<SUB>1</SUB>>];
+                       s22 [label=<sds<SUB>2</SUB>>];
+               }
+               s11 -> t11 [style=invis];
+               s12 -> t12 [style=invis];
+               t11 -> dev1 [style=invis];
+               t12 -> dev1 [style=invis];
+
                dev2 [label=<device<SUB>2</SUB>>];
-               devp [label=<device<SUB>...</SUB>>];
-               devn [label=<device<SUB>n</SUB>>];
        }
+       
+
+       {rank=same;
+               buffer1 [label=<buffer<SUB>1</SUB>>,shape=cylinder];
+               buffer2 [label=<buffer<SUB>2</SUB>>,shape=cylinder];
+       }
+       dev1 -> buffer1 [ltail=cluster0,label="WiFi"];
+       dev2 -> buffer2 [ltail=cluster1,label="Serial"];
+       buffer1 -> dev1 [lhead=cluster0];
+       buffer2 -> dev2 [lhead=cluster1];
+
        server [label=<Shared [MTaskDevice]>];
+       buffer1 -> server;
+       server -> buffer1;
+       buffer2 -> server;
+       server -> buffer2;
+
+       server -> itasks;
+       itasks -> server;
 
-       dev1 -> server;
-       dev2 -> server;
-       devp -> server [style=invis];
-       devn -> server;
+       itasks [label="iTasks"];
 }