digraph Connection { "Closed" -> "Listen" [label = "Listen?"] "Listen" -> "Syn Received'" [label = "SYN?"] "Syn Received'" -> "Syn Received" [label = "SYN+ACK!"] "Syn Received" -> "Established" [label = "ACK?"] "Syn Received" -> "Listen" [label = "RST?"] "Syn Received'" -> "Listen" [label = "RST?"] } digraph Close { "Established" -> "Close Wait'" [label = "FIN?"] "Close Wait'" -> "Close Wait" [label = "ACK!"] "Close Wait" -> "Last Ack'" [label = "close?"] "Last Ack'" -> "Last Ack" [label = "FIN!"] "Last Ack" -> "Closed" [label = "ACK?"] } digraph TestSetupDown { "G∀ST" -> "Python Driver" [label = "TCP"] "Python Driver" -> "SUT" [label = "TCP"] "SUT" -> "EchoServer'" } digraph TestSetupUp { /*todo, invert */ "Python Driver" -> "G∀ST" [label = "TCP"] "SUT" -> "Python Driver" [label = "TCP"] "EchoServer" -> "SUT" }