sdh.gv 5.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284
  1. digraph G {
  2. graph [bgcolor=black]; /* set background */
  3. edge [color=white];
  4. graph[page="8.5,11",size="7.5,7",ratio=fill,center=1];
  5. node[style=filled,label=""];
  6. subgraph ds3CTP {
  7. rank = same;
  8. node[shape=box,color=green];
  9. ds3CTP_1_1;
  10. ds3CTP_1_2;
  11. ds3CTP_5_1;
  12. ds3CTP_5_2;
  13. }
  14. subgraph t3TTP {
  15. rank = same;
  16. node[shape=invtriangle,color=red];
  17. t3TTP_1_1;
  18. t3TTP_5_2;
  19. }
  20. subgraph vc3TTP {
  21. rank = same;
  22. node[shape=invtriangle,color=red];
  23. vc3TTP_1_2;
  24. vc3TTP_5_1;
  25. }
  26. subgraph fabric {
  27. rank = same;
  28. node[shape=hexagon,color=blue];
  29. fabric_1_2;
  30. fabric_4_1;
  31. fabric_5_1;
  32. }
  33. subgraph xp {
  34. rank = same;
  35. node[shape=diamond,color=blue];
  36. xp_1_2;
  37. xp_4_1;
  38. xp_5_1;
  39. }
  40. subgraph au3CTP {
  41. rank = same;
  42. node[shape=box,color=green];
  43. au3CTP_1_2;
  44. au3CTP_4_1;
  45. au3CTP_4_2;
  46. au3CTP_5_1;
  47. }
  48. subgraph aug {
  49. rank = same;
  50. node[shape=invtrapezium,color=pink];
  51. aug_1_2;
  52. aug_4_1;
  53. aug_4_2;
  54. aug_5_1;
  55. }
  56. subgraph protectionTTP {
  57. rank = same;
  58. node[shape=invtriangle,color=red];
  59. prTTP_1_2;
  60. prTTP_4_1;
  61. prTTP_4_2;
  62. prTTP_5_1;
  63. }
  64. subgraph protectionGroup {
  65. rank = same;
  66. node[shape=hexagon,color=blue];
  67. pg_1_2;
  68. pg_4_1;
  69. pg_4_2;
  70. pg_5_1;
  71. }
  72. subgraph protectionUnit {
  73. rank = same;
  74. node[shape=diamond,color=blue];
  75. pu_1_2;
  76. pu_4_1;
  77. pu_4_2;
  78. pu_5_1;
  79. }
  80. subgraph protectionCTP {
  81. node[shape=box,color=green];
  82. prCTP_1_2;
  83. prCTP_4_1;
  84. prCTP_4_2;
  85. prCTP_5_1;
  86. }
  87. subgraph msTTP {
  88. rank = same;
  89. node[shape=invtriangle,color=red];
  90. msTTP_1_2;
  91. msTTP_4_1;
  92. msTTP_4_2;
  93. msTTP_5_1;
  94. }
  95. subgraph msCTP {
  96. rank = same;
  97. node[shape=box,color=green];
  98. msCTP_1_2;
  99. msCTP_3_1;
  100. msCTP_3_2;
  101. msCTP_4_1;
  102. msCTP_4_2;
  103. msCTP_5_1;
  104. }
  105. subgraph rsTTP {
  106. rank = same;
  107. node[shape=invtriangle,color=red];
  108. rsTTP_1_2;
  109. rsTTP_3_1;
  110. rsTTP_3_2;
  111. rsTTP_4_1;
  112. rsTTP_4_2;
  113. rsTTP_5_1;
  114. }
  115. subgraph rsCTP {
  116. rank = same;
  117. node[shape=box,color=green];
  118. rsCTP_1_2;
  119. rsCTP_2_1;
  120. rsCTP_2_2;
  121. rsCTP_3_1;
  122. rsCTP_3_2;
  123. rsCTP_4_1;
  124. rsCTP_4_2;
  125. rsCTP_5_1;
  126. }
  127. subgraph spiTTP {
  128. rank = same;
  129. node[shape=invtriangle,color=red];
  130. spiTTP_1_2;
  131. spiTTP_2_1;
  132. spiTTP_2_2;
  133. spiTTP_3_1;
  134. spiTTP_3_2;
  135. spiTTP_4_1;
  136. spiTTP_4_2;
  137. spiTTP_5_1;
  138. }
  139. subgraph me {
  140. rank = same;
  141. node[shape=box,peripheries=2];
  142. me_1;
  143. me_2;
  144. me_3;
  145. me_4;
  146. me_5;
  147. }
  148. subgraph client_server {
  149. edge[style=dotted,dir=none,weight=100];
  150. ds3CTP_1_1->t3TTP_1_1;
  151. ds3CTP_1_2->vc3TTP_1_2;
  152. au3CTP_1_2->aug_1_2->prTTP_1_2;
  153. prCTP_1_2->msTTP_1_2;
  154. msCTP_1_2->rsTTP_1_2;
  155. rsCTP_1_2->spiTTP_1_2;
  156. rsCTP_2_1->spiTTP_2_1;
  157. rsCTP_2_2->spiTTP_2_2;
  158. msCTP_3_1->rsTTP_3_1;
  159. rsCTP_3_1->spiTTP_3_1;
  160. msCTP_3_2->rsTTP_3_2;
  161. rsCTP_3_2->spiTTP_3_2;
  162. au3CTP_4_1->aug_4_1->prTTP_4_1;
  163. prCTP_4_1->msTTP_4_1;
  164. msCTP_4_1->rsTTP_4_1;
  165. rsCTP_4_1->spiTTP_4_1;
  166. au3CTP_4_2->aug_4_2->prTTP_4_2;
  167. prCTP_4_2->msTTP_4_2;
  168. msCTP_4_2->rsTTP_4_2;
  169. rsCTP_4_2->spiTTP_4_2;
  170. ds3CTP_5_1->vc3TTP_5_1;
  171. au3CTP_5_1->aug_5_1->prTTP_5_1;
  172. prCTP_5_1->msTTP_5_1;
  173. msCTP_5_1->rsTTP_5_1;
  174. rsCTP_5_1->spiTTP_5_1;
  175. ds3CTP_5_2->t3TTP_5_2;
  176. }
  177. subgraph trail {
  178. edge[style=dashed,dir=none];
  179. vc3TTP_1_2->vc3TTP_5_1;
  180. prTTP_1_2->prTTP_4_1;
  181. prTTP_4_2->prTTP_5_1;
  182. msTTP_1_2->msTTP_4_1;
  183. msTTP_4_2->msTTP_5_1;
  184. rsTTP_1_2->rsTTP_3_1;
  185. rsTTP_3_2->rsTTP_4_1;
  186. rsTTP_4_2->rsTTP_5_1;
  187. spiTTP_1_2->spiTTP_2_1;
  188. spiTTP_2_2->spiTTP_3_1;
  189. spiTTP_3_2->spiTTP_4_1;
  190. spiTTP_4_2->spiTTP_5_1;
  191. }
  192. subgraph contain {
  193. pu_1_2->pg_1_2;
  194. pu_4_1->pg_4_1;
  195. pu_4_2->pg_4_2;
  196. pu_5_1->pg_5_1;
  197. xp_1_2->fabric_1_2;
  198. xp_4_1->fabric_4_1;
  199. xp_5_1->fabric_5_1;
  200. fabric_1_2->me_1;
  201. fabric_4_1->me_4;
  202. fabric_5_1->me_5;
  203. pg_1_2->me_1;
  204. pg_4_1->me_4;
  205. pg_4_2->me_4;
  206. pg_5_1->me_5;
  207. t3TTP_1_1->me_1;
  208. t3TTP_5_2->me_5;
  209. vc3TTP_1_2->me_1;
  210. vc3TTP_5_1->me_5;
  211. prTTP_1_2->me_1;
  212. prTTP_4_1->me_4;
  213. prTTP_4_2->me_4;
  214. prTTP_5_1->me_5;
  215. msTTP_1_2->me_1;
  216. msTTP_4_1->me_4;
  217. msTTP_4_2->me_4;
  218. msTTP_5_1->me_5;
  219. rsTTP_1_2->me_1;
  220. rsTTP_3_1->me_3;
  221. rsTTP_3_2->me_3;
  222. rsTTP_4_1->me_4;
  223. rsTTP_4_2->me_4;
  224. rsTTP_5_1->me_5;
  225. spiTTP_1_2->me_1;
  226. spiTTP_2_1->me_2;
  227. spiTTP_2_2->me_2;
  228. spiTTP_3_1->me_3;
  229. spiTTP_3_2->me_3;
  230. spiTTP_4_1->me_4;
  231. spiTTP_4_2->me_4;
  232. spiTTP_5_1->me_5;
  233. }
  234. subgraph connectedBy {
  235. vc3TTP_1_2->fabric_1_2;
  236. au3CTP_1_2->fabric_1_2;
  237. au3CTP_4_1->fabric_4_1;
  238. au3CTP_4_2->fabric_4_1;
  239. vc3TTP_5_1->fabric_5_1;
  240. au3CTP_5_1->fabric_5_1;
  241. prTTP_1_2->pg_1_2;
  242. prTTP_4_1->pg_4_1;
  243. prTTP_4_2->pg_4_2;
  244. prTTP_5_1->pg_5_1;
  245. prCTP_1_2->pg_1_2;
  246. prCTP_4_1->pg_4_1;
  247. prCTP_4_2->pg_4_2;
  248. prCTP_5_1->pg_5_1;
  249. }
  250. subgraph crossConnection {
  251. edge[style=dotted,dir=none];
  252. vc3TTP_1_2->xp_1_2->au3CTP_1_2;
  253. prTTP_1_2->pu_1_2->prCTP_1_2;
  254. prTTP_4_1->pu_4_1->prCTP_4_1;
  255. au3CTP_4_1->xp_4_1->au3CTP_4_2;
  256. prTTP_4_2->pu_4_2->prCTP_4_2;
  257. prTTP_5_1->pu_5_1->prCTP_5_1;
  258. vc3TTP_5_1->xp_5_1->au3CTP_5_1;
  259. }
  260. subgraph bindingConnection {
  261. edge[style=bold,dir=none,weight=100];
  262. ds3CTP_1_1->ds3CTP_1_2;
  263. vc3TTP_1_2->au3CTP_1_2;
  264. prTTP_1_2->prCTP_1_2;
  265. msTTP_1_2->msCTP_1_2;
  266. rsTTP_1_2->rsCTP_1_2;
  267. rsCTP_2_1->rsCTP_2_2;
  268. rsTTP_3_1->rsCTP_3_1;
  269. msCTP_3_1->msCTP_3_2;
  270. rsTTP_3_2->rsCTP_3_2;
  271. prTTP_4_1->prCTP_4_1;
  272. msTTP_4_1->msCTP_4_1;
  273. rsTTP_4_1->rsCTP_4_1;
  274. au3CTP_4_1->au3CTP_4_2;
  275. prTTP_4_2->prCTP_4_2;
  276. msTTP_4_2->msCTP_4_2;
  277. rsTTP_4_2->rsCTP_4_2;
  278. prTTP_5_1->prCTP_5_1;
  279. msTTP_5_1->msCTP_5_1;
  280. rsTTP_5_1->rsCTP_5_1;
  281. ds3CTP_5_1->ds3CTP_5_2;
  282. vc3TTP_5_1->au3CTP_5_1;
  283. }
  284. }