From 23ec586502c5c97e04ec2742f40c5a1ff749cb80 Mon Sep 17 00:00:00 2001 From: geno Date: Fri, 7 Feb 2025 12:15:51 +0100 Subject: [PATCH] better tests --- assets/output.tex | 49 + examples/account/account_1_local_view.dot | 2 +- examples/account/client_1_local_view.dot | 2 +- examples/account/main_0_global_view.dot | 62 +- examples/account/main_0_local_view.dot | 2 +- examples/account/output.csv | 9 + examples/airline/main_0_global_view.dot | 38 +- examples/airline/main_0_local_view.dot | 2 +- examples/airline/output.csv | 9 + examples/async/main_0_global_view.dot | 6 +- examples/async/output.csv | 9 + .../airline/agent_2_local_view.dot | 6 +- .../airline/main_0_global_view.dot | 104 +- .../airline/main_0_local_view.dot | 6 +- examples/cauder_suite/airline/output.csv | 9 + .../meViolation/incrementer_2_local_view.dot | 4 +- .../meViolation/main_0_global_view.dot | 134 +- .../meViolation/main_0_local_view.dot | 2 +- .../meViolation/meManager_0_local_view.dot | 2 +- examples/cauder_suite/meViolation/output.csv | 11 + .../meViolation/varManager_1_local_view.dot | 2 +- .../purchase/asynchAnd_2_local_view.dot | 4 +- .../purchase/checkCredit_2_local_view.dot | 2 +- .../purchase/main_0_global_view.dot | 104 +- .../purchase/main_0_local_view.dot | 6 +- examples/cauder_suite/purchase/output.csv | 13 + .../conditional-case/main_0_global_view.dot | 34 +- .../conditional-case/main_0_local_view.dot | 8 +- examples/conditional-case/output.csv | 7 + examples/customer/customer_0_local_view.dot | 6 +- examples/customer/main_0_global_view.dot | 30 +- examples/customer/main_0_local_view.dot | 2 +- examples/customer/output.csv | 13 + examples/customer/store_0_local_view.dot | 6 +- examples/dining/fork_0_local_view.dot | 2 +- examples/dining/main_0_global_view.dot | 114 +- examples/dining/main_0_local_view.dot | 4 +- examples/dining/output.csv | 9 + examples/dining/philo_2_local_view.dot | 4 +- .../for-loop-recursion/main_0_global_view.dot | 33 +- .../for-loop-recursion/main_0_local_view.dot | 4 +- examples/for-loop-recursion/output.csv | 9 + examples/function-call/dummy_1_local_view.dot | 2 +- examples/function-call/main_0_global_view.dot | 2 +- examples/function-call/main_0_local_view.dot | 2 +- examples/function-call/output.csv | 9 + examples/hello/main_0_global_view.dot | 6 +- examples/hello/main_0_local_view.dot | 10 +- examples/hello/output.csv | 9 + .../high-order-fun/greet_0_global_view.dot | 20 +- .../high-order-fun/greet_0_local_view.dot | 4 +- examples/high-order-fun/output.csv | 11 + examples/if-cases/main_0_global_view.dot | 358 +-- examples/if-cases/main_0_local_view.dot | 10 +- examples/if-cases/output.csv | 11 + examples/pass/a_1_local_view.dot | 2 +- examples/pass/output.csv | 9 + examples/producer/main_0_global_view.dot | 12 +- examples/producer/main_0_local_view.dot | 2 +- examples/producer/output.csv | 11 + examples/producer/producer_0_local_view.dot | 2 +- examples/serverclient/client_0_local_view.dot | 4 +- .../serverclient/handle_req_1_local_view.dot | 2 +- examples/serverclient/main_0_global_view.dot | 8 +- examples/serverclient/output.csv | 13 + examples/serverclient/server_0_local_view.dot | 4 +- examples/spawn/dummy_0_local_view.dot | 6 +- examples/spawn/main_0_global_view.dot | 8 +- examples/spawn/main_0_local_view.dot | 6 +- examples/spawn/output.csv | 9 + examples/test/foo1/c_1_local_view.dot | 2 +- examples/test/foo1/output.csv | 9 + examples/test/foo1/test_0_global_view.dot | 6 +- examples/test/foo1/test_0_local_view.dot | 4 +- examples/test/foo2/b_0_local_view.dot | 2 +- examples/test/foo2/c_0_local_view.dot | 2 +- examples/test/foo2/output.csv | 11 + examples/test/foo2/test_0_global_view.dot | 2 +- examples/test/foo2/test_0_local_view.dot | 2 +- examples/test/foo3/output.csv | 9 + examples/test/foo3/test_0_global_view.dot | 24 +- examples/test/foo3/test_0_local_view.dot | 6 +- examples/test/foo4/output.csv | 11 + examples/test/foo4/test_0_global_view.dot | 28 +- examples/test/foo4/test_0_local_view.dot | 2 +- examples/test/foo5/output.csv | 9 + examples/test/foo5/test_0_global_view.dot | 286 +-- examples/test/foo5/test_0_local_view.dot | 4 +- .../test/foo6/client_gen_2_local_view.dot | 2 +- .../test/foo6/client_server_1_local_view.dot | 2 +- examples/test/foo6/output.csv | 13 + examples/test/foo6/test_0_global_view.dot | 12 +- examples/test/foo6/test_0_local_view.dot | 4 +- examples/test/foo7/foo_2_local_view.dot | 2 +- examples/test/foo7/main_0_global_view.dot | 412 ++-- examples/test/foo7/main_0_local_view.dot | 2 +- examples/test/foo7/output.csv | 9 + examples/test/foo7/server_0_local_view.dot | 2 +- examples/test/foo8/main_0_global_view.dot | 2072 ++++++++--------- examples/test/foo8/main_0_local_view.dot | 2 +- examples/test/foo8/output.csv | 13 + examples/test/foo9/main_0_global_view.dot | 2 +- examples/test/foo9/main_0_local_view.dot | 2 +- examples/test/foo9/output.csv | 11 + examples/test/foo9b/g_2_local_view.dot | 2 +- examples/test/foo9b/main_0_global_view.dot | 4 +- examples/test/foo9b/main_0_local_view.dot | 2 +- examples/test/foo9b/output.csv | 11 + examples/test/foo9c/f_2_local_view.dot | 2 +- examples/test/foo9c/main_0_global_view.dot | 34 +- examples/test/foo9c/main_0_local_view.dot | 4 +- examples/test/foo9c/output.csv | 9 + examples/test/foo9d/foo_0_local_view.dot | 2 +- examples/test/foo9d/output.csv | 9 + examples/test/foo9e/f_1_local_view.dot | 4 +- examples/test/foo9e/foo_0_local_view.dot | 2 +- examples/test/foo9e/h_2_local_view.dot | 2 +- examples/test/foo9e/main_0_global_view.dot | 16 +- examples/test/foo9e/main_0_local_view.dot | 6 +- examples/test/foo9e/output.csv | 13 + examples/test/foo9f/f_1_local_view.dot | 2 +- examples/test/foo9f/foo_0_local_view.dot | 2 +- examples/test/foo9f/h_2_local_view.dot | 2 +- examples/test/foo9f/main_0_global_view.dot | 10 +- examples/test/foo9f/main_0_local_view.dot | 6 +- examples/test/foo9f/output.csv | 13 + examples/test/foo9g/f_1_local_view.dot | 4 +- examples/test/foo9g/foo_0_local_view.dot | 2 +- examples/test/foo9g/g_2_local_view.dot | 2 +- examples/test/foo9g/h_2_local_view.dot | 2 +- examples/test/foo9g/main_0_global_view.dot | 126 +- examples/test/foo9g/main_0_local_view.dot | 4 +- examples/test/foo9g/output.csv | 13 + examples/test/foo9h/f_1_local_view.dot | 6 +- examples/test/foo9h/foo_0_local_view.dot | 2 +- examples/test/foo9h/main_0_global_view.dot | 92 +- examples/test/foo9h/main_0_local_view.dot | 6 +- examples/test/foo9h/output.csv | 11 + examples/test/ping/output.csv | 9 + examples/test/ping/ping_1_local_view.dot | 2 +- examples/test/ping/pong_0_local_view.dot | 4 +- examples/test/ping/start_0_global_view.dot | 6 +- examples/test/ping/start_0_local_view.dot | 2 +- examples/ticktackloop/output.csv | 11 + examples/ticktackloop/start_0_global_view.dot | 6 +- examples/ticktackloop/start_0_local_view.dot | 2 +- .../ticktackloop/tac_loop_0_local_view.dot | 4 +- .../ticktackloop/tic_loop_0_local_view.dot | 6 +- examples/ticktackstop/output.csv | 13 + examples/ticktackstop/start_0_global_view.dot | 40 +- examples/ticktackstop/start_0_local_view.dot | 4 +- .../ticktackstop/tac_loop_0_local_view.dot | 4 +- .../ticktackstop/tic_loop_0_local_view.dot | 4 +- examples/trick/a_2_local_view.dot | 2 +- examples/trick/b_1_local_view.dot | 2 +- examples/trick/c_0_local_view.dot | 2 +- examples/trick/main_0_global_view.dot | 8 +- examples/trick/main_0_local_view.dot | 2 +- examples/trick/output.csv | 11 + examples/unknown/output.csv | 7 + src/choreography/md.erl | 41 +- test.py | 88 +- 162 files changed, 2816 insertions(+), 2308 deletions(-) create mode 100644 assets/output.tex create mode 100644 examples/account/output.csv create mode 100644 examples/airline/output.csv create mode 100644 examples/async/output.csv create mode 100644 examples/cauder_suite/airline/output.csv create mode 100644 examples/cauder_suite/meViolation/output.csv create mode 100644 examples/cauder_suite/purchase/output.csv create mode 100644 examples/conditional-case/output.csv create mode 100644 examples/customer/output.csv create mode 100644 examples/dining/output.csv create mode 100644 examples/for-loop-recursion/output.csv create mode 100644 examples/function-call/output.csv create mode 100644 examples/hello/output.csv create mode 100644 examples/high-order-fun/output.csv create mode 100644 examples/if-cases/output.csv create mode 100644 examples/pass/output.csv create mode 100644 examples/producer/output.csv create mode 100644 examples/serverclient/output.csv create mode 100644 examples/spawn/output.csv create mode 100644 examples/test/foo1/output.csv create mode 100644 examples/test/foo2/output.csv create mode 100644 examples/test/foo3/output.csv create mode 100644 examples/test/foo4/output.csv create mode 100644 examples/test/foo5/output.csv create mode 100644 examples/test/foo6/output.csv create mode 100644 examples/test/foo7/output.csv create mode 100644 examples/test/foo8/output.csv create mode 100644 examples/test/foo9/output.csv create mode 100644 examples/test/foo9b/output.csv create mode 100644 examples/test/foo9c/output.csv create mode 100644 examples/test/foo9d/output.csv create mode 100644 examples/test/foo9e/output.csv create mode 100644 examples/test/foo9f/output.csv create mode 100644 examples/test/foo9g/output.csv create mode 100644 examples/test/foo9h/output.csv create mode 100644 examples/test/ping/output.csv create mode 100644 examples/ticktackloop/output.csv create mode 100644 examples/ticktackstop/output.csv create mode 100644 examples/trick/output.csv create mode 100644 examples/unknown/output.csv diff --git a/assets/output.tex b/assets/output.tex new file mode 100644 index 0000000..dbe6269 --- /dev/null +++ b/assets/output.tex @@ -0,0 +1,49 @@ +\begin{table}[h] +\centering +\begin{tabular}{lccc} +\hline +Example & #Lines & #GV Nodes & #GV Edges & #Warnings & #Errors & Runtime \\ +\hline +account & 23 & 19 & 27 & 0 & 2 & 0.209 \\ +dining & 31 & 29 & 44 & 0 & 2 & 0.237 \\ +hello & 24 & 3 & 3 & 2 & 0 & 0.189 \\ +async & 20 & 6 & 6 & 0 & 0 & 0.187 \\ +ticktackstop & 46 & 12 & 19 & 7 & 0 & 0.208 \\ +ticktackloop & 32 & 5 & 5 & 2 & 0 & 0.188 \\ +customer & 54 & 12 & 16 & 1 & 0 & 0.199 \\ +serverclient & 41 & 7 & 8 & 8 & 3 & 0.190 \\ +trick & 24 & 8 & 8 & 0 & 0 & 0.185 \\ +airline & 23 & 12 & 20 & 1 & 0 & 0.228 \\ +conditional-case & 26 & 10 & 15 & 1 & 16 & 0.196 \\ +for-loop-recursion & 18 & 8 & 9 & 0 & 0 & 0.183 \\ +function-call & 17 & 3 & 3 & 1 & 2 & 0.183 \\ +high-order-fun & 21 & 10 & 14 & 0 & 3 & 0.193 \\ +if-cases & 57 & 86 & 134 & 185 & 30 & 0.528 \\ +pass & 16 & 3 & 2 & 0 & 0 & 0.182 \\ +producer & 30 & 8 & 7 & 0 & 1 & 0.184 \\ +spawn & 22 & 9 & 8 & 0 & 0 & 0.187 \\ +unknown & 13 & 1 & 1 & 0 & 0 & 0.181 \\ +foo1 & 18 & 6 & 7 & 0 & 0 & 0.188 \\ +foo2 & 23 & 4 & 3 & 1 & 1 & 0.177 \\ +foo3 & 22 & 10 & 14 & 0 & 0 & 0.187 \\ +foo4 & 20 & 12 & 15 & 0 & 2 & 0.189 \\ +foo5 & 18 & 39 & 87 & 1 & 0 & 0.315 \\ +foo6 & 24 & 6 & 7 & 15 & 2 & 0.185 \\ +foo7 & 41 & 43 & 121 & 0 & 6 & 0.521 \\ +foo8 & 29 & 27 & 95 & 0 & 171 & 2.769 \\ +foo9 & 14 & 2 & 3 & 1 & 3 & 0.185 \\ +foo9b & 21 & 4 & 4 & 14 & 1 & 0.184 \\ +foo9c & 15 & 6 & 11 & 0 & 0 & 0.184 \\ +foo9d & 16 & 3 & 2 & 0 & 0 & 0.177 \\ +foo9e & 24 & 9 & 13 & 0 & 5 & 0.187 \\ +foo9f & 25 & 4 & 6 & 0 & 4 & 0.180 \\ +foo9g & 25 & 21 & 49 & 0 & 7 & 0.228 \\ +foo9h & 23 & 12 & 26 & 0 & 5 & 0.195 \\ +ping & 36 & 6 & 5 & 1 & 0 & 0.186 \\ +airline & 33 & 18 & 34 & 1 & 0 & 0.228 \\ +meViolation & 40 & 38 & 54 & 2 & 4 & 0.270 \\ +purchase & 47 & 25 & 44 & 6 & 0 & 0.256 \\ +\hline +\end{tabular} +\caption{Global view data} +\end{table} \ No newline at end of file diff --git a/examples/account/account_1_local_view.dot b/examples/account/account_1_local_view.dot index 7445c55..075ca61 100644 --- a/examples/account/account_1_local_view.dot +++ b/examples/account/account_1_local_view.dot @@ -6,6 +6,6 @@ digraph account_1 { n_2 [id="2", shape=circle, label="2"]; n_2 -> n_1 [id="[$e|7]", label="P ! Value"]; - n_1 -> n_1 [id="[$e|8]", label="1#receive {set,NewValue}"]; n_1 -> n_2 [id="[$e|0]", label="0#receive {get,P}"]; + n_1 -> n_1 [id="[$e|8]", label="1#receive {set,NewValue}"]; } diff --git a/examples/account/client_1_local_view.dot b/examples/account/client_1_local_view.dot index b88e214..3c034d8 100644 --- a/examples/account/client_1_local_view.dot +++ b/examples/account/client_1_local_view.dot @@ -7,7 +7,7 @@ digraph client_1 { n_3 [id="3", shape=circle, label="3"]; n_4 [id="2", shape=circle, label="2"]; - n_1 -> n_4 [id="[$e|0]", label="Account ! {get,pid_self}"]; n_3 -> n_2 [id="[$e|2]", label="Account ! {set,42}"]; + n_1 -> n_4 [id="[$e|0]", label="Account ! {get,pid_self}"]; n_4 -> n_3 [id="[$e|1]", label="0#receive _Val"]; } diff --git a/examples/account/main_0_global_view.dot b/examples/account/main_0_global_view.dot index ab6c52c..16e5068 100644 --- a/examples/account/main_0_global_view.dot +++ b/examples/account/main_0_global_view.dot @@ -31,43 +31,43 @@ digraph global { n_27 [id="5", shape=circle, label="5"]; n_28 [id="21", shape=circle, label="21"]; - n_15 -> n_3 [id="[$e|7]", label="client/1.0→account/1.0:{get,pid_self}"]; - n_8 -> n_20 [id="[$e|27]", label="account/1.0→client/1.1:Value"]; - n_23 -> n_18 [id="[$e|18]", label="account/1.0→client/1.1:Value"]; - n_23 -> n_8 [id="[$e|17]", label="client/1.0→account/1.0:{set,42}"]; - n_15 -> n_25 [id="[$e|8]", label="account/1.0→client/1.1:Value"]; - n_28 -> n_20 [id="[$e|33]", label="account/1.0→client/1.1:Value"]; - n_25 -> n_24 [id="[$e|15]", label="client/1.0→account/1.0:{get,pid_self}"]; - n_7 -> n_11 [id="[$e|36]", label="client/1.1→account/1.0:{set,42}"]; - n_18 -> n_5 [id="[$e|29]", label="client/1.1→account/1.0:{set,42}"]; - n_25 -> n_12 [id="[$e|16]", label="client/1.1→account/1.0:{set,42}"]; n_17 -> n_13 [id="[$e|19]", label="client/1.1→account/1.0:{set,42}"]; - n_26 -> n_8 [id="[$e|21]", label="client/1.0→account/1.0:{set,42}"]; - n_27 -> n_10 [id="[$e|5]", label="client/1.1→account/1.0:{get,pid_self}"]; - n_19 -> n_7 [id="[$e|32]", label="client/1.0→account/1.0:{set,42}"]; - n_27 -> n_6 [id="[$e|6]", label="account/1.0→client/1.0:Value"]; - n_9 -> n_21 [id="[$e|0]", label="main/0.0Δaccount/1.0 args [1]"]; - n_13 -> n_4 [id="[$e|30]", label="account/1.0→client/1.0:Value"]; - n_6 -> n_1 [id="[$e|12]", label="client/1.0→account/1.0:{set,42}"]; - n_20 -> n_11 [id="[$e|35]", label="client/1.1→account/1.0:{set,42}"]; - n_17 -> n_19 [id="[$e|20]", label="account/1.0→client/1.0:Value"]; n_5 -> n_2 [id="[$e|37]", label="client/1.0→account/1.0:{set,42}"]; - n_18 -> n_7 [id="[$e|28]", label="client/1.0→account/1.0:{set,42}"]; n_10 -> n_23 [id="[$e|9]", label="account/1.0→client/1.0:Value"]; - n_19 -> n_5 [id="[$e|31]", label="client/1.1→account/1.0:{set,42}"]; - n_14 -> n_27 [id="[$e|3]", label="client/1.0→account/1.0:{get,pid_self}"]; - n_24 -> n_13 [id="[$e|24]", label="client/1.1→account/1.0:{set,42}"]; + n_23 -> n_8 [id="[$e|17]", label="client/1.0→account/1.0:{set,42}"]; n_3 -> n_23 [id="[$e|13]", label="account/1.0→client/1.0:Value"]; - n_16 -> n_14 [id="[$e|2]", label="main/0.0Δclient/1.1 args [account/1.0]"]; - n_21 -> n_16 [id="[$e|1]", label="main/0.0Δclient/1.0 args [account/1.0]"]; - n_3 -> n_17 [id="[$e|14]", label="account/1.0→client/1.1:Value"]; - n_4 -> n_2 [id="[$e|38]", label="client/1.0→account/1.0:{set,42}"]; - n_1 -> n_28 [id="[$e|23]", label="client/1.1→account/1.0:{get,pid_self}"]; - n_24 -> n_19 [id="[$e|25]", label="account/1.0→client/1.0:Value"]; + n_8 -> n_20 [id="[$e|27]", label="account/1.0→client/1.1:Value"]; + n_20 -> n_11 [id="[$e|35]", label="client/1.1→account/1.0:{set,42}"]; + n_17 -> n_19 [id="[$e|20]", label="account/1.0→client/1.0:Value"]; n_10 -> n_17 [id="[$e|10]", label="account/1.0→client/1.1:Value"]; n_12 -> n_22 [id="[$e|26]", label="client/1.0→account/1.0:{get,pid_self}"]; - n_14 -> n_15 [id="[$e|4]", label="client/1.1→account/1.0:{get,pid_self}"]; + n_19 -> n_7 [id="[$e|32]", label="client/1.0→account/1.0:{set,42}"]; + n_18 -> n_7 [id="[$e|28]", label="client/1.0→account/1.0:{set,42}"]; n_22 -> n_4 [id="[$e|34]", label="account/1.0→client/1.0:Value"]; - n_26 -> n_18 [id="[$e|22]", label="account/1.0→client/1.1:Value"]; + n_25 -> n_12 [id="[$e|16]", label="client/1.1→account/1.0:{set,42}"]; + n_4 -> n_2 [id="[$e|38]", label="client/1.0→account/1.0:{set,42}"]; + n_1 -> n_28 [id="[$e|23]", label="client/1.1→account/1.0:{get,pid_self}"]; + n_16 -> n_14 [id="[$e|2]", label="main/0.0Δclient/1.1 args [account/1.0]"]; + n_23 -> n_18 [id="[$e|18]", label="account/1.0→client/1.1:Value"]; + n_19 -> n_5 [id="[$e|31]", label="client/1.1→account/1.0:{set,42}"]; + n_15 -> n_3 [id="[$e|7]", label="client/1.0→account/1.0:{get,pid_self}"]; + n_3 -> n_17 [id="[$e|14]", label="account/1.0→client/1.1:Value"]; + n_9 -> n_21 [id="[$e|0]", label="main/0.0Δaccount/1.0 args [1]"]; + n_27 -> n_6 [id="[$e|6]", label="account/1.0→client/1.0:Value"]; + n_27 -> n_10 [id="[$e|5]", label="client/1.1→account/1.0:{get,pid_self}"]; + n_24 -> n_19 [id="[$e|25]", label="account/1.0→client/1.0:Value"]; + n_24 -> n_13 [id="[$e|24]", label="client/1.1→account/1.0:{set,42}"]; + n_28 -> n_20 [id="[$e|33]", label="account/1.0→client/1.1:Value"]; + n_6 -> n_1 [id="[$e|12]", label="client/1.0→account/1.0:{set,42}"]; + n_18 -> n_5 [id="[$e|29]", label="client/1.1→account/1.0:{set,42}"]; + n_15 -> n_25 [id="[$e|8]", label="account/1.0→client/1.1:Value"]; + n_21 -> n_16 [id="[$e|1]", label="main/0.0Δclient/1.0 args [account/1.0]"]; n_6 -> n_26 [id="[$e|11]", label="client/1.1→account/1.0:{get,pid_self}"]; + n_14 -> n_27 [id="[$e|3]", label="client/1.0→account/1.0:{get,pid_self}"]; + n_13 -> n_4 [id="[$e|30]", label="account/1.0→client/1.0:Value"]; + n_26 -> n_18 [id="[$e|22]", label="account/1.0→client/1.1:Value"]; + n_25 -> n_24 [id="[$e|15]", label="client/1.0→account/1.0:{get,pid_self}"]; + n_26 -> n_8 [id="[$e|21]", label="client/1.0→account/1.0:{set,42}"]; + n_7 -> n_11 [id="[$e|36]", label="client/1.1→account/1.0:{set,42}"]; + n_14 -> n_15 [id="[$e|4]", label="client/1.1→account/1.0:{get,pid_self}"]; } diff --git a/examples/account/main_0_local_view.dot b/examples/account/main_0_local_view.dot index a23b85f..7a8473c 100644 --- a/examples/account/main_0_local_view.dot +++ b/examples/account/main_0_local_view.dot @@ -7,7 +7,7 @@ digraph main_0 { n_3 [id="3", shape=doublecircle, label="4"]; n_4 [id="2", shape=circle, label="2"]; - n_2 -> n_3 [id="[$e|0]", label="spawn client/1.1 args [account/1.0]"]; n_4 -> n_2 [id="[$e|2]", label="spawn client/1.0 args [account/1.0]"]; + n_2 -> n_3 [id="[$e|0]", label="spawn client/1.1 args [account/1.0]"]; n_1 -> n_4 [id="[$e|1]", label="spawn account/1.0 args [1]"]; } diff --git a/examples/account/output.csv b/examples/account/output.csv new file mode 100644 index 0000000..17f0b16 --- /dev/null +++ b/examples/account/output.csv @@ -0,0 +1,9 @@ +line,23 +lv_main/0_nodes,4 +lv_main/0_edges,3 +lv_account/1_nodes,2 +lv_account/1_edges,3 +lv_client/1_nodes,4 +lv_client/1_edges,3 +gv_nodes,19 +gv_edges,27 diff --git a/examples/airline/main_0_global_view.dot b/examples/airline/main_0_global_view.dot index 564b5c0..bdefb31 100644 --- a/examples/airline/main_0_global_view.dot +++ b/examples/airline/main_0_global_view.dot @@ -18,30 +18,30 @@ digraph global { n_14 [id="13", shape=circle, label="13"]; n_15 [id="5", shape=circle, label="5"]; - n_12 -> n_2 [id="[$e|25]", label="main/0.0→agent/1.0:{booked,3}"]; + n_3 -> n_14 [id="[$e|11]", label="main/0.0→agent/1.1:{booked,3}"]; n_2 -> n_15 [id="[$e|12]", label="agent/1.1→main/0.0:{sell,pid_self}"]; - n_2 -> n_6 [id="[$e|13]", label="agent/1.0→main/0.0:{sell,pid_self}"]; - n_11 -> n_15 [id="[$e|17]", label="agent/1.1→main/0.0:{sell,pid_self}"]; - n_8 -> n_15 [id="[$e|3]", label="agent/1.1→main/0.0:{sell,pid_self}"]; - n_4 -> n_10 [id="[$e|0]", label="main/0.0Δagent/1.0 args [pid_self]"]; - n_6 -> n_7 [id="[$e|4]", label="main/0.0→agent/1.0:{booked,3}"]; - n_1 -> n_11 [id="[$e|23]", label="main/0.0→agent/1.1:{booked,3}"]; - n_1 -> n_13 [id="[$e|22]", label="agent/1.0→main/0.0:{sell,pid_self}"]; - n_8 -> n_6 [id="[$e|2]", label="agent/1.0→main/0.0:{sell,pid_self}"]; - n_15 -> n_11 [id="[$e|9]", label="main/0.0→agent/1.1:{booked,3}"]; - n_3 -> n_9 [id="[$e|10]", label="main/0.0→agent/1.0:{booked,3}"]; + n_12 -> n_3 [id="[$e|24]", label="agent/1.1→main/0.0:{sell,pid_self}"]; n_14 -> n_7 [id="[$e|21]", label="main/0.0→agent/1.0:{booked,3}"]; - n_15 -> n_5 [id="[$e|5]", label="main/0.0→agent/1.1:{booked,3}"]; - n_6 -> n_2 [id="[$e|7]", label="main/0.0→agent/1.0:{booked,3}"]; - n_3 -> n_14 [id="[$e|11]", label="main/0.0→agent/1.1:{booked,3}"]; - n_9 -> n_5 [id="[$e|20]", label="main/0.0→agent/1.1:{booked,3}"]; + n_6 -> n_3 [id="[$e|6]", label="agent/1.1→main/0.0:{sell,pid_self}"]; + n_15 -> n_13 [id="[$e|8]", label="agent/1.0→main/0.0:{sell,pid_self}"]; n_3 -> n_1 [id="[$e|18]", label="main/0.0→agent/1.0:{booked,3}"]; - n_13 -> n_14 [id="[$e|15]", label="main/0.0→agent/1.1:{booked,3}"]; + n_4 -> n_10 [id="[$e|0]", label="main/0.0Δagent/1.0 args [pid_self]"]; + n_11 -> n_15 [id="[$e|17]", label="agent/1.1→main/0.0:{sell,pid_self}"]; n_3 -> n_12 [id="[$e|19]", label="main/0.0→agent/1.1:{booked,3}"]; + n_15 -> n_11 [id="[$e|9]", label="main/0.0→agent/1.1:{booked,3}"]; n_13 -> n_9 [id="[$e|14]", label="main/0.0→agent/1.0:{booked,3}"]; - n_12 -> n_3 [id="[$e|24]", label="agent/1.1→main/0.0:{sell,pid_self}"]; - n_15 -> n_13 [id="[$e|8]", label="agent/1.0→main/0.0:{sell,pid_self}"]; + n_6 -> n_7 [id="[$e|4]", label="main/0.0→agent/1.0:{booked,3}"]; + n_15 -> n_5 [id="[$e|5]", label="main/0.0→agent/1.1:{booked,3}"]; + n_1 -> n_11 [id="[$e|23]", label="main/0.0→agent/1.1:{booked,3}"]; n_10 -> n_8 [id="[$e|1]", label="main/0.0Δagent/1.1 args [pid_self]"]; - n_6 -> n_3 [id="[$e|6]", label="agent/1.1→main/0.0:{sell,pid_self}"]; + n_9 -> n_5 [id="[$e|20]", label="main/0.0→agent/1.1:{booked,3}"]; n_11 -> n_6 [id="[$e|16]", label="agent/1.0→main/0.0:{sell,pid_self}"]; + n_3 -> n_9 [id="[$e|10]", label="main/0.0→agent/1.0:{booked,3}"]; + n_8 -> n_15 [id="[$e|3]", label="agent/1.1→main/0.0:{sell,pid_self}"]; + n_6 -> n_2 [id="[$e|7]", label="main/0.0→agent/1.0:{booked,3}"]; + n_2 -> n_6 [id="[$e|13]", label="agent/1.0→main/0.0:{sell,pid_self}"]; + n_12 -> n_2 [id="[$e|25]", label="main/0.0→agent/1.0:{booked,3}"]; + n_8 -> n_6 [id="[$e|2]", label="agent/1.0→main/0.0:{sell,pid_self}"]; + n_1 -> n_13 [id="[$e|22]", label="agent/1.0→main/0.0:{sell,pid_self}"]; + n_13 -> n_14 [id="[$e|15]", label="main/0.0→agent/1.1:{booked,3}"]; } diff --git a/examples/airline/main_0_local_view.dot b/examples/airline/main_0_local_view.dot index fe16d90..0d7edf8 100644 --- a/examples/airline/main_0_local_view.dot +++ b/examples/airline/main_0_local_view.dot @@ -9,6 +9,6 @@ digraph main_0 { n_4 -> n_2 [id="[$e|0]", label="Pid1 ! {booked,3}"]; n_2 -> n_4 [id="[$e|4]", label="0#receive {sell,Pid1}"]; - n_1 -> n_3 [id="[$e|2]", label="spawn agent/1.0 args [pid_self]"]; n_3 -> n_2 [id="[$e|5]", label="spawn agent/1.1 args [pid_self]"]; + n_1 -> n_3 [id="[$e|2]", label="spawn agent/1.0 args [pid_self]"]; } diff --git a/examples/airline/output.csv b/examples/airline/output.csv new file mode 100644 index 0000000..2ffd657 --- /dev/null +++ b/examples/airline/output.csv @@ -0,0 +1,9 @@ +line,23 +lv_main/0_nodes,4 +lv_main/0_edges,4 +lv_agent/1_nodes,2 +lv_agent/1_edges,2 +lv_seats/1_nodes,2 +lv_seats/1_edges,2 +gv_nodes,12 +gv_edges,20 diff --git a/examples/async/main_0_global_view.dot b/examples/async/main_0_global_view.dot index b9e340f..45f3efc 100644 --- a/examples/async/main_0_global_view.dot +++ b/examples/async/main_0_global_view.dot @@ -10,10 +10,10 @@ digraph global { n_6 [id="2", shape=circle, label="2"]; n_7 [id="5", shape=circle, label="5"]; + n_7 -> n_2 [id="[$e|5]", label="dummy2/0.0→dummy1/0.0:ciao"]; + n_5 -> n_7 [id="[$e|3]", label="dummy1/0.0→dummy2/0.0:bello"]; + n_3 -> n_4 [id="[$e|4]", label="dummy1/0.0→dummy2/0.0:bello"]; n_5 -> n_3 [id="[$e|2]", label="dummy2/0.0→dummy1/0.0:ciao"]; n_1 -> n_6 [id="[$e|0]", label="main/0.0Δdummy1/0.0 args nil"]; - n_3 -> n_4 [id="[$e|4]", label="dummy1/0.0→dummy2/0.0:bello"]; - n_7 -> n_2 [id="[$e|5]", label="dummy2/0.0→dummy1/0.0:ciao"]; n_6 -> n_5 [id="[$e|1]", label="main/0.0Δdummy2/0.0 args nil"]; - n_5 -> n_7 [id="[$e|3]", label="dummy1/0.0→dummy2/0.0:bello"]; } diff --git a/examples/async/output.csv b/examples/async/output.csv new file mode 100644 index 0000000..51142c4 --- /dev/null +++ b/examples/async/output.csv @@ -0,0 +1,9 @@ +line,20 +lv_main/0_nodes,3 +lv_main/0_edges,2 +lv_dummy1/0_nodes,3 +lv_dummy1/0_edges,2 +lv_dummy2/0_nodes,3 +lv_dummy2/0_edges,2 +gv_nodes,6 +gv_edges,6 diff --git a/examples/cauder_suite/airline/agent_2_local_view.dot b/examples/cauder_suite/airline/agent_2_local_view.dot index 283b505..8b6eea8 100644 --- a/examples/cauder_suite/airline/agent_2_local_view.dot +++ b/examples/cauder_suite/airline/agent_2_local_view.dot @@ -9,10 +9,10 @@ digraph agent_2 { n_5 [id="2", shape=circle, label="2"]; n_6 [id="5", shape=doublecircle, label="6"]; + n_4 -> n_1 [id="[$e|7]", label="0#receive {booked,_}"]; n_2 -> n_6 [id="[$e|4]", label="Pid ! stop"]; n_5 -> n_2 [id="[$e|5]", label="1#receive {seats,0}"]; - n_4 -> n_1 [id="[$e|7]", label="0#receive {booked,_}"]; - n_5 -> n_3 [id="[$e|0]", label="0#receive {seats,Num}"]; - n_1 -> n_5 [id="[$e|3]", label="Pid ! {numOfSeats,pid_self}"]; n_3 -> n_4 [id="[$e|1]", label="Pid ! {sell,pid_self}"]; + n_1 -> n_5 [id="[$e|3]", label="Pid ! {numOfSeats,pid_self}"]; + n_5 -> n_3 [id="[$e|0]", label="0#receive {seats,Num}"]; } diff --git a/examples/cauder_suite/airline/main_0_global_view.dot b/examples/cauder_suite/airline/main_0_global_view.dot index e617a7a..577cd93 100644 --- a/examples/cauder_suite/airline/main_0_global_view.dot +++ b/examples/cauder_suite/airline/main_0_global_view.dot @@ -38,72 +38,72 @@ digraph global { n_34 [id="32", shape=circle, label="32"]; n_35 [id="29", shape=circle, label="29"]; + n_15 -> n_20 [id="[$e|57]", label="main/0.0→agent/2.1:{booked,3}"]; + n_31 -> n_24 [id="[$e|22]", label="agent/2.1→main/0.0:{numOfSeats,pid_self}"]; + n_24 -> n_9 [id="[$e|36]", label="main/0.0→agent/2.0:{booked,3}"]; + n_10 -> n_14 [id="[$e|31]", label="agent/2.1→main/0.0:{sell,pid_self}"]; + n_32 -> n_5 [id="[$e|7]", label="main/0.0→agent/2.1:{seats,3}"]; + n_6 -> n_13 [id="[$e|49]", label="main/0.0→agent/2.0:{booked,3}"]; n_35 -> n_19 [id="[$e|54]", label="agent/2.1→main/0.0:{numOfSeats,pid_self}"]; + n_28 -> n_23 [id="[$e|18]", label="agent/2.1→main/0.0:{sell,pid_self}"]; + n_18 -> n_19 [id="[$e|4]", label="agent/2.1→main/0.0:{numOfSeats,pid_self}"]; + n_32 -> n_8 [id="[$e|6]", label="agent/2.0→main/0.0:{numOfSeats,pid_self}"]; + n_2 -> n_25 [id="[$e|65]", label="main/0.0→agent/2.1:{booked,3}"]; + n_12 -> n_31 [id="[$e|11]", label="agent/2.0→main/0.0:{sell,pid_self}"]; + n_33 -> n_32 [id="[$e|38]", label="agent/2.1→main/0.0:{numOfSeats,pid_self}"]; + n_7 -> n_15 [id="[$e|46]", label="agent/2.1→main/0.0:{sell,pid_self}"]; + n_25 -> n_32 [id="[$e|43]", label="agent/2.1→main/0.0:{numOfSeats,pid_self}"]; + n_13 -> n_3 [id="[$e|59]", label="agent/2.0→main/0.0:{numOfSeats,pid_self}"]; n_4 -> n_34 [id="[$e|52]", label="agent/2.0→main/0.0:{sell,pid_self}"]; - n_8 -> n_28 [id="[$e|13]", label="main/0.0→agent/2.1:{seats,3}"]; - n_5 -> n_29 [id="[$e|15]", label="agent/2.1→main/0.0:{sell,pid_self}"]; + n_12 -> n_22 [id="[$e|10]", label="agent/2.1→main/0.0:{numOfSeats,pid_self}"]; n_29 -> n_27 [id="[$e|26]", label="agent/2.0→main/0.0:{numOfSeats,pid_self}"]; - n_18 -> n_19 [id="[$e|4]", label="agent/2.1→main/0.0:{numOfSeats,pid_self}"]; - n_19 -> n_28 [id="[$e|9]", label="main/0.0→agent/2.1:{seats,3}"]; - n_5 -> n_3 [id="[$e|14]", label="agent/2.0→main/0.0:{numOfSeats,pid_self}"]; - n_33 -> n_18 [id="[$e|39]", label="agent/2.0→main/0.0:{numOfSeats,pid_self}"]; + n_18 -> n_12 [id="[$e|5]", label="main/0.0→agent/2.0:{seats,3}"]; n_35 -> n_12 [id="[$e|55]", label="main/0.0→agent/2.0:{seats,3}"]; - n_14 -> n_34 [id="[$e|50]", label="agent/2.0→main/0.0:{sell,pid_self}"]; - n_6 -> n_15 [id="[$e|48]", label="agent/2.1→main/0.0:{sell,pid_self}"]; - n_16 -> n_9 [id="[$e|28]", label="main/0.0→agent/2.0:{booked,3}"]; - n_29 -> n_25 [id="[$e|27]", label="main/0.0→agent/2.1:{booked,3}"]; + n_9 -> n_8 [id="[$e|44]", label="agent/2.0→main/0.0:{numOfSeats,pid_self}"]; n_22 -> n_10 [id="[$e|21]", label="main/0.0→agent/2.1:{seats,3}"]; - n_14 -> n_1 [id="[$e|51]", label="main/0.0→agent/2.1:{booked,3}"]; - n_25 -> n_32 [id="[$e|43]", label="agent/2.1→main/0.0:{numOfSeats,pid_self}"]; + n_27 -> n_4 [id="[$e|40]", label="main/0.0→agent/2.0:{seats,3}"]; + n_5 -> n_3 [id="[$e|14]", label="agent/2.0→main/0.0:{numOfSeats,pid_self}"]; + n_23 -> n_4 [id="[$e|32]", label="main/0.0→agent/2.0:{seats,3}"]; + n_29 -> n_25 [id="[$e|27]", label="main/0.0→agent/2.1:{booked,3}"]; + n_26 -> n_21 [id="[$e|1]", label="main/0.0Δagent/2.1 args [2,pid_self]"]; + n_13 -> n_29 [id="[$e|58]", label="agent/2.1→main/0.0:{sell,pid_self}"]; n_20 -> n_24 [id="[$e|66]", label="agent/2.1→main/0.0:{numOfSeats,pid_self}"]; - n_3 -> n_23 [id="[$e|24]", label="agent/2.1→main/0.0:{sell,pid_self}"]; - n_12 -> n_22 [id="[$e|10]", label="agent/2.1→main/0.0:{numOfSeats,pid_self}"]; + n_21 -> n_32 [id="[$e|3]", label="agent/2.1→main/0.0:{numOfSeats,pid_self}"]; + n_19 -> n_30 [id="[$e|8]", label="main/0.0→agent/2.0:{seats,3}"]; + n_14 -> n_1 [id="[$e|51]", label="main/0.0→agent/2.1:{booked,3}"]; n_1 -> n_22 [id="[$e|63]", label="agent/2.1→main/0.0:{numOfSeats,pid_self}"]; - n_10 -> n_6 [id="[$e|30]", label="agent/2.0→main/0.0:{sell,pid_self}"]; + n_6 -> n_15 [id="[$e|48]", label="agent/2.1→main/0.0:{sell,pid_self}"]; + n_22 -> n_16 [id="[$e|20]", label="agent/2.0→main/0.0:{sell,pid_self}"]; + n_19 -> n_28 [id="[$e|9]", label="main/0.0→agent/2.1:{seats,3}"]; n_16 -> n_7 [id="[$e|29]", label="main/0.0→agent/2.1:{seats,3}"]; - n_28 -> n_17 [id="[$e|19]", label="main/0.0→agent/2.0:{seats,3}"]; - n_13 -> n_3 [id="[$e|59]", label="agent/2.0→main/0.0:{numOfSeats,pid_self}"]; n_20 -> n_33 [id="[$e|67]", label="main/0.0→agent/2.0:{booked,3}"]; - n_27 -> n_35 [id="[$e|41]", label="main/0.0→agent/2.1:{booked,3}"]; - n_18 -> n_12 [id="[$e|5]", label="main/0.0→agent/2.0:{seats,3}"]; - n_1 -> n_31 [id="[$e|62]", label="agent/2.0→main/0.0:{sell,pid_self}"]; - n_32 -> n_8 [id="[$e|6]", label="agent/2.0→main/0.0:{numOfSeats,pid_self}"]; - n_30 -> n_10 [id="[$e|17]", label="main/0.0→agent/2.1:{seats,3}"]; - n_9 -> n_8 [id="[$e|44]", label="agent/2.0→main/0.0:{numOfSeats,pid_self}"]; - n_17 -> n_6 [id="[$e|35]", label="agent/2.0→main/0.0:{sell,pid_self}"]; n_9 -> n_5 [id="[$e|45]", label="main/0.0→agent/2.1:{seats,3}"]; - n_27 -> n_4 [id="[$e|40]", label="main/0.0→agent/2.0:{seats,3}"]; + n_8 -> n_30 [id="[$e|12]", label="main/0.0→agent/2.0:{seats,3}"]; + n_1 -> n_31 [id="[$e|62]", label="agent/2.0→main/0.0:{sell,pid_self}"]; + n_21 -> n_18 [id="[$e|2]", label="agent/2.0→main/0.0:{numOfSeats,pid_self}"]; + n_8 -> n_28 [id="[$e|13]", label="main/0.0→agent/2.1:{seats,3}"]; + n_16 -> n_9 [id="[$e|28]", label="main/0.0→agent/2.0:{booked,3}"]; n_7 -> n_13 [id="[$e|47]", label="main/0.0→agent/2.0:{booked,3}"]; - n_12 -> n_31 [id="[$e|11]", label="agent/2.0→main/0.0:{sell,pid_self}"]; - n_6 -> n_13 [id="[$e|49]", label="main/0.0→agent/2.0:{booked,3}"]; - n_32 -> n_5 [id="[$e|7]", label="main/0.0→agent/2.1:{seats,3}"]; - n_7 -> n_15 [id="[$e|46]", label="agent/2.1→main/0.0:{sell,pid_self}"]; - n_28 -> n_23 [id="[$e|18]", label="agent/2.1→main/0.0:{sell,pid_self}"]; - n_31 -> n_33 [id="[$e|23]", label="main/0.0→agent/2.0:{booked,3}"]; - n_19 -> n_30 [id="[$e|8]", label="main/0.0→agent/2.0:{seats,3}"]; - n_2 -> n_27 [id="[$e|64]", label="agent/2.0→main/0.0:{numOfSeats,pid_self}"]; + n_3 -> n_17 [id="[$e|25]", label="main/0.0→agent/2.0:{seats,3}"]; + n_17 -> n_6 [id="[$e|35]", label="agent/2.0→main/0.0:{sell,pid_self}"]; + n_5 -> n_29 [id="[$e|15]", label="agent/2.1→main/0.0:{sell,pid_self}"]; n_25 -> n_18 [id="[$e|42]", label="agent/2.0→main/0.0:{numOfSeats,pid_self}"]; + n_27 -> n_35 [id="[$e|41]", label="main/0.0→agent/2.1:{booked,3}"]; + n_30 -> n_16 [id="[$e|16]", label="agent/2.0→main/0.0:{sell,pid_self}"]; + n_28 -> n_17 [id="[$e|19]", label="main/0.0→agent/2.0:{seats,3}"]; + n_2 -> n_27 [id="[$e|64]", label="agent/2.0→main/0.0:{numOfSeats,pid_self}"]; n_4 -> n_1 [id="[$e|53]", label="main/0.0→agent/2.1:{booked,3}"]; - n_34 -> n_20 [id="[$e|61]", label="main/0.0→agent/2.1:{booked,3}"]; - n_22 -> n_16 [id="[$e|20]", label="agent/2.0→main/0.0:{sell,pid_self}"]; + n_11 -> n_26 [id="[$e|0]", label="main/0.0Δagent/2.0 args [1,pid_self]"]; + n_3 -> n_23 [id="[$e|24]", label="agent/2.1→main/0.0:{sell,pid_self}"]; n_15 -> n_2 [id="[$e|56]", label="main/0.0→agent/2.0:{booked,3}"]; - n_24 -> n_7 [id="[$e|37]", label="main/0.0→agent/2.1:{seats,3}"]; - n_23 -> n_4 [id="[$e|32]", label="main/0.0→agent/2.0:{seats,3}"]; - n_15 -> n_20 [id="[$e|57]", label="main/0.0→agent/2.1:{booked,3}"]; + n_30 -> n_10 [id="[$e|17]", label="main/0.0→agent/2.1:{seats,3}"]; + n_10 -> n_6 [id="[$e|30]", label="agent/2.0→main/0.0:{sell,pid_self}"]; + n_17 -> n_14 [id="[$e|34]", label="agent/2.1→main/0.0:{sell,pid_self}"]; + n_31 -> n_33 [id="[$e|23]", label="main/0.0→agent/2.0:{booked,3}"]; + n_34 -> n_20 [id="[$e|61]", label="main/0.0→agent/2.1:{booked,3}"]; + n_33 -> n_18 [id="[$e|39]", label="agent/2.0→main/0.0:{numOfSeats,pid_self}"]; + n_14 -> n_34 [id="[$e|50]", label="agent/2.0→main/0.0:{sell,pid_self}"]; n_23 -> n_35 [id="[$e|33]", label="main/0.0→agent/2.1:{booked,3}"]; - n_8 -> n_30 [id="[$e|12]", label="main/0.0→agent/2.0:{seats,3}"]; - n_11 -> n_26 [id="[$e|0]", label="main/0.0Δagent/2.0 args [1,pid_self]"]; - n_21 -> n_32 [id="[$e|3]", label="agent/2.1→main/0.0:{numOfSeats,pid_self}"]; - n_2 -> n_25 [id="[$e|65]", label="main/0.0→agent/2.1:{booked,3}"]; - n_31 -> n_24 [id="[$e|22]", label="agent/2.1→main/0.0:{numOfSeats,pid_self}"]; - n_30 -> n_16 [id="[$e|16]", label="agent/2.0→main/0.0:{sell,pid_self}"]; n_34 -> n_2 [id="[$e|60]", label="main/0.0→agent/2.0:{booked,3}"]; - n_17 -> n_14 [id="[$e|34]", label="agent/2.1→main/0.0:{sell,pid_self}"]; - n_3 -> n_17 [id="[$e|25]", label="main/0.0→agent/2.0:{seats,3}"]; - n_13 -> n_29 [id="[$e|58]", label="agent/2.1→main/0.0:{sell,pid_self}"]; - n_24 -> n_9 [id="[$e|36]", label="main/0.0→agent/2.0:{booked,3}"]; - n_26 -> n_21 [id="[$e|1]", label="main/0.0Δagent/2.1 args [2,pid_self]"]; - n_21 -> n_18 [id="[$e|2]", label="agent/2.0→main/0.0:{numOfSeats,pid_self}"]; - n_33 -> n_32 [id="[$e|38]", label="agent/2.1→main/0.0:{numOfSeats,pid_self}"]; - n_10 -> n_14 [id="[$e|31]", label="agent/2.1→main/0.0:{sell,pid_self}"]; + n_24 -> n_7 [id="[$e|37]", label="main/0.0→agent/2.1:{seats,3}"]; } diff --git a/examples/cauder_suite/airline/main_0_local_view.dot b/examples/cauder_suite/airline/main_0_local_view.dot index d2d567b..c1a7968 100644 --- a/examples/cauder_suite/airline/main_0_local_view.dot +++ b/examples/cauder_suite/airline/main_0_local_view.dot @@ -9,11 +9,11 @@ digraph main_0 { n_5 [id="2", shape=circle, label="3"]; n_6 [id="5", shape=circle, label="5"]; - n_4 -> n_5 [id="[$e|13]", label="Pid ! {seats,3}"]; - n_6 -> n_5 [id="[$e|9]", label="Pid ! {booked,3}"]; - n_3 -> n_5 [id="[$e|14]", label="spawn agent/2.1 args [2,pid_self]"]; n_2 -> n_3 [id="[$e|5]", label="spawn agent/2.0 args [1,pid_self]"]; + n_3 -> n_5 [id="[$e|14]", label="spawn agent/2.1 args [2,pid_self]"]; n_5 -> n_4 [id="[$e|8]", label="0#receive {numOfSeats,Pid}"]; + n_6 -> n_5 [id="[$e|9]", label="Pid ! {booked,3}"]; n_5 -> n_1 [id="[$e|12]", label="2#receive stop"]; n_5 -> n_6 [id="[$e|2]", label="1#receive {sell,Pid}"]; + n_4 -> n_5 [id="[$e|13]", label="Pid ! {seats,3}"]; } diff --git a/examples/cauder_suite/airline/output.csv b/examples/cauder_suite/airline/output.csv new file mode 100644 index 0000000..d4c0e72 --- /dev/null +++ b/examples/cauder_suite/airline/output.csv @@ -0,0 +1,9 @@ +line,33 +lv_main/0_nodes,6 +lv_main/0_edges,7 +lv_agent/2_nodes,6 +lv_agent/2_edges,6 +lv_seats/1_nodes,4 +lv_seats/1_edges,5 +gv_nodes,18 +gv_edges,34 diff --git a/examples/cauder_suite/meViolation/incrementer_2_local_view.dot b/examples/cauder_suite/meViolation/incrementer_2_local_view.dot index 48d401e..e36f910 100644 --- a/examples/cauder_suite/meViolation/incrementer_2_local_view.dot +++ b/examples/cauder_suite/meViolation/incrementer_2_local_view.dot @@ -10,10 +10,10 @@ digraph incrementer_2 { n_6 [id="2", shape=circle, label="2"]; n_7 [id="5", shape=doublecircle, label="7"]; + n_4 -> n_3 [id="[$e|5]", label="XPid ! {write,any}"]; + n_2 -> n_5 [id="[$e|3]", label="XPid ! {read,pid_self}"]; n_3 -> n_7 [id="[$e|0]", label="MePid ! {release}"]; n_5 -> n_4 [id="[$e|4]", label="0#receive X"]; n_6 -> n_2 [id="[$e|2]", label="0#receive answer"]; - n_2 -> n_5 [id="[$e|3]", label="XPid ! {read,pid_self}"]; n_1 -> n_6 [id="[$e|1]", label="MePid ! {request,pid_self}"]; - n_4 -> n_3 [id="[$e|5]", label="XPid ! {write,any}"]; } diff --git a/examples/cauder_suite/meViolation/main_0_global_view.dot b/examples/cauder_suite/meViolation/main_0_global_view.dot index 08b02da..5857f95 100644 --- a/examples/cauder_suite/meViolation/main_0_global_view.dot +++ b/examples/cauder_suite/meViolation/main_0_global_view.dot @@ -66,86 +66,86 @@ digraph global { n_62 [id="56", shape=circle, label="56"]; n_63 [id="29", shape=circle, label="29"]; - n_19 -> n_43 [id="[$e|0]", label="main/0.0ΔmeManager/0.0 args nil"]; - n_52 -> n_32 [id="[$e|4]", label="incrementer/2.0→meManager/0.0:{request,pid_self}"]; - n_10 -> n_37 [id="[$e|52]", label="varManager/1.0→incrementer/2.0:Val"]; + n_11 -> n_60 [id="[$e|32]", label="incrementer/2.1→varManager/1.0:{read,pid_self}"]; + n_9 -> n_27 [id="[$e|33]", label="meManager/0.0→incrementer/2.1:answer"]; + n_37 -> n_53 [id="[$e|65]", label="incrementer/2.0→varManager/1.0:{write,any}"]; + n_39 -> n_11 [id="[$e|23]", label="meManager/0.0→incrementer/2.1:answer"]; + n_21 -> n_42 [id="[$e|63]", label="incrementer/2.0→varManager/1.0:{write,any}"]; + n_52 -> n_20 [id="[$e|5]", label="incrementer/2.1→meManager/0.0:{request,pid_self}"]; + n_45 -> n_50 [id="[$e|11]", label="varManager/1.0→incrementer/2.1:Val"]; + n_21 -> n_51 [id="[$e|62]", label="incrementer/2.1→meManager/0.0:{release}"]; n_36 -> n_47 [id="[$e|13]", label="incrementer/2.0→varManager/1.0:{write,any}"]; - n_24 -> n_29 [id="[$e|39]", label="incrementer/2.1→varManager/1.0:{read,pid_self}"]; - n_35 -> n_31 [id="[$e|2]", label="main/0.0Δincrementer/2.0 args [meManager/0.0,varManager/1.0]"]; + n_57 -> n_25 [id="[$e|26]", label="incrementer/2.1→varManager/1.0:{write,any}"]; n_4 -> n_1 [id="[$e|43]", label="incrementer/2.0→varManager/1.0:{read,pid_self}"]; - n_57 -> n_7 [id="[$e|27]", label="meManager/0.0→incrementer/2.0:answer"]; - n_9 -> n_27 [id="[$e|33]", label="meManager/0.0→incrementer/2.1:answer"]; - n_3 -> n_22 [id="[$e|53]", label="incrementer/2.0→meManager/0.0:{release}"]; - n_56 -> n_38 [id="[$e|60]", label="incrementer/2.1→meManager/0.0:{release}"]; + n_20 -> n_8 [id="[$e|7]", label="meManager/0.0→incrementer/2.1:answer"]; + n_50 -> n_18 [id="[$e|15]", label="incrementer/2.1→varManager/1.0:{write,any}"]; + n_31 -> n_52 [id="[$e|3]", label="main/0.0Δincrementer/2.1 args [meManager/0.0,varManager/1.0]"]; + n_12 -> n_59 [id="[$e|48]", label="incrementer/2.1→meManager/0.0:{release}"]; + n_55 -> n_34 [id="[$e|71]", label="incrementer/2.1→varManager/1.0:{write,any}"]; + n_48 -> n_36 [id="[$e|10]", label="varManager/1.0→incrementer/2.0:Val"]; + n_51 -> n_26 [id="[$e|76]", label="incrementer/2.0→varManager/1.0:{write,any}"]; + n_16 -> n_27 [id="[$e|30]", label="meManager/0.0→incrementer/2.1:answer"]; + n_33 -> n_3 [id="[$e|45]", label="varManager/1.0→incrementer/2.0:Val"]; + n_32 -> n_14 [id="[$e|6]", label="meManager/0.0→incrementer/2.0:answer"]; n_1 -> n_37 [id="[$e|51]", label="varManager/1.0→incrementer/2.0:Val"]; + n_25 -> n_2 [id="[$e|34]", label="meManager/0.0→incrementer/2.0:answer"]; + n_19 -> n_43 [id="[$e|0]", label="main/0.0ΔmeManager/0.0 args nil"]; + n_5 -> n_61 [id="[$e|73]", label="incrementer/2.1→meManager/0.0:{release}"]; + n_58 -> n_26 [id="[$e|75]", label="incrementer/2.0→varManager/1.0:{write,any}"]; + n_56 -> n_38 [id="[$e|60]", label="incrementer/2.1→meManager/0.0:{release}"]; + n_29 -> n_49 [id="[$e|46]", label="varManager/1.0→incrementer/2.1:Val"]; + n_23 -> n_62 [id="[$e|68]", label="incrementer/2.0→meManager/0.0:{release}"]; + n_37 -> n_62 [id="[$e|64]", label="incrementer/2.0→meManager/0.0:{release}"]; + n_49 -> n_5 [id="[$e|57]", label="incrementer/2.1→varManager/1.0:{write,any}"]; + n_53 -> n_13 [id="[$e|79]", label="incrementer/2.0→meManager/0.0:{release}"]; + n_3 -> n_55 [id="[$e|55]", label="incrementer/2.0→varManager/1.0:{write,any}"]; + n_22 -> n_58 [id="[$e|66]", label="incrementer/2.1→varManager/1.0:{write,any}"]; + n_28 -> n_44 [id="[$e|20]", label="incrementer/2.1→varManager/1.0:{write,any}"]; n_6 -> n_39 [id="[$e|16]", label="incrementer/2.1→meManager/0.0:{request,pid_self}"]; - n_30 -> n_9 [id="[$e|24]", label="incrementer/2.1→meManager/0.0:{request,pid_self}"]; + n_6 -> n_30 [id="[$e|17]", label="incrementer/2.0→varManager/1.0:{write,any}"]; + n_17 -> n_46 [id="[$e|74]", label="incrementer/2.1→varManager/1.0:{write,any}"]; + n_54 -> n_46 [id="[$e|80]", label="incrementer/2.1→varManager/1.0:{write,any}"]; + n_40 -> n_9 [id="[$e|25]", label="incrementer/2.1→meManager/0.0:{request,pid_self}"]; + n_7 -> n_4 [id="[$e|35]", label="incrementer/2.1→varManager/1.0:{write,any}"]; + n_18 -> n_41 [id="[$e|21]", label="incrementer/2.1→meManager/0.0:{release}"]; + n_3 -> n_23 [id="[$e|54]", label="incrementer/2.1→varManager/1.0:{write,any}"]; + n_52 -> n_32 [id="[$e|4]", label="incrementer/2.0→meManager/0.0:{request,pid_self}"]; n_39 -> n_16 [id="[$e|22]", label="incrementer/2.0→varManager/1.0:{write,any}"]; - n_53 -> n_13 [id="[$e|79]", label="incrementer/2.0→meManager/0.0:{release}"]; - n_29 -> n_49 [id="[$e|46]", label="varManager/1.0→incrementer/2.1:Val"]; - n_28 -> n_57 [id="[$e|19]", label="incrementer/2.0→meManager/0.0:{request,pid_self}"]; n_50 -> n_28 [id="[$e|14]", label="incrementer/2.1→meManager/0.0:{release}"]; - n_54 -> n_46 [id="[$e|80]", label="incrementer/2.1→varManager/1.0:{write,any}"]; + n_10 -> n_37 [id="[$e|52]", label="varManager/1.0→incrementer/2.0:Val"]; n_60 -> n_15 [id="[$e|40]", label="incrementer/2.0→varManager/1.0:{write,any}"]; - n_59 -> n_17 [id="[$e|58]", label="incrementer/2.0→varManager/1.0:{write,any}"]; - n_3 -> n_55 [id="[$e|55]", label="incrementer/2.0→varManager/1.0:{write,any}"]; - n_51 -> n_26 [id="[$e|76]", label="incrementer/2.0→varManager/1.0:{write,any}"]; - n_57 -> n_25 [id="[$e|26]", label="incrementer/2.1→varManager/1.0:{write,any}"]; - n_22 -> n_17 [id="[$e|67]", label="incrementer/2.0→varManager/1.0:{write,any}"]; - n_39 -> n_11 [id="[$e|23]", label="meManager/0.0→incrementer/2.1:answer"]; - n_21 -> n_51 [id="[$e|62]", label="incrementer/2.1→meManager/0.0:{release}"]; - n_23 -> n_62 [id="[$e|68]", label="incrementer/2.0→meManager/0.0:{release}"]; - n_45 -> n_50 [id="[$e|11]", label="varManager/1.0→incrementer/2.1:Val"]; + n_3 -> n_22 [id="[$e|53]", label="incrementer/2.0→meManager/0.0:{release}"]; + n_27 -> n_29 [id="[$e|38]", label="incrementer/2.1→varManager/1.0:{read,pid_self}"]; + n_28 -> n_57 [id="[$e|19]", label="incrementer/2.0→meManager/0.0:{request,pid_self}"]; + n_47 -> n_40 [id="[$e|18]", label="incrementer/2.0→meManager/0.0:{release}"]; + n_55 -> n_54 [id="[$e|70]", label="incrementer/2.0→meManager/0.0:{release}"]; + n_12 -> n_21 [id="[$e|50]", label="incrementer/2.1→varManager/1.0:{write,any}"]; n_62 -> n_26 [id="[$e|78]", label="incrementer/2.0→varManager/1.0:{write,any}"]; - n_41 -> n_63 [id="[$e|29]", label="incrementer/2.0→meManager/0.0:{request,pid_self}"]; - n_25 -> n_2 [id="[$e|34]", label="meManager/0.0→incrementer/2.0:answer"]; - n_15 -> n_49 [id="[$e|47]", label="varManager/1.0→incrementer/2.1:Val"]; - n_28 -> n_44 [id="[$e|20]", label="incrementer/2.1→varManager/1.0:{write,any}"]; - n_55 -> n_34 [id="[$e|71]", label="incrementer/2.1→varManager/1.0:{write,any}"]; + n_57 -> n_7 [id="[$e|27]", label="meManager/0.0→incrementer/2.0:answer"]; + n_36 -> n_6 [id="[$e|12]", label="incrementer/2.0→meManager/0.0:{release}"]; + n_7 -> n_33 [id="[$e|36]", label="incrementer/2.0→varManager/1.0:{read,pid_self}"]; + n_44 -> n_63 [id="[$e|28]", label="incrementer/2.0→meManager/0.0:{request,pid_self}"]; n_12 -> n_56 [id="[$e|49]", label="incrementer/2.0→varManager/1.0:{write,any}"]; - n_17 -> n_46 [id="[$e|74]", label="incrementer/2.1→varManager/1.0:{write,any}"]; - n_23 -> n_53 [id="[$e|69]", label="incrementer/2.0→varManager/1.0:{write,any}"]; - n_22 -> n_58 [id="[$e|66]", label="incrementer/2.1→varManager/1.0:{write,any}"]; n_56 -> n_5 [id="[$e|61]", label="incrementer/2.1→varManager/1.0:{write,any}"]; - n_38 -> n_46 [id="[$e|72]", label="incrementer/2.1→varManager/1.0:{write,any}"]; - n_49 -> n_38 [id="[$e|56]", label="incrementer/2.1→meManager/0.0:{release}"]; - n_14 -> n_48 [id="[$e|8]", label="incrementer/2.0→varManager/1.0:{read,pid_self}"]; - n_55 -> n_54 [id="[$e|70]", label="incrementer/2.0→meManager/0.0:{release}"]; - n_16 -> n_27 [id="[$e|30]", label="meManager/0.0→incrementer/2.1:answer"]; - n_44 -> n_63 [id="[$e|28]", label="incrementer/2.0→meManager/0.0:{request,pid_self}"]; - n_8 -> n_45 [id="[$e|9]", label="incrementer/2.1→varManager/1.0:{read,pid_self}"]; - n_5 -> n_61 [id="[$e|73]", label="incrementer/2.1→meManager/0.0:{release}"]; - n_31 -> n_52 [id="[$e|3]", label="main/0.0Δincrementer/2.1 args [meManager/0.0,varManager/1.0]"]; - n_37 -> n_53 [id="[$e|65]", label="incrementer/2.0→varManager/1.0:{write,any}"]; - n_47 -> n_40 [id="[$e|18]", label="incrementer/2.0→meManager/0.0:{release}"]; n_42 -> n_61 [id="[$e|77]", label="incrementer/2.1→meManager/0.0:{release}"]; + n_23 -> n_53 [id="[$e|69]", label="incrementer/2.0→varManager/1.0:{write,any}"]; n_2 -> n_1 [id="[$e|42]", label="incrementer/2.0→varManager/1.0:{read,pid_self}"]; - n_27 -> n_29 [id="[$e|38]", label="incrementer/2.1→varManager/1.0:{read,pid_self}"]; - n_7 -> n_4 [id="[$e|35]", label="incrementer/2.1→varManager/1.0:{write,any}"]; + n_14 -> n_48 [id="[$e|8]", label="incrementer/2.0→varManager/1.0:{read,pid_self}"]; + n_11 -> n_24 [id="[$e|31]", label="incrementer/2.0→varManager/1.0:{write,any}"]; + n_59 -> n_58 [id="[$e|59]", label="incrementer/2.1→varManager/1.0:{write,any}"]; + n_59 -> n_17 [id="[$e|58]", label="incrementer/2.0→varManager/1.0:{write,any}"]; + n_63 -> n_2 [id="[$e|37]", label="meManager/0.0→incrementer/2.0:answer"]; + n_41 -> n_63 [id="[$e|29]", label="incrementer/2.0→meManager/0.0:{request,pid_self}"]; + n_35 -> n_31 [id="[$e|2]", label="main/0.0Δincrementer/2.0 args [meManager/0.0,varManager/1.0]"]; + n_15 -> n_49 [id="[$e|47]", label="varManager/1.0→incrementer/2.1:Val"]; + n_38 -> n_46 [id="[$e|72]", label="incrementer/2.1→varManager/1.0:{write,any}"]; n_43 -> n_35 [id="[$e|1]", label="main/0.0ΔvarManager/1.0 args [0]"]; - n_21 -> n_42 [id="[$e|63]", label="incrementer/2.0→varManager/1.0:{write,any}"]; - n_52 -> n_20 [id="[$e|5]", label="incrementer/2.1→meManager/0.0:{request,pid_self}"]; + n_24 -> n_29 [id="[$e|39]", label="incrementer/2.1→varManager/1.0:{read,pid_self}"]; n_33 -> n_10 [id="[$e|44]", label="incrementer/2.1→varManager/1.0:{write,any}"]; - n_50 -> n_18 [id="[$e|15]", label="incrementer/2.1→varManager/1.0:{write,any}"]; - n_48 -> n_36 [id="[$e|10]", label="varManager/1.0→incrementer/2.0:Val"]; - n_3 -> n_23 [id="[$e|54]", label="incrementer/2.1→varManager/1.0:{write,any}"]; - n_12 -> n_59 [id="[$e|48]", label="incrementer/2.1→meManager/0.0:{release}"]; - n_63 -> n_2 [id="[$e|37]", label="meManager/0.0→incrementer/2.0:answer"]; - n_58 -> n_26 [id="[$e|75]", label="incrementer/2.0→varManager/1.0:{write,any}"]; - n_20 -> n_8 [id="[$e|7]", label="meManager/0.0→incrementer/2.1:answer"]; - n_18 -> n_41 [id="[$e|21]", label="incrementer/2.1→meManager/0.0:{release}"]; - n_59 -> n_58 [id="[$e|59]", label="incrementer/2.1→varManager/1.0:{write,any}"]; - n_12 -> n_21 [id="[$e|50]", label="incrementer/2.1→varManager/1.0:{write,any}"]; - n_7 -> n_33 [id="[$e|36]", label="incrementer/2.0→varManager/1.0:{read,pid_self}"]; - n_6 -> n_30 [id="[$e|17]", label="incrementer/2.0→varManager/1.0:{write,any}"]; - n_11 -> n_60 [id="[$e|32]", label="incrementer/2.1→varManager/1.0:{read,pid_self}"]; - n_34 -> n_13 [id="[$e|81]", label="incrementer/2.0→meManager/0.0:{release}"]; - n_36 -> n_6 [id="[$e|12]", label="incrementer/2.0→meManager/0.0:{release}"]; n_60 -> n_12 [id="[$e|41]", label="varManager/1.0→incrementer/2.1:Val"]; - n_40 -> n_9 [id="[$e|25]", label="incrementer/2.1→meManager/0.0:{request,pid_self}"]; - n_49 -> n_5 [id="[$e|57]", label="incrementer/2.1→varManager/1.0:{write,any}"]; - n_33 -> n_3 [id="[$e|45]", label="varManager/1.0→incrementer/2.0:Val"]; - n_11 -> n_24 [id="[$e|31]", label="incrementer/2.0→varManager/1.0:{write,any}"]; - n_32 -> n_14 [id="[$e|6]", label="meManager/0.0→incrementer/2.0:answer"]; - n_37 -> n_62 [id="[$e|64]", label="incrementer/2.0→meManager/0.0:{release}"]; + n_8 -> n_45 [id="[$e|9]", label="incrementer/2.1→varManager/1.0:{read,pid_self}"]; + n_22 -> n_17 [id="[$e|67]", label="incrementer/2.0→varManager/1.0:{write,any}"]; + n_34 -> n_13 [id="[$e|81]", label="incrementer/2.0→meManager/0.0:{release}"]; + n_49 -> n_38 [id="[$e|56]", label="incrementer/2.1→meManager/0.0:{release}"]; + n_30 -> n_9 [id="[$e|24]", label="incrementer/2.1→meManager/0.0:{request,pid_self}"]; } diff --git a/examples/cauder_suite/meViolation/main_0_local_view.dot b/examples/cauder_suite/meViolation/main_0_local_view.dot index 00ce648..5f0e8fa 100644 --- a/examples/cauder_suite/meViolation/main_0_local_view.dot +++ b/examples/cauder_suite/meViolation/main_0_local_view.dot @@ -8,8 +8,8 @@ digraph main_0 { n_4 [id="2", shape=circle, label="2"]; n_5 [id="5", shape=circle, label="3"]; + n_1 -> n_4 [id="[$e|3]", label="spawn meManager/0.0 args nil"]; n_5 -> n_3 [id="[$e|0]", label="spawn incrementer/2.0 args [meManager/0.0,varManager/1.0]"]; n_4 -> n_5 [id="[$e|2]", label="spawn varManager/1.0 args [0]"]; - n_1 -> n_4 [id="[$e|3]", label="spawn meManager/0.0 args nil"]; n_3 -> n_2 [id="[$e|1]", label="spawn incrementer/2.1 args [meManager/0.0,varManager/1.0]"]; } diff --git a/examples/cauder_suite/meViolation/meManager_0_local_view.dot b/examples/cauder_suite/meViolation/meManager_0_local_view.dot index 92830e8..7a6a0dd 100644 --- a/examples/cauder_suite/meViolation/meManager_0_local_view.dot +++ b/examples/cauder_suite/meViolation/meManager_0_local_view.dot @@ -6,7 +6,7 @@ digraph meManager_0 { n_2 [id="3", shape=circle, label="3"]; n_3 [id="2", shape=circle, label="2"]; - n_2 -> n_1 [id="[$e|4]", label="0#receive {release}"]; n_3 -> n_2 [id="[$e|3]", label="Pid ! answer"]; + n_2 -> n_1 [id="[$e|4]", label="0#receive {release}"]; n_1 -> n_3 [id="[$e|1]", label="0#receive {request,Pid}"]; } diff --git a/examples/cauder_suite/meViolation/output.csv b/examples/cauder_suite/meViolation/output.csv new file mode 100644 index 0000000..1142672 --- /dev/null +++ b/examples/cauder_suite/meViolation/output.csv @@ -0,0 +1,11 @@ +line,40 +lv_main/0_nodes,5 +lv_main/0_edges,4 +lv_varManager/1_nodes,2 +lv_varManager/1_edges,3 +lv_meManager/0_nodes,3 +lv_meManager/0_edges,3 +lv_incrementer/2_nodes,7 +lv_incrementer/2_edges,6 +gv_nodes,38 +gv_edges,54 diff --git a/examples/cauder_suite/meViolation/varManager_1_local_view.dot b/examples/cauder_suite/meViolation/varManager_1_local_view.dot index 73ff81b..bcaf804 100644 --- a/examples/cauder_suite/meViolation/varManager_1_local_view.dot +++ b/examples/cauder_suite/meViolation/varManager_1_local_view.dot @@ -5,7 +5,7 @@ digraph varManager_1 { n_0 -> n_1 [arrowhead=none]; n_2 [id="4", shape=circle, label="2"]; + n_2 -> n_1 [id="[$e|10]", label="Pid ! Val"]; n_1 -> n_2 [id="[$e|2]", label="1#receive {read,Pid}"]; n_1 -> n_1 [id="[$e|9]", label="0#receive {write,NewVal}"]; - n_2 -> n_1 [id="[$e|10]", label="Pid ! Val"]; } diff --git a/examples/cauder_suite/purchase/asynchAnd_2_local_view.dot b/examples/cauder_suite/purchase/asynchAnd_2_local_view.dot index 772be31..f1a7131 100644 --- a/examples/cauder_suite/purchase/asynchAnd_2_local_view.dot +++ b/examples/cauder_suite/purchase/asynchAnd_2_local_view.dot @@ -6,8 +6,8 @@ digraph asynchAnd_2 { n_2 [id="3", shape=doublecircle, label="2"]; n_3 [id="2", shape=circle, label="3"]; + n_3 -> n_2 [id="[$e|9]", label="Out ! false"]; n_1 -> n_1 [id="[$e|7]", label="0#receive true"]; - n_1 -> n_2 [id="[$e|5]", label="Out ! true"]; n_1 -> n_3 [id="[$e|6]", label="1#receive false"]; - n_3 -> n_2 [id="[$e|9]", label="Out ! false"]; + n_1 -> n_2 [id="[$e|5]", label="Out ! true"]; } diff --git a/examples/cauder_suite/purchase/checkCredit_2_local_view.dot b/examples/cauder_suite/purchase/checkCredit_2_local_view.dot index 5064e25..ed56b3c 100644 --- a/examples/cauder_suite/purchase/checkCredit_2_local_view.dot +++ b/examples/cauder_suite/purchase/checkCredit_2_local_view.dot @@ -5,6 +5,6 @@ digraph checkCredit_2 { n_0 -> n_1 [arrowhead=none]; n_2 [id="2", shape=doublecircle, label="2"]; - n_1 -> n_2 [id="[$e|0]", label="Pid ! true"]; n_1 -> n_2 [id="[$e|2]", label="Pid ! false"]; + n_1 -> n_2 [id="[$e|0]", label="Pid ! true"]; } diff --git a/examples/cauder_suite/purchase/main_0_global_view.dot b/examples/cauder_suite/purchase/main_0_global_view.dot index cddd938..896783c 100644 --- a/examples/cauder_suite/purchase/main_0_global_view.dot +++ b/examples/cauder_suite/purchase/main_0_global_view.dot @@ -52,70 +52,70 @@ digraph global { n_48 [id="32", shape=circle, label="32"]; n_49 [id="29", shape=circle, label="29"]; - n_9 -> n_44 [id="[$e|63]", label="asynchAnd/2.0→main/0.0:true"]; - n_27 -> n_7 [id="[$e|7]", label="main/0.0ΔcheckItem/1.0 args [asynchAnd/2.0]"]; - n_35 -> n_18 [id="[$e|55]", label="asynchAnd/2.0→main/0.0:true"]; - n_5 -> n_6 [id="[$e|27]", label="checkItem/1.0→asynchAnd/2.0:true"]; - n_12 -> n_26 [id="[$e|18]", label="checkCredit/2.0→asynchAnd/2.0:true"]; + n_7 -> n_34 [id="[$e|19]", label="asynchAnd/2.0→main/0.0:true"]; + n_45 -> n_44 [id="[$e|65]", label="asynchAnd/2.0→main/0.0:true"]; + n_26 -> n_48 [id="[$e|37]", label="checkAddress/1.0→asynchAnd/2.0:true"]; + n_43 -> n_38 [id="[$e|9]", label="checkCredit/2.0→asynchAnd/2.0:false"]; n_3 -> n_44 [id="[$e|64]", label="asynchAnd/2.0→main/0.0:true"]; + n_24 -> n_23 [id="[$e|49]", label="asynchAnd/2.0→main/0.0:true"]; n_12 -> n_33 [id="[$e|17]", label="checkAddress/1.0→asynchAnd/2.0:true"]; + n_28 -> n_5 [id="[$e|13]", label="checkAddress/1.0→asynchAnd/2.0:true"]; + n_35 -> n_25 [id="[$e|40]", label="checkCredit/2.0→asynchAnd/2.0:false"]; + n_9 -> n_44 [id="[$e|63]", label="asynchAnd/2.0→main/0.0:true"]; + n_5 -> n_6 [id="[$e|27]", label="checkItem/1.0→asynchAnd/2.0:true"]; + n_10 -> n_25 [id="[$e|43]", label="checkCredit/2.0→asynchAnd/2.0:false"]; + n_49 -> n_20 [id="[$e|60]", label="asynchAnd/2.0→main/0.0:true"]; + n_33 -> n_41 [id="[$e|53]", label="asynchAnd/2.0→main/0.0:true"]; + n_35 -> n_18 [id="[$e|55]", label="asynchAnd/2.0→main/0.0:true"]; n_22 -> n_19 [id="[$e|58]", label="asynchAnd/2.0→main/0.0:true"]; + n_49 -> n_3 [id="[$e|48]", label="checkCredit/2.0→asynchAnd/2.0:true"]; + n_33 -> n_26 [id="[$e|35]", label="checkCredit/2.0→asynchAnd/2.0:true"]; n_5 -> n_1 [id="[$e|44]", label="asynchAnd/2.0→main/0.0:true"]; - n_7 -> n_40 [id="[$e|8]", label="asynchAnd/2.0→main/0.0:true"]; - n_15 -> n_48 [id="[$e|33]", label="checkAddress/1.0→asynchAnd/2.0:true"]; + n_38 -> n_46 [id="[$e|20]", label="asynchAnd/2.0→main/0.0:false"]; + n_14 -> n_11 [id="[$e|42]", label="asynchAnd/2.0→main/0.0:false"]; + n_42 -> n_13 [id="[$e|41]", label="asynchAnd/2.0→main/0.0:true"]; + n_43 -> n_31 [id="[$e|10]", label="checkAddress/1.0→asynchAnd/2.0:true"]; + n_5 -> n_22 [id="[$e|26]", label="checkCredit/2.0→asynchAnd/2.0:true"]; + n_24 -> n_15 [id="[$e|32]", label="checkItem/1.0→asynchAnd/2.0:true"]; + n_39 -> n_26 [id="[$e|28]", label="checkCredit/2.0→asynchAnd/2.0:true"]; + n_48 -> n_47 [id="[$e|62]", label="asynchAnd/2.0→main/0.0:true"]; n_39 -> n_41 [id="[$e|47]", label="asynchAnd/2.0→main/0.0:true"]; - n_17 -> n_24 [id="[$e|15]", label="checkAddress/1.0→asynchAnd/2.0:true"]; - n_33 -> n_49 [id="[$e|36]", label="checkAddress/1.0→asynchAnd/2.0:true"]; - n_10 -> n_25 [id="[$e|43]", label="checkCredit/2.0→asynchAnd/2.0:false"]; - n_21 -> n_19 [id="[$e|61]", label="asynchAnd/2.0→main/0.0:true"]; - n_10 -> n_18 [id="[$e|57]", label="asynchAnd/2.0→main/0.0:true"]; - n_39 -> n_49 [id="[$e|29]", label="checkAddress/1.0→asynchAnd/2.0:true"]; - n_24 -> n_23 [id="[$e|49]", label="asynchAnd/2.0→main/0.0:true"]; - n_21 -> n_9 [id="[$e|50]", label="checkItem/1.0→asynchAnd/2.0:true"]; - n_17 -> n_15 [id="[$e|16]", label="checkItem/1.0→asynchAnd/2.0:true"]; - n_49 -> n_3 [id="[$e|48]", label="checkCredit/2.0→asynchAnd/2.0:true"]; + n_37 -> n_29 [id="[$e|39]", label="asynchAnd/2.0→main/0.0:false"]; + n_48 -> n_45 [id="[$e|52]", label="checkAddress/1.0→asynchAnd/2.0:true"]; + n_12 -> n_2 [id="[$e|34]", label="asynchAnd/2.0→main/0.0:true"]; n_6 -> n_3 [id="[$e|46]", label="checkCredit/2.0→asynchAnd/2.0:true"]; - n_7 -> n_34 [id="[$e|19]", label="asynchAnd/2.0→main/0.0:true"]; - n_31 -> n_37 [id="[$e|21]", label="checkCredit/2.0→asynchAnd/2.0:false"]; + n_17 -> n_15 [id="[$e|16]", label="checkItem/1.0→asynchAnd/2.0:true"]; + n_31 -> n_4 [id="[$e|38]", label="asynchAnd/2.0→main/0.0:true"]; + n_21 -> n_19 [id="[$e|61]", label="asynchAnd/2.0→main/0.0:true"]; + n_42 -> n_14 [id="[$e|23]", label="checkCredit/2.0→asynchAnd/2.0:false"]; + n_30 -> n_27 [id="[$e|2]", label="main/0.0ΔcheckAddress/1.0 args [asynchAnd/2.0]"]; + n_12 -> n_26 [id="[$e|18]", label="checkCredit/2.0→asynchAnd/2.0:true"]; + n_24 -> n_21 [id="[$e|31]", label="checkAddress/1.0→asynchAnd/2.0:true"]; + n_27 -> n_7 [id="[$e|7]", label="main/0.0ΔcheckItem/1.0 args [asynchAnd/2.0]"]; + n_28 -> n_39 [id="[$e|14]", label="checkItem/1.0→asynchAnd/2.0:true"]; + n_16 -> n_36 [id="[$e|0]", label="main/0.0ΔasynchAnd/2.0 args [2,pid_self]"]; + n_43 -> n_12 [id="[$e|6]", label="checkItem/1.0→asynchAnd/2.0:true"]; n_43 -> n_17 [id="[$e|5]", label="checkCredit/2.0→asynchAnd/2.0:true"]; + n_28 -> n_8 [id="[$e|25]", label="asynchAnd/2.0→main/0.0:true"]; n_6 -> n_20 [id="[$e|59]", label="asynchAnd/2.0→main/0.0:true"]; - n_24 -> n_15 [id="[$e|32]", label="checkItem/1.0→asynchAnd/2.0:true"]; - n_43 -> n_12 [id="[$e|6]", label="checkItem/1.0→asynchAnd/2.0:true"]; - n_26 -> n_47 [id="[$e|54]", label="asynchAnd/2.0→main/0.0:true"]; - n_16 -> n_36 [id="[$e|0]", label="main/0.0ΔasynchAnd/2.0 args [2,pid_self]"]; - n_42 -> n_13 [id="[$e|41]", label="asynchAnd/2.0→main/0.0:true"]; + n_42 -> n_10 [id="[$e|24]", label="checkAddress/1.0→asynchAnd/2.0:true"]; + n_15 -> n_48 [id="[$e|33]", label="checkAddress/1.0→asynchAnd/2.0:true"]; n_15 -> n_47 [id="[$e|51]", label="asynchAnd/2.0→main/0.0:true"]; - n_17 -> n_23 [id="[$e|30]", label="asynchAnd/2.0→main/0.0:true"]; + n_26 -> n_47 [id="[$e|54]", label="asynchAnd/2.0→main/0.0:true"]; n_28 -> n_17 [id="[$e|12]", label="checkCredit/2.0→asynchAnd/2.0:true"]; - n_14 -> n_11 [id="[$e|42]", label="asynchAnd/2.0→main/0.0:false"]; - n_33 -> n_26 [id="[$e|35]", label="checkCredit/2.0→asynchAnd/2.0:true"]; - n_38 -> n_46 [id="[$e|20]", label="asynchAnd/2.0→main/0.0:false"]; - n_26 -> n_48 [id="[$e|37]", label="checkAddress/1.0→asynchAnd/2.0:true"]; - n_39 -> n_26 [id="[$e|28]", label="checkCredit/2.0→asynchAnd/2.0:true"]; - n_48 -> n_45 [id="[$e|52]", label="checkAddress/1.0→asynchAnd/2.0:true"]; - n_43 -> n_38 [id="[$e|9]", label="checkCredit/2.0→asynchAnd/2.0:false"]; - n_49 -> n_20 [id="[$e|60]", label="asynchAnd/2.0→main/0.0:true"]; - n_24 -> n_21 [id="[$e|31]", label="checkAddress/1.0→asynchAnd/2.0:true"]; - n_48 -> n_47 [id="[$e|62]", label="asynchAnd/2.0→main/0.0:true"]; + n_39 -> n_49 [id="[$e|29]", label="checkAddress/1.0→asynchAnd/2.0:true"]; + n_7 -> n_40 [id="[$e|8]", label="asynchAnd/2.0→main/0.0:true"]; + n_36 -> n_30 [id="[$e|1]", label="main/0.0ΔcheckCredit/2.0 args [15,asynchAnd/2.0]"]; + n_43 -> n_42 [id="[$e|11]", label="checkItem/1.0→asynchAnd/2.0:true"]; n_27 -> n_43 [id="[$e|3]", label="main/0.0ΔcheckItem/1.0 args [asynchAnd/2.0]"]; n_25 -> n_32 [id="[$e|56]", label="asynchAnd/2.0→main/0.0:false"]; - n_42 -> n_10 [id="[$e|24]", label="checkAddress/1.0→asynchAnd/2.0:true"]; + n_17 -> n_23 [id="[$e|30]", label="asynchAnd/2.0→main/0.0:true"]; + n_31 -> n_35 [id="[$e|22]", label="checkItem/1.0→asynchAnd/2.0:true"]; n_22 -> n_9 [id="[$e|45]", label="checkItem/1.0→asynchAnd/2.0:true"]; - n_28 -> n_5 [id="[$e|13]", label="checkAddress/1.0→asynchAnd/2.0:true"]; - n_30 -> n_27 [id="[$e|2]", label="main/0.0ΔcheckAddress/1.0 args [asynchAnd/2.0]"]; - n_36 -> n_30 [id="[$e|1]", label="main/0.0ΔcheckCredit/2.0 args [15,asynchAnd/2.0]"]; - n_28 -> n_39 [id="[$e|14]", label="checkItem/1.0→asynchAnd/2.0:true"]; - n_31 -> n_4 [id="[$e|38]", label="asynchAnd/2.0→main/0.0:true"]; - n_42 -> n_14 [id="[$e|23]", label="checkCredit/2.0→asynchAnd/2.0:false"]; - n_28 -> n_8 [id="[$e|25]", label="asynchAnd/2.0→main/0.0:true"]; - n_43 -> n_31 [id="[$e|10]", label="checkAddress/1.0→asynchAnd/2.0:true"]; - n_5 -> n_22 [id="[$e|26]", label="checkCredit/2.0→asynchAnd/2.0:true"]; + n_17 -> n_24 [id="[$e|15]", label="checkAddress/1.0→asynchAnd/2.0:true"]; + n_10 -> n_18 [id="[$e|57]", label="asynchAnd/2.0→main/0.0:true"]; + n_31 -> n_37 [id="[$e|21]", label="checkCredit/2.0→asynchAnd/2.0:false"]; + n_21 -> n_9 [id="[$e|50]", label="checkItem/1.0→asynchAnd/2.0:true"]; + n_33 -> n_49 [id="[$e|36]", label="checkAddress/1.0→asynchAnd/2.0:true"]; n_43 -> n_28 [id="[$e|4]", label="checkAddress/1.0→asynchAnd/2.0:true"]; - n_12 -> n_2 [id="[$e|34]", label="asynchAnd/2.0→main/0.0:true"]; - n_31 -> n_35 [id="[$e|22]", label="checkItem/1.0→asynchAnd/2.0:true"]; - n_37 -> n_29 [id="[$e|39]", label="asynchAnd/2.0→main/0.0:false"]; - n_43 -> n_42 [id="[$e|11]", label="checkItem/1.0→asynchAnd/2.0:true"]; - n_33 -> n_41 [id="[$e|53]", label="asynchAnd/2.0→main/0.0:true"]; - n_45 -> n_44 [id="[$e|65]", label="asynchAnd/2.0→main/0.0:true"]; - n_35 -> n_25 [id="[$e|40]", label="checkCredit/2.0→asynchAnd/2.0:false"]; } diff --git a/examples/cauder_suite/purchase/main_0_local_view.dot b/examples/cauder_suite/purchase/main_0_local_view.dot index 7cc147c..0592e30 100644 --- a/examples/cauder_suite/purchase/main_0_local_view.dot +++ b/examples/cauder_suite/purchase/main_0_local_view.dot @@ -9,10 +9,10 @@ digraph main_0 { n_5 [id="2", shape=circle, label="2"]; n_6 [id="5", shape=circle, label="5"]; - n_6 -> n_3 [id="[$e|5]", label="0#receive true"]; - n_6 -> n_3 [id="[$e|6]", label="1#receive false"]; + n_1 -> n_5 [id="[$e|2]", label="spawn asynchAnd/2.0 args [2,pid_self]"]; n_4 -> n_6 [id="[$e|0]", label="spawn checkItem/1.0 args [asynchAnd/2.0]"]; + n_6 -> n_3 [id="[$e|6]", label="1#receive false"]; + n_6 -> n_3 [id="[$e|5]", label="0#receive true"]; n_2 -> n_4 [id="[$e|3]", label="spawn checkAddress/1.0 args [asynchAnd/2.0]"]; - n_1 -> n_5 [id="[$e|2]", label="spawn asynchAnd/2.0 args [2,pid_self]"]; n_5 -> n_2 [id="[$e|4]", label="spawn checkCredit/2.0 args [15,asynchAnd/2.0]"]; } diff --git a/examples/cauder_suite/purchase/output.csv b/examples/cauder_suite/purchase/output.csv new file mode 100644 index 0000000..267c23a --- /dev/null +++ b/examples/cauder_suite/purchase/output.csv @@ -0,0 +1,13 @@ +line,47 +lv_main/0_nodes,6 +lv_main/0_edges,6 +lv_asynchAnd/2_nodes,3 +lv_asynchAnd/2_edges,4 +lv_checkItem/1_nodes,2 +lv_checkItem/1_edges,1 +lv_checkAddress/1_nodes,2 +lv_checkAddress/1_edges,1 +lv_checkCredit/2_nodes,2 +lv_checkCredit/2_edges,2 +gv_nodes,25 +gv_edges,44 diff --git a/examples/conditional-case/main_0_global_view.dot b/examples/conditional-case/main_0_global_view.dot index 141a815..7950109 100644 --- a/examples/conditional-case/main_0_global_view.dot +++ b/examples/conditional-case/main_0_global_view.dot @@ -28,28 +28,28 @@ digraph global { n_24 [id="5", shape=circle, label="5"]; n_25 [id="21", shape=circle, label="21", fillcolor="#FF0000FF", style=filled]; + n_2 -> n_23 [id="[$e|11]", label="main/0.0→dummy/1.0:'Ciao A'"]; n_12 -> n_1 [id="[$e|12]", label="main/0.0→dummy/1.1:'Ciao B'"]; - n_12 -> n_21 [id="[$e|13]", label="main/0.0→dummy/1.2:'Ciao C'"]; - n_8 -> n_10 [id="[$e|17]", label="main/0.0→dummy/1.3:'Ciao D'"]; - n_11 -> n_24 [id="[$e|3]", label="main/0.0Δdummy/1.3 args [pid_self]"]; - n_7 -> n_18 [id="[$e|0]", label="main/0.0Δdummy/1.0 args [pid_self]"]; - n_24 -> n_12 [id="[$e|4]", label="dummy/1.0→main/0.0:{pid_self,integer}"]; - n_2 -> n_3 [id="[$e|23]", label="main/0.0→dummy/1.3:'Ciao D'"]; - n_2 -> n_5 [id="[$e|22]", label="main/0.0→dummy/1.2:'Ciao C'"]; - n_13 -> n_11 [id="[$e|2]", label="main/0.0Δdummy/1.2 args [pid_self]"]; - n_8 -> n_20 [id="[$e|9]", label="main/0.0→dummy/1.0:'Ciao A'"]; - n_4 -> n_14 [id="[$e|10]", label="main/0.0→dummy/1.0:'Ciao A'"]; n_2 -> n_17 [id="[$e|21]", label="main/0.0→dummy/1.1:'Ciao B'"]; - n_24 -> n_8 [id="[$e|5]", label="dummy/1.1→main/0.0:{pid_self,integer}"]; - n_24 -> n_2 [id="[$e|7]", label="dummy/1.3→main/0.0:{pid_self,integer}"]; - n_2 -> n_23 [id="[$e|11]", label="main/0.0→dummy/1.0:'Ciao A'"]; - n_4 -> n_19 [id="[$e|20]", label="main/0.0→dummy/1.3:'Ciao D'"]; + n_24 -> n_4 [id="[$e|6]", label="dummy/1.2→main/0.0:{pid_self,integer}"]; + n_12 -> n_22 [id="[$e|8]", label="main/0.0→dummy/1.0:'Ciao A'"]; n_4 -> n_16 [id="[$e|18]", label="main/0.0→dummy/1.1:'Ciao B'"]; - n_8 -> n_6 [id="[$e|15]", label="main/0.0→dummy/1.1:'Ciao B'"]; + n_7 -> n_18 [id="[$e|0]", label="main/0.0Δdummy/1.0 args [pid_self]"]; + n_8 -> n_10 [id="[$e|17]", label="main/0.0→dummy/1.3:'Ciao D'"]; n_4 -> n_25 [id="[$e|19]", label="main/0.0→dummy/1.2:'Ciao C'"]; + n_8 -> n_20 [id="[$e|9]", label="main/0.0→dummy/1.0:'Ciao A'"]; n_12 -> n_9 [id="[$e|14]", label="main/0.0→dummy/1.3:'Ciao D'"]; - n_12 -> n_22 [id="[$e|8]", label="main/0.0→dummy/1.0:'Ciao A'"]; + n_24 -> n_12 [id="[$e|4]", label="dummy/1.0→main/0.0:{pid_self,integer}"]; + n_24 -> n_8 [id="[$e|5]", label="dummy/1.1→main/0.0:{pid_self,integer}"]; + n_2 -> n_3 [id="[$e|23]", label="main/0.0→dummy/1.3:'Ciao D'"]; n_18 -> n_13 [id="[$e|1]", label="main/0.0Δdummy/1.1 args [pid_self]"]; - n_24 -> n_4 [id="[$e|6]", label="dummy/1.2→main/0.0:{pid_self,integer}"]; + n_4 -> n_19 [id="[$e|20]", label="main/0.0→dummy/1.3:'Ciao D'"]; n_8 -> n_15 [id="[$e|16]", label="main/0.0→dummy/1.2:'Ciao C'"]; + n_4 -> n_14 [id="[$e|10]", label="main/0.0→dummy/1.0:'Ciao A'"]; + n_11 -> n_24 [id="[$e|3]", label="main/0.0Δdummy/1.3 args [pid_self]"]; + n_24 -> n_2 [id="[$e|7]", label="dummy/1.3→main/0.0:{pid_self,integer}"]; + n_12 -> n_21 [id="[$e|13]", label="main/0.0→dummy/1.2:'Ciao C'"]; + n_13 -> n_11 [id="[$e|2]", label="main/0.0Δdummy/1.2 args [pid_self]"]; + n_2 -> n_5 [id="[$e|22]", label="main/0.0→dummy/1.2:'Ciao C'"]; + n_8 -> n_6 [id="[$e|15]", label="main/0.0→dummy/1.1:'Ciao B'"]; } diff --git a/examples/conditional-case/main_0_local_view.dot b/examples/conditional-case/main_0_local_view.dot index 6deb6f1..fc12381 100644 --- a/examples/conditional-case/main_0_local_view.dot +++ b/examples/conditional-case/main_0_local_view.dot @@ -10,13 +10,13 @@ digraph main_0 { n_6 [id="10", shape=circle, label="3"]; n_7 [id="5", shape=circle, label="6"]; + n_7 -> n_4 [id="[$e|11]", label="dummy/1.3 ! 'Ciao D'"]; n_7 -> n_4 [id="[$e|12]", label="dummy/1.2 ! 'Ciao C'"]; - n_6 -> n_3 [id="[$e|3]", label="spawn dummy/1.2 args [pid_self]"]; n_5 -> n_6 [id="[$e|0]", label="spawn dummy/1.1 args [pid_self]"]; n_3 -> n_1 [id="[$e|4]", label="spawn dummy/1.3 args [pid_self]"]; - n_2 -> n_5 [id="[$e|2]", label="spawn dummy/1.0 args [pid_self]"]; - n_7 -> n_4 [id="[$e|10]", label="dummy/1.1 ! 'Ciao B'"]; n_7 -> n_4 [id="[$e|5]", label="dummy/1.0 ! 'Ciao A'"]; - n_7 -> n_4 [id="[$e|11]", label="dummy/1.3 ! 'Ciao D'"]; n_1 -> n_7 [id="[$e|1]", label="0#receive {Process,_}"]; + n_7 -> n_4 [id="[$e|10]", label="dummy/1.1 ! 'Ciao B'"]; + n_6 -> n_3 [id="[$e|3]", label="spawn dummy/1.2 args [pid_self]"]; + n_2 -> n_5 [id="[$e|2]", label="spawn dummy/1.0 args [pid_self]"]; } diff --git a/examples/conditional-case/output.csv b/examples/conditional-case/output.csv new file mode 100644 index 0000000..a91dd83 --- /dev/null +++ b/examples/conditional-case/output.csv @@ -0,0 +1,7 @@ +line,26 +lv_dummy/1_nodes,3 +lv_dummy/1_edges,2 +lv_main/0_nodes,7 +lv_main/0_edges,9 +gv_nodes,10 +gv_edges,15 diff --git a/examples/customer/customer_0_local_view.dot b/examples/customer/customer_0_local_view.dot index 7cc9571..9e2cad4 100644 --- a/examples/customer/customer_0_local_view.dot +++ b/examples/customer/customer_0_local_view.dot @@ -8,10 +8,10 @@ digraph customer_0 { n_4 [id="2", shape=circle, label="3"]; n_5 [id="5", shape=circle, label="2"]; - n_5 -> n_1 [id="[$e|9]", label="store/0.0 ! more"]; - n_4 -> n_3 [id="[$e|5]", label="store/0.0 ! payment"]; n_3 -> n_2 [id="[$e|6]", label="0#receive accepted"]; - n_3 -> n_4 [id="[$e|8]", label="1#receive reject"]; + n_4 -> n_3 [id="[$e|5]", label="store/0.0 ! payment"]; n_5 -> n_4 [id="[$e|1]", label="store/0.0 ! buy"]; + n_3 -> n_4 [id="[$e|8]", label="1#receive reject"]; + n_5 -> n_1 [id="[$e|9]", label="store/0.0 ! more"]; n_1 -> n_5 [id="[$e|2]", label="store/0.0 ! item"]; } diff --git a/examples/customer/main_0_global_view.dot b/examples/customer/main_0_global_view.dot index 292ac72..9b01f45 100644 --- a/examples/customer/main_0_global_view.dot +++ b/examples/customer/main_0_global_view.dot @@ -20,26 +20,26 @@ digraph global { n_16 [id="13", shape=circle, label="13"]; n_17 [id="5", shape=circle, label="5"]; - n_15 -> n_16 [id="[$e|13]", label="store/0.0→customer/0.0:reject"]; - n_11 -> n_1 [id="[$e|15]", label="store/0.0→customer/0.0:reject"]; + n_17 -> n_2 [id="[$e|7]", label="customer/0.0→store/0.0:buy"]; + n_6 -> n_7 [id="[$e|18]", label="customer/0.0→store/0.0:more"]; n_8 -> n_9 [id="[$e|4]", label="customer/0.0→store/0.0:buy"]; - n_6 -> n_13 [id="[$e|9]", label="customer/0.0→store/0.0:more"]; - n_13 -> n_17 [id="[$e|14]", label="customer/0.0→store/0.0:item"]; - n_7 -> n_17 [id="[$e|21]", label="customer/0.0→store/0.0:item"]; - n_6 -> n_2 [id="[$e|10]", label="customer/0.0→store/0.0:buy"]; - n_11 -> n_4 [id="[$e|19]", label="store/0.0→customer/0.0:accepted"]; - n_10 -> n_6 [id="[$e|5]", label="customer/0.0→store/0.0:item"]; n_17 -> n_3 [id="[$e|6]", label="customer/0.0→store/0.0:more"]; - n_16 -> n_15 [id="[$e|17]", label="customer/0.0→store/0.0:payment"]; n_3 -> n_8 [id="[$e|11]", label="customer/0.0→store/0.0:item"]; - n_17 -> n_2 [id="[$e|7]", label="customer/0.0→store/0.0:buy"]; - n_6 -> n_7 [id="[$e|18]", label="customer/0.0→store/0.0:more"]; + n_6 -> n_2 [id="[$e|10]", label="customer/0.0→store/0.0:buy"]; + n_10 -> n_6 [id="[$e|5]", label="customer/0.0→store/0.0:item"]; + n_7 -> n_17 [id="[$e|21]", label="customer/0.0→store/0.0:item"]; + n_13 -> n_17 [id="[$e|14]", label="customer/0.0→store/0.0:item"]; + n_12 -> n_10 [id="[$e|1]", label="main/0.0Δcustomer/0.0 args nil"]; + n_10 -> n_17 [id="[$e|3]", label="customer/0.0→store/0.0:item"]; n_9 -> n_15 [id="[$e|8]", label="customer/0.0→store/0.0:payment"]; n_1 -> n_11 [id="[$e|20]", label="customer/0.0→store/0.0:payment"]; + n_6 -> n_13 [id="[$e|9]", label="customer/0.0→store/0.0:more"]; n_2 -> n_11 [id="[$e|12]", label="customer/0.0→store/0.0:payment"]; - n_5 -> n_12 [id="[$e|0]", label="main/0.0Δstore/0.0 args nil"]; - n_10 -> n_17 [id="[$e|3]", label="customer/0.0→store/0.0:item"]; - n_15 -> n_14 [id="[$e|16]", label="store/0.0→customer/0.0:accepted"]; - n_12 -> n_10 [id="[$e|1]", label="main/0.0Δcustomer/0.0 args nil"]; n_10 -> n_8 [id="[$e|2]", label="customer/0.0→store/0.0:item"]; + n_15 -> n_16 [id="[$e|13]", label="store/0.0→customer/0.0:reject"]; + n_11 -> n_1 [id="[$e|15]", label="store/0.0→customer/0.0:reject"]; + n_15 -> n_14 [id="[$e|16]", label="store/0.0→customer/0.0:accepted"]; + n_11 -> n_4 [id="[$e|19]", label="store/0.0→customer/0.0:accepted"]; + n_5 -> n_12 [id="[$e|0]", label="main/0.0Δstore/0.0 args nil"]; + n_16 -> n_15 [id="[$e|17]", label="customer/0.0→store/0.0:payment"]; } diff --git a/examples/customer/main_0_local_view.dot b/examples/customer/main_0_local_view.dot index d71f97f..52ec045 100644 --- a/examples/customer/main_0_local_view.dot +++ b/examples/customer/main_0_local_view.dot @@ -6,6 +6,6 @@ digraph main_0 { n_2 [id="3", shape=doublecircle, label="3"]; n_3 [id="2", shape=circle, label="2"]; - n_3 -> n_2 [id="[$e|0]", label="spawn customer/0.0 args nil"]; n_1 -> n_3 [id="[$e|1]", label="spawn store/0.0 args nil"]; + n_3 -> n_2 [id="[$e|0]", label="spawn customer/0.0 args nil"]; } diff --git a/examples/customer/output.csv b/examples/customer/output.csv new file mode 100644 index 0000000..330d75a --- /dev/null +++ b/examples/customer/output.csv @@ -0,0 +1,13 @@ +line,54 +lv_customer/0_nodes,5 +lv_customer/0_edges,6 +lv_main/0_nodes,3 +lv_main/0_edges,2 +lv_store/0_nodes,5 +lv_store/0_edges,6 +lv_purchase/0_nodes,3 +lv_purchase/0_edges,3 +lv_payment/0_nodes,3 +lv_payment/0_edges,3 +gv_nodes,12 +gv_edges,16 diff --git a/examples/customer/store_0_local_view.dot b/examples/customer/store_0_local_view.dot index fe05648..0ad518f 100644 --- a/examples/customer/store_0_local_view.dot +++ b/examples/customer/store_0_local_view.dot @@ -8,10 +8,10 @@ digraph store_0 { n_4 [id="3", shape=circle, label="3"]; n_5 [id="2", shape=doublecircle, label="5"]; - n_3 -> n_4 [id="[$e|9]", label="customer/0.0 ! reject"]; n_3 -> n_5 [id="[$e|6]", label="customer/0.0 ! accepted"]; + n_1 -> n_2 [id="[$e|1]", label="0#receive item"]; + n_4 -> n_3 [id="[$e|3]", label="0#receive payment"]; n_2 -> n_1 [id="[$e|8]", label="1#receive more"]; + n_3 -> n_4 [id="[$e|9]", label="customer/0.0 ! reject"]; n_2 -> n_4 [id="[$e|0]", label="0#receive buy"]; - n_4 -> n_3 [id="[$e|3]", label="0#receive payment"]; - n_1 -> n_2 [id="[$e|1]", label="0#receive item"]; } diff --git a/examples/dining/fork_0_local_view.dot b/examples/dining/fork_0_local_view.dot index 0d0fe3e..f55e0e2 100644 --- a/examples/dining/fork_0_local_view.dot +++ b/examples/dining/fork_0_local_view.dot @@ -6,7 +6,7 @@ digraph fork_0 { n_2 [id="4", shape=circle, label="3"]; n_3 [id="2", shape=circle, label="2"]; - n_3 -> n_2 [id="[$e|0]", label="P ! ok"]; n_1 -> n_3 [id="[$e|2]", label="0#receive {P,req}"]; + n_3 -> n_2 [id="[$e|0]", label="P ! ok"]; n_2 -> n_1 [id="[$e|4]", label="0#receive {P,release}"]; } diff --git a/examples/dining/main_0_global_view.dot b/examples/dining/main_0_global_view.dot index ee328e4..9bce4e3 100644 --- a/examples/dining/main_0_global_view.dot +++ b/examples/dining/main_0_global_view.dot @@ -48,76 +48,76 @@ digraph global { n_44 [id="32", shape=circle, label="32"]; n_45 [id="29", shape=circle, label="29"]; - n_3 -> n_18 [id="[$e|63]", label="philo/2.1→fork/0.0:{pid_self,release}"]; - n_26 -> n_7 [id="[$e|7]", label="fork/0.0→philo/2.0:ok"]; - n_23 -> n_37 [id="[$e|55]", label="philo/2.0→fork/0.0:{pid_self,req}"]; - n_42 -> n_10 [id="[$e|27]", label="philo/2.1→fork/0.1:{pid_self,release}"]; - n_29 -> n_30 [id="[$e|18]", label="fork/0.1→philo/2.1:ok"]; + n_39 -> n_24 [id="[$e|19]", label="fork/0.0→philo/2.0:ok"]; + n_38 -> n_36 [id="[$e|65]", label="philo/2.0→fork/0.1:{pid_self,req}"]; + n_8 -> n_27 [id="[$e|37]", label="fork/0.0→philo/2.0:ok"]; + n_17 -> n_35 [id="[$e|9]", label="fork/0.1→philo/2.1:ok"]; n_38 -> n_5 [id="[$e|64]", label="philo/2.1→fork/0.1:{pid_self,req}"]; + n_44 -> n_17 [id="[$e|49]", label="philo/2.1→fork/0.1:{pid_self,req}"]; n_35 -> n_15 [id="[$e|17]", label="philo/2.1→fork/0.0:{pid_self,req}"]; + n_7 -> n_36 [id="[$e|13]", label="philo/2.0→fork/0.1:{pid_self,req}"]; + n_6 -> n_26 [id="[$e|40]", label="philo/2.0→fork/0.0:{pid_self,req}"]; + n_3 -> n_18 [id="[$e|63]", label="philo/2.1→fork/0.0:{pid_self,release}"]; + n_42 -> n_10 [id="[$e|27]", label="philo/2.1→fork/0.1:{pid_self,release}"]; + n_45 -> n_13 [id="[$e|43]", label="fork/0.1→philo/2.1:ok"]; + n_1 -> n_41 [id="[$e|60]", label="philo/2.1→fork/0.1:{pid_self,release}"]; + n_4 -> n_7 [id="[$e|53]", label="fork/0.0→philo/2.0:ok"]; + n_23 -> n_37 [id="[$e|55]", label="philo/2.0→fork/0.0:{pid_self,req}"]; n_11 -> n_12 [id="[$e|58]", label="philo/2.1→fork/0.1:{pid_self,req}"]; + n_44 -> n_26 [id="[$e|48]", label="philo/2.0→fork/0.0:{pid_self,req}"]; + n_10 -> n_2 [id="[$e|35]", label="philo/2.1→fork/0.1:{pid_self,req}"]; n_21 -> n_11 [id="[$e|44]", label="philo/2.1→fork/0.1:{pid_self,release}"]; - n_17 -> n_37 [id="[$e|8]", label="philo/2.0→fork/0.0:{pid_self,req}"]; - n_14 -> n_19 [id="[$e|33]", label="philo/2.1→fork/0.1:{pid_self,release}"]; + n_5 -> n_30 [id="[$e|20]", label="fork/0.1→philo/2.1:ok"]; + n_45 -> n_23 [id="[$e|42]", label="philo/2.0→fork/0.0:{pid_self,release}"]; + n_6 -> n_17 [id="[$e|41]", label="philo/2.1→fork/0.1:{pid_self,req}"]; + n_12 -> n_29 [id="[$e|10]", label="fork/0.0→philo/2.0:ok"]; + n_42 -> n_14 [id="[$e|26]", label="philo/2.1→fork/0.0:{pid_self,release}"]; + n_14 -> n_21 [id="[$e|32]", label="philo/2.0→fork/0.0:{pid_self,req}"]; + n_34 -> n_8 [id="[$e|28]", label="philo/2.0→fork/0.0:{pid_self,req}"]; + n_9 -> n_35 [id="[$e|62]", label="fork/0.1→philo/2.1:ok"]; n_19 -> n_17 [id="[$e|47]", label="philo/2.1→fork/0.1:{pid_self,req}"]; - n_37 -> n_39 [id="[$e|15]", label="fork/0.1→philo/2.1:ok"]; - n_8 -> n_4 [id="[$e|36]", label="philo/2.0→fork/0.1:{pid_self,release}"]; - n_41 -> n_36 [id="[$e|69]", label="philo/2.0→fork/0.1:{pid_self,req}"]; - n_41 -> n_5 [id="[$e|68]", label="philo/2.1→fork/0.1:{pid_self,req}"]; - n_45 -> n_13 [id="[$e|43]", label="fork/0.1→philo/2.1:ok"]; - n_9 -> n_37 [id="[$e|61]", label="philo/2.0→fork/0.0:{pid_self,req}"]; - n_43 -> n_15 [id="[$e|67]", label="philo/2.1→fork/0.0:{pid_self,req}"]; - n_13 -> n_43 [id="[$e|57]", label="philo/2.0→fork/0.0:{pid_self,release}"]; - n_34 -> n_20 [id="[$e|29]", label="philo/2.0→fork/0.1:{pid_self,release}"]; - n_18 -> n_15 [id="[$e|71]", label="philo/2.1→fork/0.0:{pid_self,req}"]; - n_44 -> n_17 [id="[$e|49]", label="philo/2.1→fork/0.1:{pid_self,req}"]; - n_2 -> n_9 [id="[$e|50]", label="philo/2.1→fork/0.0:{pid_self,release}"]; - n_35 -> n_22 [id="[$e|16]", label="philo/2.0→fork/0.0:{pid_self,req}"]; - n_44 -> n_26 [id="[$e|48]", label="philo/2.0→fork/0.0:{pid_self,req}"]; + n_20 -> n_17 [id="[$e|39]", label="philo/2.1→fork/0.1:{pid_self,req}"]; + n_43 -> n_22 [id="[$e|66]", label="philo/2.0→fork/0.0:{pid_self,req}"]; + n_4 -> n_12 [id="[$e|52]", label="philo/2.1→fork/0.1:{pid_self,req}"]; + n_10 -> n_44 [id="[$e|34]", label="philo/2.1→fork/0.0:{pid_self,release}"]; n_18 -> n_22 [id="[$e|70]", label="philo/2.0→fork/0.0:{pid_self,req}"]; n_19 -> n_26 [id="[$e|46]", label="philo/2.0→fork/0.0:{pid_self,req}"]; - n_39 -> n_24 [id="[$e|19]", label="fork/0.0→philo/2.0:ok"]; - n_36 -> n_31 [id="[$e|21]", label="fork/0.1→philo/2.0:ok"]; + n_35 -> n_22 [id="[$e|16]", label="philo/2.0→fork/0.0:{pid_self,req}"]; + n_41 -> n_36 [id="[$e|69]", label="philo/2.0→fork/0.1:{pid_self,req}"]; + n_20 -> n_26 [id="[$e|38]", label="philo/2.0→fork/0.0:{pid_self,req}"]; + n_9 -> n_37 [id="[$e|61]", label="philo/2.0→fork/0.0:{pid_self,req}"]; + n_15 -> n_42 [id="[$e|23]", label="fork/0.0→philo/2.1:ok"]; + n_28 -> n_25 [id="[$e|2]", label="main/0.0Δphilo/2.0 args [fork/0.0,fork/0.1]"]; + n_29 -> n_30 [id="[$e|18]", label="fork/0.1→philo/2.1:ok"]; + n_32 -> n_45 [id="[$e|31]", label="philo/2.1→fork/0.1:{pid_self,req}"]; + n_26 -> n_7 [id="[$e|7]", label="fork/0.0→philo/2.0:ok"]; + n_37 -> n_29 [id="[$e|14]", label="fork/0.0→philo/2.0:ok"]; + n_16 -> n_33 [id="[$e|0]", label="main/0.0Δfork/0.0 args nil"]; + n_26 -> n_12 [id="[$e|6]", label="philo/2.1→fork/0.1:{pid_self,req}"]; n_40 -> n_17 [id="[$e|5]", label="philo/2.1→fork/0.1:{pid_self,req}"]; + n_31 -> n_32 [id="[$e|25]", label="philo/2.0→fork/0.1:{pid_self,release}"]; n_11 -> n_7 [id="[$e|59]", label="fork/0.0→philo/2.0:ok"]; - n_14 -> n_21 [id="[$e|32]", label="philo/2.0→fork/0.0:{pid_self,req}"]; - n_26 -> n_12 [id="[$e|6]", label="philo/2.1→fork/0.1:{pid_self,req}"]; - n_27 -> n_38 [id="[$e|54]", label="philo/2.0→fork/0.1:{pid_self,release}"]; - n_16 -> n_33 [id="[$e|0]", label="main/0.0Δfork/0.0 args nil"]; - n_6 -> n_17 [id="[$e|41]", label="philo/2.1→fork/0.1:{pid_self,req}"]; + n_31 -> n_34 [id="[$e|24]", label="philo/2.0→fork/0.0:{pid_self,release}"]; + n_43 -> n_15 [id="[$e|67]", label="philo/2.1→fork/0.0:{pid_self,req}"]; + n_14 -> n_19 [id="[$e|33]", label="philo/2.1→fork/0.1:{pid_self,release}"]; + n_41 -> n_5 [id="[$e|68]", label="philo/2.1→fork/0.1:{pid_self,req}"]; n_2 -> n_3 [id="[$e|51]", label="fork/0.1→philo/2.1:ok"]; - n_32 -> n_6 [id="[$e|30]", label="philo/2.0→fork/0.0:{pid_self,release}"]; + n_27 -> n_38 [id="[$e|54]", label="philo/2.0→fork/0.1:{pid_self,release}"]; n_7 -> n_5 [id="[$e|12]", label="philo/2.1→fork/0.1:{pid_self,req}"]; - n_45 -> n_23 [id="[$e|42]", label="philo/2.0→fork/0.0:{pid_self,release}"]; - n_10 -> n_2 [id="[$e|35]", label="philo/2.1→fork/0.1:{pid_self,req}"]; - n_5 -> n_30 [id="[$e|20]", label="fork/0.1→philo/2.1:ok"]; - n_8 -> n_27 [id="[$e|37]", label="fork/0.0→philo/2.0:ok"]; - n_34 -> n_8 [id="[$e|28]", label="philo/2.0→fork/0.0:{pid_self,req}"]; - n_4 -> n_12 [id="[$e|52]", label="philo/2.1→fork/0.1:{pid_self,req}"]; - n_17 -> n_35 [id="[$e|9]", label="fork/0.1→philo/2.1:ok"]; - n_1 -> n_41 [id="[$e|60]", label="philo/2.1→fork/0.1:{pid_self,release}"]; - n_32 -> n_45 [id="[$e|31]", label="philo/2.1→fork/0.1:{pid_self,req}"]; - n_9 -> n_35 [id="[$e|62]", label="fork/0.1→philo/2.1:ok"]; + n_18 -> n_15 [id="[$e|71]", label="philo/2.1→fork/0.0:{pid_self,req}"]; + n_34 -> n_20 [id="[$e|29]", label="philo/2.0→fork/0.1:{pid_self,release}"]; + n_17 -> n_37 [id="[$e|8]", label="philo/2.0→fork/0.0:{pid_self,req}"]; + n_33 -> n_28 [id="[$e|1]", label="main/0.0Δfork/0.1 args nil"]; + n_12 -> n_39 [id="[$e|11]", label="fork/0.1→philo/2.1:ok"]; n_25 -> n_40 [id="[$e|3]", label="main/0.0Δphilo/2.1 args [fork/0.1,fork/0.0]"]; n_23 -> n_35 [id="[$e|56]", label="fork/0.1→philo/2.1:ok"]; - n_31 -> n_34 [id="[$e|24]", label="philo/2.0→fork/0.0:{pid_self,release}"]; + n_32 -> n_6 [id="[$e|30]", label="philo/2.0→fork/0.0:{pid_self,release}"]; + n_22 -> n_24 [id="[$e|22]", label="fork/0.0→philo/2.0:ok"]; n_21 -> n_1 [id="[$e|45]", label="fork/0.0→philo/2.0:ok"]; - n_7 -> n_36 [id="[$e|13]", label="philo/2.0→fork/0.1:{pid_self,req}"]; - n_28 -> n_25 [id="[$e|2]", label="main/0.0Δphilo/2.0 args [fork/0.0,fork/0.1]"]; - n_33 -> n_28 [id="[$e|1]", label="main/0.0Δfork/0.1 args nil"]; - n_43 -> n_22 [id="[$e|66]", label="philo/2.0→fork/0.0:{pid_self,req}"]; - n_37 -> n_29 [id="[$e|14]", label="fork/0.0→philo/2.0:ok"]; - n_20 -> n_26 [id="[$e|38]", label="philo/2.0→fork/0.0:{pid_self,req}"]; - n_15 -> n_42 [id="[$e|23]", label="fork/0.0→philo/2.1:ok"]; - n_31 -> n_32 [id="[$e|25]", label="philo/2.0→fork/0.1:{pid_self,release}"]; - n_12 -> n_29 [id="[$e|10]", label="fork/0.0→philo/2.0:ok"]; - n_42 -> n_14 [id="[$e|26]", label="philo/2.1→fork/0.0:{pid_self,release}"]; + n_37 -> n_39 [id="[$e|15]", label="fork/0.1→philo/2.1:ok"]; + n_13 -> n_43 [id="[$e|57]", label="philo/2.0→fork/0.0:{pid_self,release}"]; + n_36 -> n_31 [id="[$e|21]", label="fork/0.1→philo/2.0:ok"]; + n_2 -> n_9 [id="[$e|50]", label="philo/2.1→fork/0.0:{pid_self,release}"]; + n_8 -> n_4 [id="[$e|36]", label="philo/2.0→fork/0.1:{pid_self,release}"]; n_40 -> n_26 [id="[$e|4]", label="philo/2.0→fork/0.0:{pid_self,req}"]; - n_10 -> n_44 [id="[$e|34]", label="philo/2.1→fork/0.0:{pid_self,release}"]; - n_22 -> n_24 [id="[$e|22]", label="fork/0.0→philo/2.0:ok"]; - n_20 -> n_17 [id="[$e|39]", label="philo/2.1→fork/0.1:{pid_self,req}"]; - n_12 -> n_39 [id="[$e|11]", label="fork/0.1→philo/2.1:ok"]; - n_4 -> n_7 [id="[$e|53]", label="fork/0.0→philo/2.0:ok"]; - n_38 -> n_36 [id="[$e|65]", label="philo/2.0→fork/0.1:{pid_self,req}"]; - n_6 -> n_26 [id="[$e|40]", label="philo/2.0→fork/0.0:{pid_self,req}"]; } diff --git a/examples/dining/main_0_local_view.dot b/examples/dining/main_0_local_view.dot index 659bd1f..b9a485e 100644 --- a/examples/dining/main_0_local_view.dot +++ b/examples/dining/main_0_local_view.dot @@ -8,8 +8,8 @@ digraph main_0 { n_4 [id="2", shape=circle, label="2"]; n_5 [id="5", shape=circle, label="3"]; - n_5 -> n_3 [id="[$e|0]", label="spawn philo/2.0 args [fork/0.0,fork/0.1]"]; - n_4 -> n_5 [id="[$e|3]", label="spawn fork/0.1 args nil"]; n_1 -> n_4 [id="[$e|2]", label="spawn fork/0.0 args nil"]; + n_5 -> n_3 [id="[$e|0]", label="spawn philo/2.0 args [fork/0.0,fork/0.1]"]; n_3 -> n_2 [id="[$e|1]", label="spawn philo/2.1 args [fork/0.1,fork/0.0]"]; + n_4 -> n_5 [id="[$e|3]", label="spawn fork/0.1 args nil"]; } diff --git a/examples/dining/output.csv b/examples/dining/output.csv new file mode 100644 index 0000000..433a733 --- /dev/null +++ b/examples/dining/output.csv @@ -0,0 +1,9 @@ +line,31 +lv_main/0_nodes,5 +lv_main/0_edges,4 +lv_philo/2_nodes,6 +lv_philo/2_edges,6 +lv_fork/0_nodes,3 +lv_fork/0_edges,3 +gv_nodes,29 +gv_edges,44 diff --git a/examples/dining/philo_2_local_view.dot b/examples/dining/philo_2_local_view.dot index eae6052..01e6304 100644 --- a/examples/dining/philo_2_local_view.dot +++ b/examples/dining/philo_2_local_view.dot @@ -9,10 +9,10 @@ digraph philo_2 { n_5 [id="2", shape=circle, label="2"]; n_6 [id="5", shape=circle, label="6"]; + n_3 -> n_6 [id="[$e|2]", label="F1 ! {pid_self,release}"]; n_6 -> n_1 [id="[$e|7]", label="F2 ! {pid_self,release}"]; - n_1 -> n_5 [id="[$e|5]", label="F1 ! {pid_self,req}"]; n_4 -> n_2 [id="[$e|6]", label="F2 ! {pid_self,req}"]; + n_1 -> n_5 [id="[$e|5]", label="F1 ! {pid_self,req}"]; n_2 -> n_3 [id="[$e|3]", label="0#receive ok"]; - n_3 -> n_6 [id="[$e|2]", label="F1 ! {pid_self,release}"]; n_5 -> n_4 [id="[$e|4]", label="0#receive ok"]; } diff --git a/examples/for-loop-recursion/main_0_global_view.dot b/examples/for-loop-recursion/main_0_global_view.dot index badbbf7..261dd2c 100644 --- a/examples/for-loop-recursion/main_0_global_view.dot +++ b/examples/for-loop-recursion/main_0_global_view.dot @@ -1,19 +1,24 @@ digraph global { rankdir="LR"; n_0 [label="global", shape="plaintext"]; - n_1 [id="1", shape=circle, label="1"]; - n_0 -> n_1 [arrowhead=none]; - n_2 [id="7", shape=doublecircle, label="7"]; - n_3 [id="4", shape=doublecircle, label="4"]; - n_4 [id="6", shape=doublecircle, label="6"]; - n_5 [id="3", shape=doublecircle, label="3"]; - n_6 [id="2", shape=circle, label="2"]; - n_7 [id="5", shape=doublecircle, label="5"]; + n_1 [id="9", shape=doublecircle, label="9"]; + n_2 [id="8", shape=doublecircle, label="8"]; + n_3 [id="1", shape=circle, label="1"]; + n_0 -> n_3 [arrowhead=none]; + n_4 [id="7", shape=doublecircle, label="7"]; + n_5 [id="4", shape=doublecircle, label="4"]; + n_6 [id="6", shape=doublecircle, label="6"]; + n_7 [id="3", shape=doublecircle, label="3"]; + n_8 [id="2", shape=circle, label="2"]; + n_9 [id="5", shape=doublecircle, label="5"]; - n_3 -> n_4 [id="[$e|4]", label="dummy/1.1→main/0.0:integer"]; - n_5 -> n_7 [id="[$e|3]", label="dummy/1.1→main/0.0:integer"]; - n_6 -> n_5 [id="[$e|1]", label="main/0.0Δdummy/1.1 args [pid_self]"]; - n_7 -> n_2 [id="[$e|5]", label="dummy/1.0→main/0.0:integer"]; - n_1 -> n_6 [id="[$e|0]", label="main/0.0Δdummy/1.0 args [pid_self]"]; - n_5 -> n_3 [id="[$e|2]", label="dummy/1.0→main/0.0:integer"]; + n_6 -> n_2 [id="[$e|7]", label="dummy/1.1→main/0.0:integer"]; + n_4 -> n_1 [id="[$e|8]", label="dummy/1.0→main/0.0:integer"]; + n_9 -> n_5 [id="[$e|5]", label="dummy/1.0→main/0.0:integer"]; + n_9 -> n_4 [id="[$e|6]", label="dummy/1.1→main/0.0:integer"]; + n_3 -> n_8 [id="[$e|0]", label="main/0.0Δdummy/1.0 args [pid_self]"]; + n_7 -> n_9 [id="[$e|3]", label="dummy/1.1→main/0.0:integer"]; + n_7 -> n_5 [id="[$e|2]", label="dummy/1.0→main/0.0:integer"]; + n_8 -> n_7 [id="[$e|1]", label="main/0.0Δdummy/1.1 args [pid_self]"]; + n_5 -> n_6 [id="[$e|4]", label="dummy/1.1→main/0.0:integer"]; } diff --git a/examples/for-loop-recursion/main_0_local_view.dot b/examples/for-loop-recursion/main_0_local_view.dot index 036c16f..4950bd0 100644 --- a/examples/for-loop-recursion/main_0_local_view.dot +++ b/examples/for-loop-recursion/main_0_local_view.dot @@ -6,7 +6,7 @@ digraph main_0 { n_2 [id="3", shape=doublecircle, label="3"]; n_3 [id="2", shape=circle, label="2"]; - n_3 -> n_2 [id="[$e|4]", label="spawn dummy/1.1 args [pid_self]"]; - n_2 -> n_2 [id="[$e|1]", label="0#receive Num"]; n_1 -> n_3 [id="[$e|2]", label="spawn dummy/1.0 args [pid_self]"]; + n_2 -> n_2 [id="[$e|1]", label="0#receive Num"]; + n_3 -> n_2 [id="[$e|4]", label="spawn dummy/1.1 args [pid_self]"]; } diff --git a/examples/for-loop-recursion/output.csv b/examples/for-loop-recursion/output.csv new file mode 100644 index 0000000..06fae02 --- /dev/null +++ b/examples/for-loop-recursion/output.csv @@ -0,0 +1,9 @@ +line,18 +lv_dummy/1_nodes,2 +lv_dummy/1_edges,1 +lv_main/0_nodes,3 +lv_main/0_edges,3 +lv_forloop/1_nodes,1 +lv_forloop/1_edges,1 +gv_nodes,8 +gv_edges,9 diff --git a/examples/function-call/dummy_1_local_view.dot b/examples/function-call/dummy_1_local_view.dot index e5eae1b..5e8a377 100644 --- a/examples/function-call/dummy_1_local_view.dot +++ b/examples/function-call/dummy_1_local_view.dot @@ -6,6 +6,6 @@ digraph dummy_1 { n_2 [id="3", shape=doublecircle, label="3"]; n_3 [id="2", shape=circle, label="2"]; - n_3 -> n_2 [id="[$e|1]", label="Pid ! {pid_self,hello2}"]; n_1 -> n_3 [id="[$e|0]", label="Pid ! {pid_self,hello1}"]; + n_3 -> n_2 [id="[$e|1]", label="Pid ! {pid_self,hello2}"]; } diff --git a/examples/function-call/main_0_global_view.dot b/examples/function-call/main_0_global_view.dot index ce8e62c..ce8df63 100644 --- a/examples/function-call/main_0_global_view.dot +++ b/examples/function-call/main_0_global_view.dot @@ -7,7 +7,7 @@ digraph global { n_3 [id="3", shape=circle, label="3", fillcolor="#FF0000FF", style=filled]; n_4 [id="2", shape=circle, label="2"]; - n_4 -> n_3 [id="[$e|1]", label="dummy/1.0→main/0.0:{pid_self,hello1}"]; n_1 -> n_4 [id="[$e|0]", label="main/0.0Δdummy/1.0 args [pid_self]"]; n_4 -> n_2 [id="[$e|2]", label="dummy/1.0→main/0.0:{pid_self,hello2}"]; + n_4 -> n_3 [id="[$e|1]", label="dummy/1.0→main/0.0:{pid_self,hello1}"]; } diff --git a/examples/function-call/main_0_local_view.dot b/examples/function-call/main_0_local_view.dot index 1247996..205186c 100644 --- a/examples/function-call/main_0_local_view.dot +++ b/examples/function-call/main_0_local_view.dot @@ -6,6 +6,6 @@ digraph main_0 { n_2 [id="3", shape=doublecircle, label="3"]; n_3 [id="2", shape=circle, label="2"]; - n_1 -> n_3 [id="[$e|3]", label="spawn dummy/1.0 args [pid_self]"]; n_3 -> n_2 [id="[$e|2]", label="0#receive {_,Msg}"]; + n_1 -> n_3 [id="[$e|3]", label="spawn dummy/1.0 args [pid_self]"]; } diff --git a/examples/function-call/output.csv b/examples/function-call/output.csv new file mode 100644 index 0000000..cc5a272 --- /dev/null +++ b/examples/function-call/output.csv @@ -0,0 +1,9 @@ +line,17 +lv_dummy/1_nodes,3 +lv_dummy/1_edges,2 +lv_main/0_nodes,3 +lv_main/0_edges,2 +lv_recv_dummy/0_nodes,2 +lv_recv_dummy/0_edges,1 +gv_nodes,3 +gv_edges,3 diff --git a/examples/hello/main_0_global_view.dot b/examples/hello/main_0_global_view.dot index 646e4f7..e8a9580 100644 --- a/examples/hello/main_0_global_view.dot +++ b/examples/hello/main_0_global_view.dot @@ -8,10 +8,10 @@ digraph global { n_4 [id="2", shape=circle, label="2"]; n_5 [id="5", shape=doublecircle, label="5"]; - n_3 -> n_5 [id="[$e|4]", label="main/0.0→main/0.0:N"]; - n_3 -> n_2 [id="[$e|3]", label="main/0.0→main/0.0:N"]; - n_1 -> n_3 [id="[$e|1]", label="main/0.0→main/0.0:N"]; n_2 -> n_2 [id="[$e|5]", label="main/0.0→main/0.0:N"]; n_1 -> n_4 [id="[$e|0]", label="main/0.0→main/0.0:N"]; + n_3 -> n_2 [id="[$e|3]", label="main/0.0→main/0.0:N"]; n_4 -> n_4 [id="[$e|2]", label="main/0.0→main/0.0:N"]; + n_1 -> n_3 [id="[$e|1]", label="main/0.0→main/0.0:N"]; + n_3 -> n_5 [id="[$e|4]", label="main/0.0→main/0.0:N"]; } diff --git a/examples/hello/main_0_local_view.dot b/examples/hello/main_0_local_view.dot index 48c1d59..c784470 100644 --- a/examples/hello/main_0_local_view.dot +++ b/examples/hello/main_0_local_view.dot @@ -8,10 +8,10 @@ digraph main_0 { n_4 [id="2", shape=doublecircle, label="2"]; n_5 [id="5", shape=circle, label="2"]; - n_3 -> n_5 [id="[$e|10]", label="pid_self ! N"]; - n_5 -> n_3 [id="[$e|3]", label="0#receive _"]; - n_2 -> n_3 [id="[$e|12]", label="0#receive _"]; - n_1 -> n_2 [id="[$e|0]", label="pid_self ! N"]; - n_1 -> n_5 [id="[$e|16]", label="pid_self ! N"]; n_3 -> n_5 [id="[$e|15]", label="pid_self ! N"]; + n_1 -> n_5 [id="[$e|16]", label="pid_self ! N"]; + n_1 -> n_2 [id="[$e|0]", label="pid_self ! N"]; + n_2 -> n_3 [id="[$e|12]", label="0#receive _"]; + n_5 -> n_3 [id="[$e|3]", label="0#receive _"]; + n_3 -> n_5 [id="[$e|10]", label="pid_self ! N"]; } diff --git a/examples/hello/output.csv b/examples/hello/output.csv new file mode 100644 index 0000000..df15b34 --- /dev/null +++ b/examples/hello/output.csv @@ -0,0 +1,9 @@ +line,24 +lv_dummy/1_nodes,3 +lv_dummy/1_edges,3 +lv_main/0_nodes,5 +lv_main/0_edges,6 +lv_sendrecv/1_nodes,3 +lv_sendrecv/1_edges,2 +gv_nodes,3 +gv_edges,3 diff --git a/examples/high-order-fun/greet_0_global_view.dot b/examples/high-order-fun/greet_0_global_view.dot index 4404dc5..6265ea1 100644 --- a/examples/high-order-fun/greet_0_global_view.dot +++ b/examples/high-order-fun/greet_0_global_view.dot @@ -18,21 +18,21 @@ digraph global { n_14 [id="13", shape=circle, label="13", fillcolor="#FF0000FF", style=filled]; n_15 [id="5", shape=circle, label="5"]; - n_13 -> n_12 [id="[$e|14]", label="greet/0.0→greet/0.0:hello2"]; n_2 -> n_14 [id="[$e|13]", label="greet/0.0→anonfun_10.0:hello3"]; - n_4 -> n_10 [id="[$e|0]", label="greet/0.0Δanonfun_15.0"]; - n_5 -> n_14 [id="[$e|11]", label="greet/0.0→anonfun_10.0:hello3"]; - n_8 -> n_7 [id="[$e|4]", label="greet/0.0→anonfun_10.0:hello3"]; - n_8 -> n_6 [id="[$e|2]", label="greet/0.0→greet/0.0:hello2"]; - n_15 -> n_13 [id="[$e|8]", label="greet/0.0→anonfun_10.0:hello3"]; n_11 -> n_1 [id="[$e|15]", label="greet/0.0→anonfun_15.0:hello1"]; + n_8 -> n_7 [id="[$e|4]", label="greet/0.0→anonfun_10.0:hello3"]; + n_7 -> n_11 [id="[$e|9]", label="greet/0.0→greet/0.0:hello2"]; + n_13 -> n_12 [id="[$e|14]", label="greet/0.0→greet/0.0:hello2"]; + n_7 -> n_9 [id="[$e|10]", label="greet/0.0→anonfun_15.0:hello1"]; n_6 -> n_5 [id="[$e|5]", label="greet/0.0→anonfun_15.0:hello1"]; n_6 -> n_3 [id="[$e|6]", label="greet/0.0→anonfun_10.0:hello3"]; - n_10 -> n_8 [id="[$e|1]", label="greet/0.0Δanonfun_10.0"]; - n_7 -> n_9 [id="[$e|10]", label="greet/0.0→anonfun_15.0:hello1"]; - n_8 -> n_15 [id="[$e|3]", label="greet/0.0→anonfun_15.0:hello1"]; + n_5 -> n_14 [id="[$e|11]", label="greet/0.0→anonfun_10.0:hello3"]; n_15 -> n_2 [id="[$e|7]", label="greet/0.0→greet/0.0:hello2"]; + n_15 -> n_13 [id="[$e|8]", label="greet/0.0→anonfun_10.0:hello3"]; n_3 -> n_1 [id="[$e|12]", label="greet/0.0→anonfun_15.0:hello1"]; + n_4 -> n_10 [id="[$e|0]", label="greet/0.0Δanonfun_15.0"]; + n_8 -> n_15 [id="[$e|3]", label="greet/0.0→anonfun_15.0:hello1"]; n_9 -> n_12 [id="[$e|16]", label="greet/0.0→greet/0.0:hello2"]; - n_7 -> n_11 [id="[$e|9]", label="greet/0.0→greet/0.0:hello2"]; + n_10 -> n_8 [id="[$e|1]", label="greet/0.0Δanonfun_10.0"]; + n_8 -> n_6 [id="[$e|2]", label="greet/0.0→greet/0.0:hello2"]; } diff --git a/examples/high-order-fun/greet_0_local_view.dot b/examples/high-order-fun/greet_0_local_view.dot index bd83247..dc45b04 100644 --- a/examples/high-order-fun/greet_0_local_view.dot +++ b/examples/high-order-fun/greet_0_local_view.dot @@ -11,9 +11,9 @@ digraph greet_0 { n_7 [id="5", shape=doublecircle, label="7"]; n_6 -> n_7 [id="[$e|4]", label="0#receive _"]; - n_2 -> n_5 [id="[$e|2]", label="spawn anonfun_15.0"]; n_5 -> n_1 [id="[$e|5]", label="anonfun_15.0 ! hello1"]; n_4 -> n_3 [id="[$e|6]", label="spawn anonfun_10.0"]; - n_1 -> n_4 [id="[$e|1]", label="pid_self ! hello2"]; n_3 -> n_6 [id="[$e|7]", label="anonfun_10.0 ! hello3"]; + n_1 -> n_4 [id="[$e|1]", label="pid_self ! hello2"]; + n_2 -> n_5 [id="[$e|2]", label="spawn anonfun_15.0"]; } diff --git a/examples/high-order-fun/output.csv b/examples/high-order-fun/output.csv new file mode 100644 index 0000000..edcf554 --- /dev/null +++ b/examples/high-order-fun/output.csv @@ -0,0 +1,11 @@ +line,21 +lv_anonfun_10_nodes,2 +lv_anonfun_10_edges,1 +lv_recv/0_nodes,2 +lv_recv/0_edges,1 +lv_anonfun_15_nodes,2 +lv_anonfun_15_edges,1 +lv_greet/0_nodes,7 +lv_greet/0_edges,6 +gv_nodes,10 +gv_edges,14 diff --git a/examples/if-cases/main_0_global_view.dot b/examples/if-cases/main_0_global_view.dot index 2ffe5bb..e472433 100644 --- a/examples/if-cases/main_0_global_view.dot +++ b/examples/if-cases/main_0_global_view.dot @@ -151,214 +151,214 @@ digraph global { n_147 [id="29", shape=circle, label="29"]; n_148 [id="92", shape=circle, label="92"]; - n_79 -> n_120 [id="[$e|8]", label="main/0.0→c/0.0:b/0.0"]; - n_91 -> n_105 [id="[$e|75]", label="main/0.0→b/0.0:c/0.0"]; - n_114 -> n_20 [id="[$e|173]", label="main/0.0→c/0.0:a/0.0"]; - n_91 -> n_4 [id="[$e|31]", label="main/0.0→c/0.0:a/0.0"]; - n_81 -> n_117 [id="[$e|13]", label="main/0.0→c/0.0:a/0.0"]; - n_1 -> n_102 [id="[$e|140]", label="main/0.0→a/0.0:b/0.0"]; - n_56 -> n_118 [id="[$e|96]", label="main/0.0→b/0.0:a/0.0"]; - n_78 -> n_17 [id="[$e|154]", label="main/0.0→b/0.0:a/0.0"]; n_85 -> n_10 [id="[$e|136]", label="a/0.0→b/0.0:'Hi, i'm A'"]; - n_56 -> n_115 [id="[$e|97]", label="c/0.0→b/0.0:'Hi, i'm C'"]; - n_22 -> n_131 [id="[$e|65]", label="c/0.0→b/0.0:'Hi, i'm C'"]; n_92 -> n_69 [id="[$e|151]", label="a/0.0→c/0.0:'Hi, i'm A'"]; - n_64 -> n_107 [id="[$e|67]", label="b/0.0→a/0.0:'Hi, i'm B'"]; - n_68 -> n_128 [id="[$e|200]", label="main/0.0→b/0.0:c/0.0"]; - n_101 -> n_67 [id="[$e|93]", label="main/0.0→b/0.0:c/0.0"]; + n_67 -> n_102 [id="[$e|146]", label="main/0.0→a/0.0:b/0.0"]; + n_145 -> n_54 [id="[$e|123]", label="main/0.0→b/0.0:c/0.0"]; + n_36 -> n_35 [id="[$e|199]", label="a/0.0→b/0.0:'Hi, i'm A'"]; n_147 -> n_86 [id="[$e|69]", label="main/0.0→c/0.0:a/0.0"]; - n_117 -> n_1 [id="[$e|39]", label="c/0.0→a/0.0:'Hi, i'm C'"]; - n_41 -> n_7 [id="[$e|142]", label="main/0.0→a/0.0:b/0.0"]; - n_120 -> n_16 [id="[$e|26]", label="c/0.0→b/0.0:'Hi, i'm C'"]; - n_70 -> n_93 [id="[$e|124]", label="c/0.0→a/0.0:'Hi, i'm C'"]; - n_146 -> n_78 [id="[$e|114]", label="a/0.0→c/0.0:'Hi, i'm A'"]; - n_45 -> n_123 [id="[$e|171]", label="c/0.0→a/0.0:'Hi, i'm C'"]; - n_72 -> n_73 [id="[$e|85]", label="main/0.0→a/0.0:b/0.0"]; - n_107 -> n_99 [id="[$e|167]", label="main/0.0→a/0.0:c/0.0"]; - n_40 -> n_77 [id="[$e|184]", label="main/0.0→a/0.0:b/0.0"]; - n_37 -> n_110 [id="[$e|20]", label="a/0.0→c/0.0:'Hi, i'm A'"]; - n_140 -> n_36 [id="[$e|144]", label="main/0.0→b/0.0:c/0.0"]; - n_37 -> n_135 [id="[$e|19]", label="main/0.0→c/0.0:b/0.0"]; - n_147 -> n_114 [id="[$e|70]", label="b/0.0→c/0.0:'Hi, i'm B'"]; - n_79 -> n_19 [id="[$e|7]", label="main/0.0→b/0.0:a/0.0"]; - n_124 -> n_9 [id="[$e|166]", label="b/0.0→a/0.0:'Hi, i'm B'"]; - n_141 -> n_10 [id="[$e|126]", label="a/0.0→b/0.0:'Hi, i'm A'"]; - n_60 -> n_90 [id="[$e|193]", label="b/0.0→c/0.0:'Hi, i'm B'"]; - n_29 -> n_88 [id="[$e|168]", label="main/0.0→b/0.0:a/0.0"]; - n_140 -> n_68 [id="[$e|145]", label="a/0.0→b/0.0:'Hi, i'm A'"]; - n_8 -> n_63 [id="[$e|189]", label="main/0.0→c/0.0:b/0.0"]; - n_76 -> n_27 [id="[$e|46]", label="main/0.0→a/0.0:b/0.0"]; - n_72 -> n_23 [id="[$e|40]", label="main/0.0→a/0.0:b/0.0"]; - n_126 -> n_71 [id="[$e|28]", label="main/0.0→c/0.0:a/0.0"]; - n_117 -> n_27 [id="[$e|38]", label="main/0.0→a/0.0:b/0.0"]; - n_86 -> n_93 [id="[$e|121]", label="c/0.0→a/0.0:'Hi, i'm C'"]; - n_14 -> n_61 [id="[$e|36]", label="main/0.0→c/0.0:a/0.0"]; + n_63 -> n_89 [id="[$e|202]", label="c/0.0→b/0.0:'Hi, i'm C'"]; n_75 -> n_24 [id="[$e|194]", label="main/0.0→c/0.0:a/0.0"]; - n_19 -> n_49 [id="[$e|56]", label="main/0.0→c/0.0:b/0.0"]; - n_103 -> n_58 [id="[$e|51]", label="a/0.0→c/0.0:'Hi, i'm A'"]; - n_34 -> n_3 [id="[$e|159]", label="c/0.0→b/0.0:'Hi, i'm C'"]; - n_117 -> n_46 [id="[$e|83]", label="main/0.0→a/0.0:b/0.0"]; - n_105 -> n_75 [id="[$e|130]", label="b/0.0→c/0.0:'Hi, i'm B'"]; - n_104 -> n_58 [id="[$e|58]", label="a/0.0→c/0.0:'Hi, i'm A'"]; n_27 -> n_93 [id="[$e|139]", label="c/0.0→a/0.0:'Hi, i'm C'"]; - n_3 -> n_128 [id="[$e|204]", label="main/0.0→b/0.0:a/0.0"]; - n_34 -> n_21 [id="[$e|158]", label="main/0.0→b/0.0:a/0.0"]; + n_56 -> n_118 [id="[$e|96]", label="main/0.0→b/0.0:a/0.0"]; + n_43 -> n_38 [id="[$e|110]", label="main/0.0→c/0.0:b/0.0"]; + n_30 -> n_47 [id="[$e|180]", label="main/0.0→b/0.0:c/0.0"]; + n_126 -> n_91 [id="[$e|10]", label="a/0.0→b/0.0:'Hi, i'm A'"]; + n_62 -> n_44 [id="[$e|198]", label="main/0.0→a/0.0:b/0.0"]; + n_112 -> n_33 [id="[$e|73]", label="a/0.0→b/0.0:'Hi, i'm A'"]; + n_101 -> n_137 [id="[$e|45]", label="main/0.0→b/0.0:c/0.0"]; + n_14 -> n_61 [id="[$e|36]", label="main/0.0→c/0.0:a/0.0"]; + n_55 -> n_51 [id="[$e|15]", label="main/0.0→a/0.0:b/0.0"]; + n_39 -> n_69 [id="[$e|165]", label="a/0.0→c/0.0:'Hi, i'm A'"]; + n_141 -> n_10 [id="[$e|126]", label="a/0.0→b/0.0:'Hi, i'm A'"]; + n_104 -> n_111 [id="[$e|108]", label="b/0.0→a/0.0:'Hi, i'm B'"]; + n_147 -> n_114 [id="[$e|70]", label="b/0.0→c/0.0:'Hi, i'm B'"]; + n_66 -> n_125 [id="[$e|161]", label="main/0.0→a/0.0:c/0.0"]; + n_56 -> n_115 [id="[$e|97]", label="c/0.0→b/0.0:'Hi, i'm C'"]; + n_16 -> n_29 [id="[$e|118]", label="main/0.0→a/0.0:c/0.0"]; + n_120 -> n_16 [id="[$e|26]", label="c/0.0→b/0.0:'Hi, i'm C'"]; + n_135 -> n_131 [id="[$e|53]", label="c/0.0→b/0.0:'Hi, i'm C'"]; n_132 -> n_116 [id="[$e|95]", label="main/0.0→c/0.0:b/0.0"]; - n_2 -> n_97 [id="[$e|179]", label="a/0.0→b/0.0:'Hi, i'm A'"]; - n_49 -> n_96 [id="[$e|106]", label="main/0.0→a/0.0:c/0.0"]; - n_55 -> n_11 [id="[$e|41]", label="main/0.0→a/0.0:b/0.0"]; - n_122 -> n_82 [id="[$e|33]", label="a/0.0→b/0.0:'Hi, i'm A'"]; - n_126 -> n_122 [id="[$e|11]", label="main/0.0→c/0.0:a/0.0"]; - n_13 -> n_95 [id="[$e|104]", label="main/0.0→c/0.0:b/0.0"]; - n_84 -> n_142 [id="[$e|170]", label="b/0.0→a/0.0:'Hi, i'm B'"]; - n_81 -> n_74 [id="[$e|34]", label="main/0.0→a/0.0:b/0.0"]; + n_42 -> n_85 [id="[$e|81]", label="main/0.0→a/0.0:b/0.0"]; + n_103 -> n_92 [id="[$e|50]", label="main/0.0→c/0.0:b/0.0"]; n_130 -> n_97 [id="[$e|181]", label="a/0.0→b/0.0:'Hi, i'm A'"]; - n_139 -> n_106 [id="[$e|201]", label="b/0.0→a/0.0:'Hi, i'm B'"]; - n_101 -> n_140 [id="[$e|92]", label="main/0.0→a/0.0:b/0.0"]; - n_12 -> n_10 [id="[$e|133]", label="a/0.0→b/0.0:'Hi, i'm A'"]; - n_145 -> n_54 [id="[$e|123]", label="main/0.0→b/0.0:c/0.0"]; - n_87 -> n_79 [id="[$e|2]", label="main/0.0Δc/0.0 args nil"]; + n_86 -> n_93 [id="[$e|121]", label="c/0.0→a/0.0:'Hi, i'm C'"]; + n_37 -> n_132 [id="[$e|48]", label="main/0.0→b/0.0:a/0.0"]; + n_118 -> n_15 [id="[$e|186]", label="c/0.0→b/0.0:'Hi, i'm C'"]; + n_103 -> n_8 [id="[$e|99]", label="a/0.0→c/0.0:'Hi, i'm A'"]; + n_79 -> n_55 [id="[$e|5]", label="main/0.0→c/0.0:a/0.0"]; + n_72 -> n_23 [id="[$e|40]", label="main/0.0→a/0.0:b/0.0"]; + n_32 -> n_24 [id="[$e|206]", label="main/0.0→c/0.0:b/0.0"]; + n_71 -> n_6 [id="[$e|122]", label="main/0.0→b/0.0:c/0.0"]; + n_103 -> n_58 [id="[$e|51]", label="a/0.0→c/0.0:'Hi, i'm A'"]; + n_110 -> n_94 [id="[$e|54]", label="main/0.0→b/0.0:a/0.0"]; + n_51 -> n_12 [id="[$e|43]", label="main/0.0→b/0.0:c/0.0"]; + n_79 -> n_37 [id="[$e|6]", label="main/0.0→a/0.0:c/0.0"]; n_51 -> n_145 [id="[$e|91]", label="c/0.0→a/0.0:'Hi, i'm C'"]; - n_46 -> n_119 [id="[$e|137]", label="b/0.0→c/0.0:'Hi, i'm B'"]; - n_84 -> n_26 [id="[$e|169]", label="main/0.0→a/0.0:c/0.0"]; - n_135 -> n_78 [id="[$e|101]", label="a/0.0→c/0.0:'Hi, i'm A'"]; n_40 -> n_113 [id="[$e|138]", label="main/0.0→a/0.0:b/0.0"]; + n_18 -> n_47 [id="[$e|178]", label="main/0.0→b/0.0:c/0.0"]; + n_145 -> n_139 [id="[$e|175]", label="main/0.0→b/0.0:c/0.0"]; + n_25 -> n_148 [id="[$e|112]", label="b/0.0→a/0.0:'Hi, i'm B'"]; + n_8 -> n_63 [id="[$e|189]", label="main/0.0→c/0.0:b/0.0"]; + n_79 -> n_120 [id="[$e|8]", label="main/0.0→c/0.0:b/0.0"]; + n_110 -> n_57 [id="[$e|102]", label="main/0.0→b/0.0:a/0.0"]; + n_117 -> n_46 [id="[$e|83]", label="main/0.0→a/0.0:b/0.0"]; n_120 -> n_127 [id="[$e|63]", label="main/0.0→b/0.0:a/0.0"]; - n_25 -> n_39 [id="[$e|111]", label="main/0.0→a/0.0:c/0.0"]; - n_110 -> n_34 [id="[$e|103]", label="main/0.0→c/0.0:b/0.0"]; - n_112 -> n_33 [id="[$e|73]", label="a/0.0→b/0.0:'Hi, i'm A'"]; - n_64 -> n_66 [id="[$e|117]", label="c/0.0→b/0.0:'Hi, i'm C'"]; - n_127 -> n_148 [id="[$e|116]", label="b/0.0→a/0.0:'Hi, i'm B'"]; - n_91 -> n_18 [id="[$e|76]", label="main/0.0→c/0.0:a/0.0"]; + n_116 -> n_100 [id="[$e|185]", label="b/0.0→a/0.0:'Hi, i'm B'"]; + n_122 -> n_30 [id="[$e|78]", label="a/0.0→b/0.0:'Hi, i'm A'"]; + n_140 -> n_36 [id="[$e|144]", label="main/0.0→b/0.0:c/0.0"]; + n_104 -> n_58 [id="[$e|58]", label="a/0.0→c/0.0:'Hi, i'm A'"]; + n_37 -> n_110 [id="[$e|20]", label="a/0.0→c/0.0:'Hi, i'm A'"]; + n_72 -> n_73 [id="[$e|85]", label="main/0.0→a/0.0:b/0.0"]; + n_1 -> n_102 [id="[$e|140]", label="main/0.0→a/0.0:b/0.0"]; + n_33 -> n_144 [id="[$e|125]", label="main/0.0→c/0.0:a/0.0"]; n_120 -> n_146 [id="[$e|62]", label="main/0.0→a/0.0:c/0.0"]; - n_26 -> n_106 [id="[$e|208]", label="b/0.0→a/0.0:'Hi, i'm B'"]; - n_131 -> n_88 [id="[$e|156]", label="main/0.0→b/0.0:a/0.0"]; - n_104 -> n_111 [id="[$e|108]", label="b/0.0→a/0.0:'Hi, i'm B'"]; - n_104 -> n_92 [id="[$e|57]", label="main/0.0→c/0.0:b/0.0"]; + n_82 -> n_53 [id="[$e|134]", label="main/0.0→b/0.0:c/0.0"]; + n_16 -> n_84 [id="[$e|119]", label="main/0.0→b/0.0:a/0.0"]; + n_74 -> n_141 [id="[$e|80]", label="main/0.0→c/0.0:a/0.0"]; + n_105 -> n_60 [id="[$e|129]", label="main/0.0→c/0.0:a/0.0"]; + n_20 -> n_133 [id="[$e|192]", label="c/0.0→a/0.0:'Hi, i'm C'"]; + n_110 -> n_34 [id="[$e|103]", label="main/0.0→c/0.0:b/0.0"]; + n_122 -> n_82 [id="[$e|33]", label="a/0.0→b/0.0:'Hi, i'm A'"]; + n_55 -> n_101 [id="[$e|16]", label="c/0.0→a/0.0:'Hi, i'm C'"]; + n_126 -> n_112 [id="[$e|9]", label="main/0.0→b/0.0:c/0.0"]; + n_77 -> n_80 [id="[$e|207]", label="a/0.0→c/0.0:'Hi, i'm A'"]; + n_78 -> n_17 [id="[$e|154]", label="main/0.0→b/0.0:a/0.0"]; + n_49 -> n_96 [id="[$e|106]", label="main/0.0→a/0.0:c/0.0"]; + n_29 -> n_88 [id="[$e|168]", label="main/0.0→b/0.0:a/0.0"]; + n_11 -> n_30 [id="[$e|88]", label="a/0.0→b/0.0:'Hi, i'm A'"]; + n_19 -> n_104 [id="[$e|21]", label="main/0.0→a/0.0:c/0.0"]; + n_126 -> n_122 [id="[$e|11]", label="main/0.0→c/0.0:a/0.0"]; n_58 -> n_98 [id="[$e|152]", label="main/0.0→c/0.0:b/0.0"]; - n_33 -> n_144 [id="[$e|125]", label="main/0.0→c/0.0:a/0.0"]; - n_52 -> n_108 [id="[$e|0]", label="main/0.0Δa/0.0 args nil"]; - n_43 -> n_65 [id="[$e|109]", label="main/0.0→a/0.0:c/0.0"]; - n_135 -> n_59 [id="[$e|52]", label="main/0.0→b/0.0:a/0.0"]; - n_42 -> n_130 [id="[$e|135]", label="main/0.0→a/0.0:b/0.0"]; - n_37 -> n_103 [id="[$e|18]", label="main/0.0→b/0.0:a/0.0"]; - n_141 -> n_97 [id="[$e|177]", label="a/0.0→b/0.0:'Hi, i'm A'"]; + n_96 -> n_48 [id="[$e|160]", label="c/0.0→b/0.0:'Hi, i'm C'"]; + n_76 -> n_27 [id="[$e|46]", label="main/0.0→a/0.0:b/0.0"]; + n_64 -> n_124 [id="[$e|66]", label="main/0.0→a/0.0:c/0.0"]; + n_55 -> n_76 [id="[$e|17]", label="main/0.0→b/0.0:c/0.0"]; + n_79 -> n_126 [id="[$e|3]", label="main/0.0→a/0.0:b/0.0"]; + n_131 -> n_88 [id="[$e|156]", label="main/0.0→b/0.0:a/0.0"]; + n_95 -> n_48 [id="[$e|150]", label="c/0.0→b/0.0:'Hi, i'm C'"]; + n_83 -> n_50 [id="[$e|183]", label="main/0.0→a/0.0:b/0.0"]; + n_74 -> n_33 [id="[$e|79]", label="a/0.0→b/0.0:'Hi, i'm A'"]; + n_81 -> n_42 [id="[$e|35]", label="main/0.0→c/0.0:a/0.0"]; + n_91 -> n_105 [id="[$e|75]", label="main/0.0→b/0.0:c/0.0"]; n_79 -> n_81 [id="[$e|4]", label="main/0.0→b/0.0:c/0.0"]; - n_32 -> n_24 [id="[$e|206]", label="main/0.0→c/0.0:b/0.0"]; - n_18 -> n_53 [id="[$e|131]", label="main/0.0→b/0.0:c/0.0"]; - n_16 -> n_84 [id="[$e|119]", label="main/0.0→b/0.0:a/0.0"]; - n_118 -> n_15 [id="[$e|186]", label="c/0.0→b/0.0:'Hi, i'm C'"]; - n_85 -> n_123 [id="[$e|182]", label="c/0.0→a/0.0:'Hi, i'm C'"]; - n_19 -> n_13 [id="[$e|55]", label="main/0.0→a/0.0:c/0.0"]; + n_45 -> n_123 [id="[$e|171]", label="c/0.0→a/0.0:'Hi, i'm C'"]; + n_148 -> n_77 [id="[$e|191]", label="main/0.0→a/0.0:c/0.0"]; + n_142 -> n_44 [id="[$e|209]", label="main/0.0→a/0.0:c/0.0"]; + n_34 -> n_3 [id="[$e|159]", label="c/0.0→b/0.0:'Hi, i'm C'"]; + n_87 -> n_79 [id="[$e|2]", label="main/0.0Δc/0.0 args nil"]; + n_122 -> n_12 [id="[$e|32]", label="main/0.0→b/0.0:c/0.0"]; + n_120 -> n_22 [id="[$e|24]", label="main/0.0→a/0.0:c/0.0"]; + n_21 -> n_89 [id="[$e|203]", label="c/0.0→b/0.0:'Hi, i'm C'"]; + n_103 -> n_95 [id="[$e|98]", label="main/0.0→c/0.0:b/0.0"]; + n_117 -> n_27 [id="[$e|38]", label="main/0.0→a/0.0:b/0.0"]; + n_117 -> n_40 [id="[$e|84]", label="b/0.0→c/0.0:'Hi, i'm B'"]; + n_73 -> n_134 [id="[$e|141]", label="main/0.0→c/0.0:a/0.0"]; + n_12 -> n_10 [id="[$e|133]", label="a/0.0→b/0.0:'Hi, i'm A'"]; + n_81 -> n_117 [id="[$e|13]", label="main/0.0→c/0.0:a/0.0"]; + n_107 -> n_99 [id="[$e|167]", label="main/0.0→a/0.0:c/0.0"]; + n_95 -> n_28 [id="[$e|188]", label="a/0.0→c/0.0:'Hi, i'm A'"]; + n_127 -> n_39 [id="[$e|115]", label="main/0.0→a/0.0:c/0.0"]; + n_101 -> n_140 [id="[$e|92]", label="main/0.0→a/0.0:b/0.0"]; + n_37 -> n_135 [id="[$e|19]", label="main/0.0→c/0.0:b/0.0"]; + n_81 -> n_72 [id="[$e|14]", label="b/0.0→c/0.0:'Hi, i'm B'"]; + n_112 -> n_61 [id="[$e|29]", label="main/0.0→c/0.0:a/0.0"]; + n_118 -> n_9 [id="[$e|149]", label="b/0.0→a/0.0:'Hi, i'm B'"]; + n_19 -> n_43 [id="[$e|22]", label="b/0.0→a/0.0:'Hi, i'm B'"]; + n_146 -> n_78 [id="[$e|114]", label="a/0.0→c/0.0:'Hi, i'm A'"]; + n_126 -> n_71 [id="[$e|28]", label="main/0.0→c/0.0:a/0.0"]; + n_117 -> n_1 [id="[$e|39]", label="c/0.0→a/0.0:'Hi, i'm C'"]; + n_132 -> n_111 [id="[$e|94]", label="b/0.0→a/0.0:'Hi, i'm B'"]; + n_122 -> n_2 [id="[$e|77]", label="main/0.0→b/0.0:c/0.0"]; + n_79 -> n_19 [id="[$e|7]", label="main/0.0→b/0.0:a/0.0"]; + n_65 -> n_109 [id="[$e|162]", label="main/0.0→c/0.0:b/0.0"]; n_41 -> n_62 [id="[$e|143]", label="c/0.0→a/0.0:'Hi, i'm C'"]; - n_43 -> n_136 [id="[$e|59]", label="main/0.0→c/0.0:b/0.0"]; - n_39 -> n_69 [id="[$e|165]", label="a/0.0→c/0.0:'Hi, i'm A'"]; - n_42 -> n_85 [id="[$e|81]", label="main/0.0→a/0.0:b/0.0"]; - n_103 -> n_92 [id="[$e|50]", label="main/0.0→c/0.0:b/0.0"]; - n_145 -> n_139 [id="[$e|175]", label="main/0.0→b/0.0:c/0.0"]; - n_51 -> n_82 [id="[$e|44]", label="a/0.0→b/0.0:'Hi, i'm A'"]; - n_55 -> n_51 [id="[$e|15]", label="main/0.0→a/0.0:b/0.0"]; + n_135 -> n_59 [id="[$e|52]", label="main/0.0→b/0.0:a/0.0"]; + n_111 -> n_143 [id="[$e|147]", label="main/0.0→c/0.0:b/0.0"]; + n_3 -> n_128 [id="[$e|204]", label="main/0.0→b/0.0:a/0.0"]; + n_40 -> n_77 [id="[$e|184]", label="main/0.0→a/0.0:b/0.0"]; n_49 -> n_66 [id="[$e|107]", label="c/0.0→b/0.0:'Hi, i'm C'"]; - n_16 -> n_129 [id="[$e|68]", label="main/0.0→a/0.0:c/0.0"]; - n_43 -> n_38 [id="[$e|110]", label="main/0.0→c/0.0:b/0.0"]; - n_30 -> n_47 [id="[$e|180]", label="main/0.0→b/0.0:c/0.0"]; + n_127 -> n_148 [id="[$e|116]", label="b/0.0→a/0.0:'Hi, i'm B'"]; + n_86 -> n_31 [id="[$e|172]", label="b/0.0→c/0.0:'Hi, i'm B'"]; + n_51 -> n_82 [id="[$e|44]", label="a/0.0→b/0.0:'Hi, i'm A'"]; n_42 -> n_83 [id="[$e|82]", label="c/0.0→a/0.0:'Hi, i'm C'"]; + n_42 -> n_130 [id="[$e|135]", label="main/0.0→a/0.0:b/0.0"]; + n_11 -> n_2 [id="[$e|87]", label="main/0.0→b/0.0:c/0.0"]; + n_139 -> n_106 [id="[$e|201]", label="b/0.0→a/0.0:'Hi, i'm B'"]; + n_115 -> n_139 [id="[$e|187]", label="main/0.0→b/0.0:a/0.0"]; + n_52 -> n_108 [id="[$e|0]", label="main/0.0Δa/0.0 args nil"]; + n_55 -> n_121 [id="[$e|42]", label="main/0.0→b/0.0:c/0.0"]; + n_2 -> n_119 [id="[$e|132]", label="b/0.0→c/0.0:'Hi, i'm B'"]; + n_18 -> n_53 [id="[$e|131]", label="main/0.0→b/0.0:c/0.0"]; n_25 -> n_124 [id="[$e|60]", label="main/0.0→a/0.0:c/0.0"]; - n_71 -> n_6 [id="[$e|122]", label="main/0.0→b/0.0:c/0.0"]; - n_79 -> n_55 [id="[$e|5]", label="main/0.0→c/0.0:a/0.0"]; - n_96 -> n_48 [id="[$e|160]", label="c/0.0→b/0.0:'Hi, i'm C'"]; - n_59 -> n_48 [id="[$e|155]", label="c/0.0→b/0.0:'Hi, i'm C'"]; - n_110 -> n_57 [id="[$e|102]", label="main/0.0→b/0.0:a/0.0"]; - n_126 -> n_112 [id="[$e|9]", label="main/0.0→b/0.0:c/0.0"]; - n_116 -> n_100 [id="[$e|185]", label="b/0.0→a/0.0:'Hi, i'm B'"]; - n_16 -> n_29 [id="[$e|118]", label="main/0.0→a/0.0:c/0.0"]; - n_121 -> n_46 [id="[$e|89]", label="main/0.0→a/0.0:b/0.0"]; - n_120 -> n_22 [id="[$e|24]", label="main/0.0→a/0.0:c/0.0"]; - n_19 -> n_43 [id="[$e|22]", label="b/0.0→a/0.0:'Hi, i'm B'"]; - n_50 -> n_35 [id="[$e|196]", label="a/0.0→b/0.0:'Hi, i'm A'"]; n_81 -> n_14 [id="[$e|12]", label="main/0.0→a/0.0:b/0.0"]; - n_55 -> n_76 [id="[$e|17]", label="main/0.0→b/0.0:c/0.0"]; + n_114 -> n_20 [id="[$e|173]", label="main/0.0→c/0.0:a/0.0"]; n_38 -> n_99 [id="[$e|164]", label="main/0.0→a/0.0:c/0.0"]; - n_118 -> n_9 [id="[$e|149]", label="b/0.0→a/0.0:'Hi, i'm B'"]; - n_11 -> n_2 [id="[$e|87]", label="main/0.0→b/0.0:c/0.0"]; - n_77 -> n_80 [id="[$e|207]", label="a/0.0→c/0.0:'Hi, i'm A'"]; - n_18 -> n_47 [id="[$e|178]", label="main/0.0→b/0.0:c/0.0"]; - n_55 -> n_101 [id="[$e|16]", label="c/0.0→a/0.0:'Hi, i'm C'"]; - n_39 -> n_100 [id="[$e|190]", label="b/0.0→a/0.0:'Hi, i'm B'"]; - n_67 -> n_102 [id="[$e|146]", label="main/0.0→a/0.0:b/0.0"]; - n_76 -> n_1 [id="[$e|47]", label="c/0.0→a/0.0:'Hi, i'm C'"]; - n_63 -> n_89 [id="[$e|202]", label="c/0.0→b/0.0:'Hi, i'm C'"]; - n_21 -> n_89 [id="[$e|203]", label="c/0.0→b/0.0:'Hi, i'm C'"]; - n_2 -> n_119 [id="[$e|132]", label="b/0.0→c/0.0:'Hi, i'm B'"]; - n_79 -> n_37 [id="[$e|6]", label="main/0.0→a/0.0:c/0.0"]; - n_83 -> n_50 [id="[$e|183]", label="main/0.0→a/0.0:b/0.0"]; - n_20 -> n_133 [id="[$e|192]", label="c/0.0→a/0.0:'Hi, i'm C'"]; - n_25 -> n_107 [id="[$e|61]", label="b/0.0→a/0.0:'Hi, i'm B'"]; - n_65 -> n_109 [id="[$e|162]", label="main/0.0→c/0.0:b/0.0"]; - n_73 -> n_134 [id="[$e|141]", label="main/0.0→c/0.0:a/0.0"]; - n_25 -> n_148 [id="[$e|112]", label="b/0.0→a/0.0:'Hi, i'm B'"]; - n_6 -> n_31 [id="[$e|174]", label="b/0.0→c/0.0:'Hi, i'm B'"]; - n_66 -> n_125 [id="[$e|161]", label="main/0.0→a/0.0:c/0.0"]; n_121 -> n_40 [id="[$e|90]", label="b/0.0→c/0.0:'Hi, i'm B'"]; + n_76 -> n_1 [id="[$e|47]", label="c/0.0→a/0.0:'Hi, i'm C'"]; n_135 -> n_5 [id="[$e|100]", label="main/0.0→b/0.0:a/0.0"]; - n_132 -> n_111 [id="[$e|94]", label="b/0.0→a/0.0:'Hi, i'm B'"]; - n_120 -> n_64 [id="[$e|25]", label="main/0.0→b/0.0:a/0.0"]; - n_105 -> n_60 [id="[$e|129]", label="main/0.0→c/0.0:a/0.0"]; - n_47 -> n_90 [id="[$e|195]", label="b/0.0→c/0.0:'Hi, i'm B'"]; - n_62 -> n_44 [id="[$e|198]", label="main/0.0→a/0.0:b/0.0"]; - n_109 -> n_80 [id="[$e|205]", label="a/0.0→c/0.0:'Hi, i'm A'"]; - n_146 -> n_5 [id="[$e|113]", label="main/0.0→b/0.0:a/0.0"]; - n_74 -> n_33 [id="[$e|79]", label="a/0.0→b/0.0:'Hi, i'm A'"]; - n_122 -> n_2 [id="[$e|77]", label="main/0.0→b/0.0:c/0.0"]; n_19 -> n_25 [id="[$e|23]", label="main/0.0→c/0.0:b/0.0"]; - n_95 -> n_48 [id="[$e|150]", label="c/0.0→b/0.0:'Hi, i'm C'"]; + n_91 -> n_18 [id="[$e|76]", label="main/0.0→c/0.0:a/0.0"]; + n_22 -> n_59 [id="[$e|64]", label="main/0.0→b/0.0:a/0.0"]; n_7 -> n_133 [id="[$e|197]", label="c/0.0→a/0.0:'Hi, i'm C'"]; - n_95 -> n_28 [id="[$e|188]", label="a/0.0→c/0.0:'Hi, i'm A'"]; - n_103 -> n_95 [id="[$e|98]", label="main/0.0→c/0.0:b/0.0"]; - n_126 -> n_91 [id="[$e|10]", label="a/0.0→b/0.0:'Hi, i'm A'"]; - n_72 -> n_41 [id="[$e|86]", label="main/0.0→c/0.0:a/0.0"]; - n_103 -> n_8 [id="[$e|99]", label="a/0.0→c/0.0:'Hi, i'm A'"]; - n_101 -> n_137 [id="[$e|45]", label="main/0.0→b/0.0:c/0.0"]; - n_117 -> n_40 [id="[$e|84]", label="b/0.0→c/0.0:'Hi, i'm B'"]; + n_84 -> n_26 [id="[$e|169]", label="main/0.0→a/0.0:c/0.0"]; + n_124 -> n_9 [id="[$e|166]", label="b/0.0→a/0.0:'Hi, i'm B'"]; + n_46 -> n_119 [id="[$e|137]", label="b/0.0→c/0.0:'Hi, i'm B'"]; n_71 -> n_145 [id="[$e|71]", label="c/0.0→a/0.0:'Hi, i'm C'"]; - n_127 -> n_39 [id="[$e|115]", label="main/0.0→a/0.0:c/0.0"]; - n_37 -> n_56 [id="[$e|49]", label="main/0.0→c/0.0:b/0.0"]; - n_112 -> n_61 [id="[$e|29]", label="main/0.0→c/0.0:a/0.0"]; - n_147 -> n_45 [id="[$e|120]", label="main/0.0→c/0.0:a/0.0"]; - n_110 -> n_94 [id="[$e|54]", label="main/0.0→b/0.0:a/0.0"]; + n_37 -> n_103 [id="[$e|18]", label="main/0.0→b/0.0:a/0.0"]; + n_25 -> n_107 [id="[$e|61]", label="b/0.0→a/0.0:'Hi, i'm B'"]; n_116 -> n_9 [id="[$e|148]", label="b/0.0→a/0.0:'Hi, i'm B'"]; - n_111 -> n_143 [id="[$e|147]", label="main/0.0→c/0.0:b/0.0"]; - n_61 -> n_119 [id="[$e|127]", label="b/0.0→c/0.0:'Hi, i'm B'"]; + n_6 -> n_31 [id="[$e|174]", label="b/0.0→c/0.0:'Hi, i'm B'"]; n_108 -> n_87 [id="[$e|1]", label="main/0.0Δb/0.0 args nil"]; - n_82 -> n_53 [id="[$e|134]", label="main/0.0→b/0.0:c/0.0"]; - n_138 -> n_134 [id="[$e|128]", label="main/0.0→c/0.0:a/0.0"]; + n_43 -> n_136 [id="[$e|59]", label="main/0.0→c/0.0:b/0.0"]; + n_105 -> n_75 [id="[$e|130]", label="b/0.0→c/0.0:'Hi, i'm B'"]; + n_70 -> n_93 [id="[$e|124]", label="c/0.0→a/0.0:'Hi, i'm C'"]; + n_47 -> n_90 [id="[$e|195]", label="b/0.0→c/0.0:'Hi, i'm B'"]; + n_85 -> n_123 [id="[$e|182]", label="c/0.0→a/0.0:'Hi, i'm C'"]; + n_72 -> n_41 [id="[$e|86]", label="main/0.0→c/0.0:a/0.0"]; + n_39 -> n_100 [id="[$e|190]", label="b/0.0→a/0.0:'Hi, i'm B'"]; + n_121 -> n_46 [id="[$e|89]", label="main/0.0→a/0.0:b/0.0"]; + n_71 -> n_70 [id="[$e|72]", label="main/0.0→b/0.0:c/0.0"]; + n_64 -> n_66 [id="[$e|117]", label="c/0.0→b/0.0:'Hi, i'm C'"]; + n_19 -> n_49 [id="[$e|56]", label="main/0.0→c/0.0:b/0.0"]; + n_14 -> n_138 [id="[$e|37]", label="b/0.0→c/0.0:'Hi, i'm B'"]; + n_146 -> n_5 [id="[$e|113]", label="main/0.0→b/0.0:a/0.0"]; n_33 -> n_63 [id="[$e|176]", label="main/0.0→c/0.0:a/0.0"]; - n_122 -> n_12 [id="[$e|32]", label="main/0.0→b/0.0:c/0.0"]; + n_60 -> n_90 [id="[$e|193]", label="b/0.0→c/0.0:'Hi, i'm B'"]; + n_5 -> n_69 [id="[$e|153]", label="a/0.0→c/0.0:'Hi, i'm A'"]; + n_61 -> n_119 [id="[$e|127]", label="b/0.0→c/0.0:'Hi, i'm B'"]; + n_13 -> n_8 [id="[$e|105]", label="a/0.0→c/0.0:'Hi, i'm A'"]; + n_59 -> n_48 [id="[$e|155]", label="c/0.0→b/0.0:'Hi, i'm C'"]; n_65 -> n_32 [id="[$e|163]", label="a/0.0→c/0.0:'Hi, i'm A'"]; - n_142 -> n_44 [id="[$e|209]", label="main/0.0→a/0.0:c/0.0"]; - n_74 -> n_141 [id="[$e|80]", label="main/0.0→c/0.0:a/0.0"]; + n_104 -> n_92 [id="[$e|57]", label="main/0.0→c/0.0:b/0.0"]; + n_91 -> n_4 [id="[$e|31]", label="main/0.0→c/0.0:a/0.0"]; + n_138 -> n_134 [id="[$e|128]", label="main/0.0→c/0.0:a/0.0"]; + n_50 -> n_35 [id="[$e|196]", label="a/0.0→b/0.0:'Hi, i'm A'"]; + n_141 -> n_97 [id="[$e|177]", label="a/0.0→b/0.0:'Hi, i'm A'"]; + n_41 -> n_7 [id="[$e|142]", label="main/0.0→a/0.0:b/0.0"]; n_126 -> n_147 [id="[$e|27]", label="main/0.0→b/0.0:c/0.0"]; - n_11 -> n_30 [id="[$e|88]", label="a/0.0→b/0.0:'Hi, i'm A'"]; - n_81 -> n_42 [id="[$e|35]", label="main/0.0→c/0.0:a/0.0"]; - n_13 -> n_8 [id="[$e|105]", label="a/0.0→c/0.0:'Hi, i'm A'"]; - n_51 -> n_12 [id="[$e|43]", label="main/0.0→b/0.0:c/0.0"]; - n_14 -> n_138 [id="[$e|37]", label="b/0.0→c/0.0:'Hi, i'm B'"]; - n_22 -> n_59 [id="[$e|64]", label="main/0.0→b/0.0:a/0.0"]; - n_71 -> n_70 [id="[$e|72]", label="main/0.0→b/0.0:c/0.0"]; - n_64 -> n_124 [id="[$e|66]", label="main/0.0→a/0.0:c/0.0"]; - n_115 -> n_139 [id="[$e|187]", label="main/0.0→b/0.0:a/0.0"]; - n_122 -> n_30 [id="[$e|78]", label="a/0.0→b/0.0:'Hi, i'm A'"]; - n_112 -> n_141 [id="[$e|74]", label="main/0.0→c/0.0:a/0.0"]; - n_36 -> n_35 [id="[$e|199]", label="a/0.0→b/0.0:'Hi, i'm A'"]; n_57 -> n_98 [id="[$e|157]", label="main/0.0→c/0.0:b/0.0"]; - n_19 -> n_104 [id="[$e|21]", label="main/0.0→a/0.0:c/0.0"]; - n_37 -> n_132 [id="[$e|48]", label="main/0.0→b/0.0:a/0.0"]; - n_55 -> n_121 [id="[$e|42]", label="main/0.0→b/0.0:c/0.0"]; - n_81 -> n_72 [id="[$e|14]", label="b/0.0→c/0.0:'Hi, i'm B'"]; + n_13 -> n_95 [id="[$e|104]", label="main/0.0→c/0.0:b/0.0"]; + n_135 -> n_78 [id="[$e|101]", label="a/0.0→c/0.0:'Hi, i'm A'"]; + n_26 -> n_106 [id="[$e|208]", label="b/0.0→a/0.0:'Hi, i'm B'"]; + n_112 -> n_141 [id="[$e|74]", label="main/0.0→c/0.0:a/0.0"]; + n_120 -> n_64 [id="[$e|25]", label="main/0.0→b/0.0:a/0.0"]; + n_19 -> n_13 [id="[$e|55]", label="main/0.0→a/0.0:c/0.0"]; + n_2 -> n_97 [id="[$e|179]", label="a/0.0→b/0.0:'Hi, i'm A'"]; + n_84 -> n_142 [id="[$e|170]", label="b/0.0→a/0.0:'Hi, i'm B'"]; + n_22 -> n_131 [id="[$e|65]", label="c/0.0→b/0.0:'Hi, i'm C'"]; + n_140 -> n_68 [id="[$e|145]", label="a/0.0→b/0.0:'Hi, i'm A'"]; + n_25 -> n_39 [id="[$e|111]", label="main/0.0→a/0.0:c/0.0"]; + n_81 -> n_74 [id="[$e|34]", label="main/0.0→a/0.0:b/0.0"]; + n_109 -> n_80 [id="[$e|205]", label="a/0.0→c/0.0:'Hi, i'm A'"]; + n_68 -> n_128 [id="[$e|200]", label="main/0.0→b/0.0:c/0.0"]; + n_147 -> n_45 [id="[$e|120]", label="main/0.0→c/0.0:a/0.0"]; + n_43 -> n_65 [id="[$e|109]", label="main/0.0→a/0.0:c/0.0"]; n_112 -> n_138 [id="[$e|30]", label="b/0.0→c/0.0:'Hi, i'm B'"]; - n_135 -> n_131 [id="[$e|53]", label="c/0.0→b/0.0:'Hi, i'm C'"]; - n_79 -> n_126 [id="[$e|3]", label="main/0.0→a/0.0:b/0.0"]; - n_86 -> n_31 [id="[$e|172]", label="b/0.0→c/0.0:'Hi, i'm B'"]; - n_5 -> n_69 [id="[$e|153]", label="a/0.0→c/0.0:'Hi, i'm A'"]; - n_148 -> n_77 [id="[$e|191]", label="main/0.0→a/0.0:c/0.0"]; + n_55 -> n_11 [id="[$e|41]", label="main/0.0→a/0.0:b/0.0"]; + n_34 -> n_21 [id="[$e|158]", label="main/0.0→b/0.0:a/0.0"]; + n_16 -> n_129 [id="[$e|68]", label="main/0.0→a/0.0:c/0.0"]; + n_101 -> n_67 [id="[$e|93]", label="main/0.0→b/0.0:c/0.0"]; + n_37 -> n_56 [id="[$e|49]", label="main/0.0→c/0.0:b/0.0"]; + n_64 -> n_107 [id="[$e|67]", label="b/0.0→a/0.0:'Hi, i'm B'"]; } diff --git a/examples/if-cases/main_0_local_view.dot b/examples/if-cases/main_0_local_view.dot index 0c1073a..92ecf0f 100644 --- a/examples/if-cases/main_0_local_view.dot +++ b/examples/if-cases/main_0_local_view.dot @@ -12,13 +12,13 @@ digraph main_0 { n_8 [id="10", shape=circle, label="3"]; n_9 [id="5", shape=circle, label="6"]; + n_2 -> n_6 [id="[$e|5]", label="spawn a/0.0 args nil"]; + n_6 -> n_8 [id="[$e|6]", label="spawn b/0.0 args nil"]; n_3 -> n_1 [id="[$e|8]", label="a/0.0 ! c/0.0"]; + n_4 -> n_7 [id="[$e|9]", label="b/0.0 ! a/0.0"]; + n_8 -> n_3 [id="[$e|3]", label="spawn c/0.0 args nil"]; + n_5 -> n_7 [id="[$e|4]", label="c/0.0 ! a/0.0"]; n_9 -> n_5 [id="[$e|2]", label="b/0.0 ! c/0.0"]; n_3 -> n_9 [id="[$e|0]", label="a/0.0 ! b/0.0"]; - n_5 -> n_7 [id="[$e|4]", label="c/0.0 ! a/0.0"]; - n_2 -> n_6 [id="[$e|5]", label="spawn a/0.0 args nil"]; - n_4 -> n_7 [id="[$e|9]", label="b/0.0 ! a/0.0"]; - n_6 -> n_8 [id="[$e|6]", label="spawn b/0.0 args nil"]; n_1 -> n_4 [id="[$e|1]", label="c/0.0 ! b/0.0"]; - n_8 -> n_3 [id="[$e|3]", label="spawn c/0.0 args nil"]; } diff --git a/examples/if-cases/output.csv b/examples/if-cases/output.csv new file mode 100644 index 0000000..a5f7ac4 --- /dev/null +++ b/examples/if-cases/output.csv @@ -0,0 +1,11 @@ +line,57 +lv_main/0_nodes,9 +lv_main/0_edges,9 +lv_c/0_nodes,3 +lv_c/0_edges,3 +lv_b/0_nodes,3 +lv_b/0_edges,3 +lv_a/0_nodes,3 +lv_a/0_edges,3 +gv_nodes,86 +gv_edges,134 diff --git a/examples/pass/a_1_local_view.dot b/examples/pass/a_1_local_view.dot index 1bc8c09..0ecfdf9 100644 --- a/examples/pass/a_1_local_view.dot +++ b/examples/pass/a_1_local_view.dot @@ -5,6 +5,6 @@ digraph a_1 { n_0 -> n_1 [arrowhead=none]; n_2 [id="2", shape=doublecircle, label="2"]; - n_1 -> n_2 [id="[$e|2]", label="0#receive D"]; n_1 -> n_2 [id="[$e|1]", label="1#receive _"]; + n_1 -> n_2 [id="[$e|2]", label="0#receive D"]; } diff --git a/examples/pass/output.csv b/examples/pass/output.csv new file mode 100644 index 0000000..1c7624f --- /dev/null +++ b/examples/pass/output.csv @@ -0,0 +1,9 @@ +line,16 +lv_main/0_nodes,3 +lv_main/0_edges,2 +lv_a/1_nodes,2 +lv_a/1_edges,2 +lv_send/2_nodes,2 +lv_send/2_edges,1 +gv_nodes,3 +gv_edges,2 diff --git a/examples/producer/main_0_global_view.dot b/examples/producer/main_0_global_view.dot index e3c4c62..b1ae1bc 100644 --- a/examples/producer/main_0_global_view.dot +++ b/examples/producer/main_0_global_view.dot @@ -14,14 +14,14 @@ digraph global { n_10 [id="10", shape=circle, label="10"]; n_11 [id="5", shape=circle, label="5"]; + n_3 -> n_8 [id="[$e|0]", label="main/0.0Δproducer/0.0 args nil"]; + n_11 -> n_6 [id="[$e|4]", label="consumer/0.0→producer/0.0:{req,pid_self}"]; + n_7 -> n_5 [id="[$e|2]", label="consumer/0.0→producer/0.0:{req,pid_self}"]; n_1 -> n_10 [id="[$e|8]", label="consumer/0.0→producer/0.0:{req,pid_self}"]; n_10 -> n_9 [id="[$e|9]", label="producer/0.0→consumer/0.0:item"]; - n_4 -> n_2 [id="[$e|6]", label="consumer/0.0→producer/0.0:{req,pid_self}"]; - n_2 -> n_1 [id="[$e|7]", label="producer/0.0→consumer/0.0:item"]; - n_6 -> n_4 [id="[$e|5]", label="producer/0.0→consumer/0.0:item"]; n_5 -> n_11 [id="[$e|3]", label="producer/0.0→consumer/0.0:item"]; - n_11 -> n_6 [id="[$e|4]", label="consumer/0.0→producer/0.0:{req,pid_self}"]; n_8 -> n_7 [id="[$e|1]", label="main/0.0Δconsumer/0.0 args nil"]; - n_3 -> n_8 [id="[$e|0]", label="main/0.0Δproducer/0.0 args nil"]; - n_7 -> n_5 [id="[$e|2]", label="consumer/0.0→producer/0.0:{req,pid_self}"]; + n_6 -> n_4 [id="[$e|5]", label="producer/0.0→consumer/0.0:item"]; + n_2 -> n_1 [id="[$e|7]", label="producer/0.0→consumer/0.0:item"]; + n_4 -> n_2 [id="[$e|6]", label="consumer/0.0→producer/0.0:{req,pid_self}"]; } diff --git a/examples/producer/main_0_local_view.dot b/examples/producer/main_0_local_view.dot index 2607361..7689e4c 100644 --- a/examples/producer/main_0_local_view.dot +++ b/examples/producer/main_0_local_view.dot @@ -6,6 +6,6 @@ digraph main_0 { n_2 [id="3", shape=doublecircle, label="3"]; n_3 [id="2", shape=circle, label="2"]; - n_1 -> n_3 [id="[$e|1]", label="spawn producer/0.0 args nil"]; n_3 -> n_2 [id="[$e|0]", label="spawn consumer/0.0 args nil"]; + n_1 -> n_3 [id="[$e|1]", label="spawn producer/0.0 args nil"]; } diff --git a/examples/producer/output.csv b/examples/producer/output.csv new file mode 100644 index 0000000..9f1bcca --- /dev/null +++ b/examples/producer/output.csv @@ -0,0 +1,11 @@ +line,30 +lv_main/0_nodes,3 +lv_main/0_edges,2 +lv_recv/0_nodes,2 +lv_recv/0_edges,1 +lv_consumer/0_nodes,4 +lv_consumer/0_edges,3 +lv_producer/0_nodes,2 +lv_producer/0_edges,2 +gv_nodes,8 +gv_edges,7 diff --git a/examples/producer/producer_0_local_view.dot b/examples/producer/producer_0_local_view.dot index 994bc55..532a599 100644 --- a/examples/producer/producer_0_local_view.dot +++ b/examples/producer/producer_0_local_view.dot @@ -5,6 +5,6 @@ digraph producer_0 { n_0 -> n_1 [arrowhead=none]; n_2 [id="2", shape=circle, label="2"]; - n_2 -> n_1 [id="[$e|3]", label="P ! item"]; n_1 -> n_2 [id="[$e|2]", label="0#receive {req,P}"]; + n_2 -> n_1 [id="[$e|3]", label="P ! item"]; } diff --git a/examples/serverclient/client_0_local_view.dot b/examples/serverclient/client_0_local_view.dot index 8ee5601..12557ab 100644 --- a/examples/serverclient/client_0_local_view.dot +++ b/examples/serverclient/client_0_local_view.dot @@ -7,8 +7,8 @@ digraph client_0 { n_3 [id="3", shape=circle, label="2"]; n_4 [id="2", shape=doublecircle, label="4"]; - n_1 -> n_3 [id="[$e|2]", label="server/0.0 ! {req,pid_self}"]; - n_2 -> n_4 [id="[$e|3]", label="Handle ! done"]; n_2 -> n_2 [id="[$e|5]", label="Handle ! next"]; + n_2 -> n_4 [id="[$e|3]", label="Handle ! done"]; n_3 -> n_2 [id="[$e|6]", label="0#receive {res,Handle}"]; + n_1 -> n_3 [id="[$e|2]", label="server/0.0 ! {req,pid_self}"]; } diff --git a/examples/serverclient/handle_req_1_local_view.dot b/examples/serverclient/handle_req_1_local_view.dot index 824492f..2ef87b3 100644 --- a/examples/serverclient/handle_req_1_local_view.dot +++ b/examples/serverclient/handle_req_1_local_view.dot @@ -5,6 +5,6 @@ digraph handle_req_1 { n_0 -> n_1 [arrowhead=none]; n_2 [id="2", shape=doublecircle, label="2"]; - n_1 -> n_2 [id="[$e|1]", label="1#receive done"]; n_1 -> n_1 [id="[$e|5]", label="0#receive next"]; + n_1 -> n_2 [id="[$e|1]", label="1#receive done"]; } diff --git a/examples/serverclient/main_0_global_view.dot b/examples/serverclient/main_0_global_view.dot index 0487931..b87da9d 100644 --- a/examples/serverclient/main_0_global_view.dot +++ b/examples/serverclient/main_0_global_view.dot @@ -12,12 +12,12 @@ digraph global { n_8 [id="2", shape=circle, label="2"]; n_9 [id="5", shape=circle, label="5"]; + n_6 -> n_4 [id="[$e|5]", label="client/0.0→handle_req/1.0:done"]; + n_6 -> n_1 [id="[$e|7]", label="client/0.0→handle_req/1.0:next"]; + n_5 -> n_9 [id="[$e|3]", label="server/0.0Δhandle_req/1.0 args [P]"]; + n_6 -> n_2 [id="[$e|6]", label="client/0.0→handle_req/1.0:next"]; n_3 -> n_8 [id="[$e|0]", label="main/0.0Δserver/0.0 args nil"]; n_9 -> n_6 [id="[$e|4]", label="server/0.0→client/0.0:{res,handle_req/1.0}"]; n_7 -> n_5 [id="[$e|2]", label="client/0.0→server/0.0:{req,pid_self}"]; - n_5 -> n_9 [id="[$e|3]", label="server/0.0Δhandle_req/1.0 args [P]"]; n_8 -> n_7 [id="[$e|1]", label="main/0.0Δclient/0.0 args nil"]; - n_6 -> n_4 [id="[$e|5]", label="client/0.0→handle_req/1.0:done"]; - n_6 -> n_1 [id="[$e|7]", label="client/0.0→handle_req/1.0:next"]; - n_6 -> n_2 [id="[$e|6]", label="client/0.0→handle_req/1.0:next"]; } diff --git a/examples/serverclient/output.csv b/examples/serverclient/output.csv new file mode 100644 index 0000000..9631515 --- /dev/null +++ b/examples/serverclient/output.csv @@ -0,0 +1,13 @@ +line,41 +lv_main/0_nodes,3 +lv_main/0_edges,2 +lv_server/0_nodes,5 +lv_server/0_edges,5 +lv_client/0_nodes,4 +lv_client/0_edges,4 +lv_handle_req/1_nodes,2 +lv_handle_req/1_edges,2 +lv_cli_loop/1_nodes,2 +lv_cli_loop/1_edges,2 +gv_nodes,7 +gv_edges,8 diff --git a/examples/serverclient/server_0_local_view.dot b/examples/serverclient/server_0_local_view.dot index ce2d9b8..37875f4 100644 --- a/examples/serverclient/server_0_local_view.dot +++ b/examples/serverclient/server_0_local_view.dot @@ -8,9 +8,9 @@ digraph server_0 { n_4 [id="3", shape=doublecircle, label="4"]; n_5 [id="2", shape=circle, label="2"]; + n_3 -> n_1 [id="[$e|7]", label="P ! {res,handle_req/1.0}"]; + n_1 -> n_5 [id="[$e|3]", label="0#receive {req,P}"]; n_1 -> n_2 [id="[$e|4]", label="1#receive ciao"]; n_5 -> n_3 [id="[$e|2]", label="spawn handle_req/1.0 args [P]"]; - n_1 -> n_5 [id="[$e|3]", label="0#receive {req,P}"]; n_2 -> n_4 [id="[$e|1]", label="spawn handle_req/1.1 args [pid_self]"]; - n_3 -> n_1 [id="[$e|7]", label="P ! {res,handle_req/1.0}"]; } diff --git a/examples/spawn/dummy_0_local_view.dot b/examples/spawn/dummy_0_local_view.dot index 023098d..0c024a1 100644 --- a/examples/spawn/dummy_0_local_view.dot +++ b/examples/spawn/dummy_0_local_view.dot @@ -9,9 +9,9 @@ digraph dummy_0 { n_5 [id="2", shape=circle, label="2"]; n_6 [id="5", shape=doublecircle, label="6"]; - n_2 -> n_6 [id="[$e|0]", label="spawn test/0.4 args nil"]; - n_3 -> n_4 [id="[$e|1]", label="Pid ! nice"]; n_4 -> n_2 [id="[$e|3]", label="spawn test/0.3 args nil"]; - n_5 -> n_3 [id="[$e|2]", label="0#receive Pid"]; + n_2 -> n_6 [id="[$e|0]", label="spawn test/0.4 args nil"]; n_1 -> n_5 [id="[$e|4]", label="spawn test/0.2 args nil"]; + n_5 -> n_3 [id="[$e|2]", label="0#receive Pid"]; + n_3 -> n_4 [id="[$e|1]", label="Pid ! nice"]; } diff --git a/examples/spawn/main_0_global_view.dot b/examples/spawn/main_0_global_view.dot index 045bdc3..964bbab 100644 --- a/examples/spawn/main_0_global_view.dot +++ b/examples/spawn/main_0_global_view.dot @@ -12,12 +12,12 @@ digraph global { n_8 [id="2", shape=circle, label="2"]; n_9 [id="5", shape=circle, label="5"]; + n_5 -> n_9 [id="[$e|3]", label="main/0.0→dummy/0.0:pid_self"]; n_3 -> n_8 [id="[$e|0]", label="main/0.0Δdummy/0.0 args nil"]; + n_9 -> n_6 [id="[$e|4]", label="dummy/0.0Δtest/0.3 args nil"]; + n_7 -> n_5 [id="[$e|2]", label="dummy/0.0Δtest/0.2 args nil"]; + n_6 -> n_4 [id="[$e|5]", label="dummy/0.0Δtest/0.4 args nil"]; n_2 -> n_1 [id="[$e|7]", label="main/0.0Δtest/0.1 args nil"]; n_8 -> n_7 [id="[$e|1]", label="main/0.0Δtest/0.0 args nil"]; - n_5 -> n_9 [id="[$e|3]", label="main/0.0→dummy/0.0:pid_self"]; - n_7 -> n_5 [id="[$e|2]", label="dummy/0.0Δtest/0.2 args nil"]; - n_9 -> n_6 [id="[$e|4]", label="dummy/0.0Δtest/0.3 args nil"]; n_4 -> n_2 [id="[$e|6]", label="dummy/0.0→main/0.0:nice"]; - n_6 -> n_4 [id="[$e|5]", label="dummy/0.0Δtest/0.4 args nil"]; } diff --git a/examples/spawn/main_0_local_view.dot b/examples/spawn/main_0_local_view.dot index e92903a..5a361b6 100644 --- a/examples/spawn/main_0_local_view.dot +++ b/examples/spawn/main_0_local_view.dot @@ -9,9 +9,9 @@ digraph main_0 { n_5 [id="2", shape=circle, label="2"]; n_6 [id="5", shape=doublecircle, label="6"]; - n_3 -> n_4 [id="[$e|0]", label="spawn test/0.0 args nil"]; - n_4 -> n_2 [id="[$e|1]", label="0#receive _"]; n_5 -> n_3 [id="[$e|3]", label="dummy/0.0 ! pid_self"]; - n_2 -> n_6 [id="[$e|2]", label="spawn test/0.1 args nil"]; + n_3 -> n_4 [id="[$e|0]", label="spawn test/0.0 args nil"]; n_1 -> n_5 [id="[$e|4]", label="spawn dummy/0.0 args nil"]; + n_2 -> n_6 [id="[$e|2]", label="spawn test/0.1 args nil"]; + n_4 -> n_2 [id="[$e|1]", label="0#receive _"]; } diff --git a/examples/spawn/output.csv b/examples/spawn/output.csv new file mode 100644 index 0000000..5716529 --- /dev/null +++ b/examples/spawn/output.csv @@ -0,0 +1,9 @@ +line,22 +lv_main/0_nodes,6 +lv_main/0_edges,5 +lv_dummy/0_nodes,6 +lv_dummy/0_edges,5 +lv_test/0_nodes,1 +lv_test/0_edges,0 +gv_nodes,9 +gv_edges,8 diff --git a/examples/test/foo1/c_1_local_view.dot b/examples/test/foo1/c_1_local_view.dot index 6b5e3ec..d18c7e7 100644 --- a/examples/test/foo1/c_1_local_view.dot +++ b/examples/test/foo1/c_1_local_view.dot @@ -6,6 +6,6 @@ digraph c_1 { n_2 [id="3", shape=doublecircle, label="3"]; n_3 [id="2", shape=circle, label="2"]; - n_1 -> n_3 [id="[$e|1]", label="0#receive X"]; n_3 -> n_2 [id="[$e|0]", label="B ! X"]; + n_1 -> n_3 [id="[$e|1]", label="0#receive X"]; } diff --git a/examples/test/foo1/output.csv b/examples/test/foo1/output.csv new file mode 100644 index 0000000..863f34a --- /dev/null +++ b/examples/test/foo1/output.csv @@ -0,0 +1,9 @@ +line,18 +lv_b/0_nodes,2 +lv_b/0_edges,1 +lv_c/1_nodes,3 +lv_c/1_edges,2 +lv_test/0_nodes,5 +lv_test/0_edges,4 +gv_nodes,6 +gv_edges,7 diff --git a/examples/test/foo1/test_0_global_view.dot b/examples/test/foo1/test_0_global_view.dot index 116acbd..4f295b4 100644 --- a/examples/test/foo1/test_0_global_view.dot +++ b/examples/test/foo1/test_0_global_view.dot @@ -11,11 +11,11 @@ digraph global { n_7 [id="2", shape=circle, label="2"]; n_8 [id="5", shape=circle, label="5"]; - n_4 -> n_5 [id="[$e|4]", label="test/0.0→c/1.0:dos"]; - n_6 -> n_8 [id="[$e|3]", label="test/0.0→c/1.0:dos"]; - n_7 -> n_6 [id="[$e|1]", label="test/0.0Δc/1.0 args [b/0.0]"]; n_8 -> n_3 [id="[$e|5]", label="test/0.0→b/0.0:uno"]; n_8 -> n_1 [id="[$e|6]", label="c/1.0→b/0.0:X"]; n_2 -> n_7 [id="[$e|0]", label="test/0.0Δb/0.0 args nil"]; + n_6 -> n_8 [id="[$e|3]", label="test/0.0→c/1.0:dos"]; n_6 -> n_4 [id="[$e|2]", label="test/0.0→b/0.0:uno"]; + n_7 -> n_6 [id="[$e|1]", label="test/0.0Δc/1.0 args [b/0.0]"]; + n_4 -> n_5 [id="[$e|4]", label="test/0.0→c/1.0:dos"]; } diff --git a/examples/test/foo1/test_0_local_view.dot b/examples/test/foo1/test_0_local_view.dot index 117dc2a..69ad04e 100644 --- a/examples/test/foo1/test_0_local_view.dot +++ b/examples/test/foo1/test_0_local_view.dot @@ -8,8 +8,8 @@ digraph test_0 { n_4 [id="2", shape=circle, label="2"]; n_5 [id="5", shape=circle, label="3"]; - n_4 -> n_5 [id="[$e|3]", label="spawn c/1.0 args [b/0.0]"]; - n_1 -> n_4 [id="[$e|1]", label="spawn b/0.0 args nil"]; n_3 -> n_2 [id="[$e|0]", label="c/1.0 ! dos"]; + n_4 -> n_5 [id="[$e|3]", label="spawn c/1.0 args [b/0.0]"]; n_5 -> n_3 [id="[$e|2]", label="b/0.0 ! uno"]; + n_1 -> n_4 [id="[$e|1]", label="spawn b/0.0 args nil"]; } diff --git a/examples/test/foo2/b_0_local_view.dot b/examples/test/foo2/b_0_local_view.dot index c28d457..817f174 100644 --- a/examples/test/foo2/b_0_local_view.dot +++ b/examples/test/foo2/b_0_local_view.dot @@ -6,6 +6,6 @@ digraph b_0 { n_2 [id="3", shape=circle, label="2"]; n_3 [id="2", shape=doublecircle, label="3"]; - n_1 -> n_2 [id="[$e|1]", label="0#receive X"]; n_2 -> n_3 [id="[$e|0]", label="0#receive Z"]; + n_1 -> n_2 [id="[$e|1]", label="0#receive X"]; } diff --git a/examples/test/foo2/c_0_local_view.dot b/examples/test/foo2/c_0_local_view.dot index a70750f..2ea7cd4 100644 --- a/examples/test/foo2/c_0_local_view.dot +++ b/examples/test/foo2/c_0_local_view.dot @@ -6,6 +6,6 @@ digraph c_0 { n_2 [id="3", shape=doublecircle, label="3"]; n_3 [id="2", shape=circle, label="2"]; - n_1 -> n_3 [id="[$e|1]", label="0#receive _"]; n_3 -> n_2 [id="[$e|0]", label="atom ! 4"]; + n_1 -> n_3 [id="[$e|1]", label="0#receive _"]; } diff --git a/examples/test/foo2/output.csv b/examples/test/foo2/output.csv new file mode 100644 index 0000000..3d0fca3 --- /dev/null +++ b/examples/test/foo2/output.csv @@ -0,0 +1,11 @@ +line,23 +lv_c/0_nodes,3 +lv_c/0_edges,2 +lv_a/1_nodes,2 +lv_a/1_edges,1 +lv_b/0_nodes,3 +lv_b/0_edges,2 +lv_test/0_nodes,3 +lv_test/0_edges,2 +gv_nodes,4 +gv_edges,3 diff --git a/examples/test/foo2/test_0_global_view.dot b/examples/test/foo2/test_0_global_view.dot index 2ad3f12..3619826 100644 --- a/examples/test/foo2/test_0_global_view.dot +++ b/examples/test/foo2/test_0_global_view.dot @@ -7,7 +7,7 @@ digraph global { n_3 [id="3", shape=circle, label="3"]; n_4 [id="2", shape=circle, label="2"]; - n_4 -> n_3 [id="[$e|1]", label="test/0.0Δa/1.0 args [c/0.0]"]; n_1 -> n_4 [id="[$e|0]", label="test/0.0Δc/0.0 args nil"]; n_3 -> n_2 [id="[$e|2]", label="a/1.0→c/0.0:2"]; + n_4 -> n_3 [id="[$e|1]", label="test/0.0Δa/1.0 args [c/0.0]"]; } diff --git a/examples/test/foo2/test_0_local_view.dot b/examples/test/foo2/test_0_local_view.dot index c9608dd..9a04b8b 100644 --- a/examples/test/foo2/test_0_local_view.dot +++ b/examples/test/foo2/test_0_local_view.dot @@ -6,6 +6,6 @@ digraph test_0 { n_2 [id="3", shape=doublecircle, label="3"]; n_3 [id="2", shape=circle, label="2"]; - n_3 -> n_2 [id="[$e|1]", label="spawn a/1.0 args [c/0.0]"]; n_1 -> n_3 [id="[$e|0]", label="spawn c/0.0 args nil"]; + n_3 -> n_2 [id="[$e|1]", label="spawn a/1.0 args [c/0.0]"]; } diff --git a/examples/test/foo3/output.csv b/examples/test/foo3/output.csv new file mode 100644 index 0000000..3e24f74 --- /dev/null +++ b/examples/test/foo3/output.csv @@ -0,0 +1,9 @@ +line,22 +lv_a/1_nodes,3 +lv_a/1_edges,2 +lv_b/1_nodes,2 +lv_b/1_edges,1 +lv_test/0_nodes,6 +lv_test/0_edges,5 +gv_nodes,10 +gv_edges,14 diff --git a/examples/test/foo3/test_0_global_view.dot b/examples/test/foo3/test_0_global_view.dot index f5a4bc4..79b36a4 100644 --- a/examples/test/foo3/test_0_global_view.dot +++ b/examples/test/foo3/test_0_global_view.dot @@ -16,20 +16,20 @@ digraph global { n_12 [id="13", shape=doublecircle, label="13"]; n_13 [id="5", shape=circle, label="5"]; - n_13 -> n_1 [id="[$e|8]", label="b/1.0→test/0.0:2"]; - n_3 -> n_9 [id="[$e|0]", label="test/0.0Δa/1.0 args [pid_self]"]; - n_13 -> n_4 [id="[$e|7]", label="a/1.0→test/0.0:1"]; - n_9 -> n_7 [id="[$e|1]", label="test/0.0Δb/1.0 args [pid_self]"]; - n_7 -> n_13 [id="[$e|3]", label="a/1.0→test/0.0:3"]; - n_6 -> n_11 [id="[$e|9]", label="a/1.0→test/0.0:1"]; - n_7 -> n_5 [id="[$e|2]", label="a/1.0→test/0.0:1"]; n_2 -> n_12 [id="[$e|12]", label="a/1.0→test/0.0:3"]; - n_10 -> n_12 [id="[$e|15]", label="a/1.0→test/0.0:1"]; - n_4 -> n_8 [id="[$e|11]", label="b/1.0→test/0.0:2"]; + n_1 -> n_12 [id="[$e|13]", label="a/1.0→test/0.0:1"]; + n_7 -> n_13 [id="[$e|3]", label="a/1.0→test/0.0:3"]; + n_3 -> n_9 [id="[$e|0]", label="test/0.0Δa/1.0 args [pid_self]"]; n_7 -> n_6 [id="[$e|4]", label="b/1.0→test/0.0:2"]; + n_7 -> n_5 [id="[$e|2]", label="a/1.0→test/0.0:1"]; + n_6 -> n_11 [id="[$e|9]", label="a/1.0→test/0.0:1"]; n_6 -> n_10 [id="[$e|10]", label="a/1.0→test/0.0:3"]; - n_1 -> n_12 [id="[$e|13]", label="a/1.0→test/0.0:1"]; - n_5 -> n_2 [id="[$e|6]", label="b/1.0→test/0.0:2"]; - n_11 -> n_12 [id="[$e|14]", label="a/1.0→test/0.0:3"]; n_5 -> n_4 [id="[$e|5]", label="a/1.0→test/0.0:3"]; + n_13 -> n_4 [id="[$e|7]", label="a/1.0→test/0.0:1"]; + n_4 -> n_8 [id="[$e|11]", label="b/1.0→test/0.0:2"]; + n_10 -> n_12 [id="[$e|15]", label="a/1.0→test/0.0:1"]; + n_11 -> n_12 [id="[$e|14]", label="a/1.0→test/0.0:3"]; + n_13 -> n_1 [id="[$e|8]", label="b/1.0→test/0.0:2"]; + n_9 -> n_7 [id="[$e|1]", label="test/0.0Δb/1.0 args [pid_self]"]; + n_5 -> n_2 [id="[$e|6]", label="b/1.0→test/0.0:2"]; } diff --git a/examples/test/foo3/test_0_local_view.dot b/examples/test/foo3/test_0_local_view.dot index 6aab37b..393e0f1 100644 --- a/examples/test/foo3/test_0_local_view.dot +++ b/examples/test/foo3/test_0_local_view.dot @@ -9,9 +9,9 @@ digraph test_0 { n_5 [id="2", shape=circle, label="2"]; n_6 [id="5", shape=doublecircle, label="6"]; - n_3 -> n_4 [id="[$e|0]", label="0#receive X"]; - n_5 -> n_3 [id="[$e|1]", label="spawn b/1.0 args [pid_self]"]; n_1 -> n_5 [id="[$e|3]", label="spawn a/1.0 args [pid_self]"]; - n_4 -> n_2 [id="[$e|2]", label="0#receive Y"]; + n_3 -> n_4 [id="[$e|0]", label="0#receive X"]; n_2 -> n_6 [id="[$e|4]", label="0#receive Z"]; + n_4 -> n_2 [id="[$e|2]", label="0#receive Y"]; + n_5 -> n_3 [id="[$e|1]", label="spawn b/1.0 args [pid_self]"]; } diff --git a/examples/test/foo4/output.csv b/examples/test/foo4/output.csv new file mode 100644 index 0000000..832d518 --- /dev/null +++ b/examples/test/foo4/output.csv @@ -0,0 +1,11 @@ +line,20 +lv_r/0_nodes,4 +lv_r/0_edges,3 +lv_w1/1_nodes,3 +lv_w1/1_edges,2 +lv_w2/1_nodes,3 +lv_w2/1_edges,2 +lv_test/0_nodes,6 +lv_test/0_edges,5 +gv_nodes,12 +gv_edges,15 diff --git a/examples/test/foo4/test_0_global_view.dot b/examples/test/foo4/test_0_global_view.dot index 67fa92e..e10083b 100644 --- a/examples/test/foo4/test_0_global_view.dot +++ b/examples/test/foo4/test_0_global_view.dot @@ -19,23 +19,23 @@ digraph global { n_15 [id="13", shape=circle, label="13"]; n_16 [id="5", shape=circle, label="5"]; - n_4 -> n_11 [id="[$e|0]", label="test/0.0Δr/0.0 args nil"]; - n_7 -> n_8 [id="[$e|4]", label="test/0.0→w2/1.0:w2"]; - n_14 -> n_15 [id="[$e|13]", label="w2/1.0→r/0.0:r2"]; - n_9 -> n_7 [id="[$e|2]", label="test/0.0Δw2/1.0 args [r/0.0]"]; - n_10 -> n_13 [id="[$e|16]", label="w2/1.0→r/0.0:r2"]; - n_14 -> n_10 [id="[$e|14]", label="w1/1.0→r/0.0:r1"]; - n_3 -> n_15 [id="[$e|11]", label="w2/1.0→r/0.0:r2"]; - n_8 -> n_14 [id="[$e|8]", label="test/0.0→w1/1.0:w1"]; - n_5 -> n_12 [id="[$e|9]", label="test/0.0→w2/1.0:w2"]; - n_7 -> n_16 [id="[$e|3]", label="test/0.0→w1/1.0:w1"]; - n_1 -> n_6 [id="[$e|18]", label="w1/1.0→r/0.0:r1"]; - n_11 -> n_9 [id="[$e|1]", label="test/0.0Δw1/1.0 args [r/0.0]"]; n_16 -> n_5 [id="[$e|5]", label="w1/1.0→r/0.0:r1"]; + n_3 -> n_15 [id="[$e|11]", label="w2/1.0→r/0.0:r2"]; + n_14 -> n_15 [id="[$e|13]", label="w2/1.0→r/0.0:r2"]; + n_8 -> n_2 [id="[$e|7]", label="w2/1.0→r/0.0:r2"]; n_12 -> n_13 [id="[$e|15]", label="w2/1.0→r/0.0:r2"]; + n_7 -> n_16 [id="[$e|3]", label="test/0.0→w1/1.0:w1"]; n_3 -> n_10 [id="[$e|10]", label="w1/1.0→r/0.0:r1"]; - n_8 -> n_2 [id="[$e|7]", label="w2/1.0→r/0.0:r2"]; + n_16 -> n_3 [id="[$e|6]", label="test/0.0→w2/1.0:w2"]; + n_4 -> n_11 [id="[$e|0]", label="test/0.0Δr/0.0 args nil"]; + n_10 -> n_13 [id="[$e|16]", label="w2/1.0→r/0.0:r2"]; n_15 -> n_6 [id="[$e|17]", label="w1/1.0→r/0.0:r1"]; + n_7 -> n_8 [id="[$e|4]", label="test/0.0→w2/1.0:w2"]; + n_14 -> n_10 [id="[$e|14]", label="w1/1.0→r/0.0:r1"]; + n_1 -> n_6 [id="[$e|18]", label="w1/1.0→r/0.0:r1"]; n_2 -> n_1 [id="[$e|12]", label="test/0.0→w1/1.0:w1"]; - n_16 -> n_3 [id="[$e|6]", label="test/0.0→w2/1.0:w2"]; + n_8 -> n_14 [id="[$e|8]", label="test/0.0→w1/1.0:w1"]; + n_9 -> n_7 [id="[$e|2]", label="test/0.0Δw2/1.0 args [r/0.0]"]; + n_11 -> n_9 [id="[$e|1]", label="test/0.0Δw1/1.0 args [r/0.0]"]; + n_5 -> n_12 [id="[$e|9]", label="test/0.0→w2/1.0:w2"]; } diff --git a/examples/test/foo4/test_0_local_view.dot b/examples/test/foo4/test_0_local_view.dot index 716c9a2..b2b3c25 100644 --- a/examples/test/foo4/test_0_local_view.dot +++ b/examples/test/foo4/test_0_local_view.dot @@ -9,9 +9,9 @@ digraph test_0 { n_5 [id="2", shape=circle, label="2"]; n_6 [id="5", shape=circle, label="5"]; + n_6 -> n_2 [id="[$e|3]", label="w2/1.0 ! w2"]; n_5 -> n_3 [id="[$e|0]", label="spawn w1/1.0 args [r/0.0]"]; n_3 -> n_4 [id="[$e|4]", label="spawn w2/1.0 args [r/0.0]"]; n_1 -> n_5 [id="[$e|2]", label="spawn r/0.0 args nil"]; - n_6 -> n_2 [id="[$e|3]", label="w2/1.0 ! w2"]; n_4 -> n_6 [id="[$e|1]", label="w1/1.0 ! w1"]; } diff --git a/examples/test/foo5/output.csv b/examples/test/foo5/output.csv new file mode 100644 index 0000000..5ebe9c2 --- /dev/null +++ b/examples/test/foo5/output.csv @@ -0,0 +1,9 @@ +line,18 +lv_target/0_nodes,5 +lv_target/0_edges,4 +lv_proxy/1_nodes,3 +lv_proxy/1_edges,2 +lv_test/0_nodes,8 +lv_test/0_edges,7 +gv_nodes,39 +gv_edges,87 diff --git a/examples/test/foo5/test_0_global_view.dot b/examples/test/foo5/test_0_global_view.dot index 17c2ad9..cf53929 100644 --- a/examples/test/foo5/test_0_global_view.dot +++ b/examples/test/foo5/test_0_global_view.dot @@ -82,169 +82,169 @@ digraph global { n_78 [id="56", shape=circle, label="56"]; n_79 [id="29", shape=circle, label="29"]; - n_40 -> n_46 [id="[$e|11]", label="test/0.0→proxy/1.0:m2"]; + n_26 -> n_24 [id="[$e|16]", label="test/0.0→proxy/1.1:m3"]; + n_64 -> n_31 [id="[$e|32]", label="test/0.0→target/0.0:m1"]; + n_50 -> n_73 [id="[$e|56]", label="test/0.0→proxy/1.0:m2"]; + n_48 -> n_9 [id="[$e|124]", label="proxy/1.0→target/0.0:M"]; + n_15 -> n_59 [id="[$e|156]", label="proxy/1.0→target/0.0:M"]; + n_4 -> n_72 [id="[$e|108]", label="test/0.0→target/0.0:m4"]; + n_79 -> n_48 [id="[$e|76]", label="test/0.0→target/0.0:m4"]; n_63 -> n_68 [id="[$e|111]", label="test/0.0→proxy/1.0:m2"]; - n_20 -> n_23 [id="[$e|98]", label="proxy/1.1→target/0.0:M"]; - n_43 -> n_56 [id="[$e|157]", label="proxy/1.1→target/0.0:M"]; - n_35 -> n_41 [id="[$e|42]", label="test/0.0→target/0.0:m4"]; + n_44 -> n_42 [id="[$e|142]", label="proxy/1.1→target/0.0:M"]; + n_7 -> n_11 [id="[$e|37]", label="test/0.0→proxy/1.1:m3"]; + n_37 -> n_44 [id="[$e|93]", label="test/0.0→target/0.0:m1"]; + n_40 -> n_46 [id="[$e|11]", label="test/0.0→proxy/1.0:m2"]; + n_30 -> n_78 [id="[$e|82]", label="proxy/1.0→target/0.0:M"]; + n_46 -> n_34 [id="[$e|30]", label="proxy/1.0→target/0.0:M"]; + n_57 -> n_31 [id="[$e|26]", label="test/0.0→target/0.0:m4"]; + n_20 -> n_48 [id="[$e|96]", label="test/0.0→target/0.0:m4"]; + n_62 -> n_21 [id="[$e|23]", label="test/0.0→target/0.0:m4"]; n_12 -> n_76 [id="[$e|107]", label="proxy/1.0→target/0.0:M"]; - n_40 -> n_64 [id="[$e|12]", label="test/0.0→proxy/1.1:m3"]; - n_62 -> n_13 [id="[$e|24]", label="proxy/1.0→target/0.0:M"]; + n_27 -> n_2 [id="[$e|117]", label="proxy/1.1→target/0.0:M"]; + n_3 -> n_48 [id="[$e|86]", label="test/0.0→target/0.0:m1"]; + n_25 -> n_54 [id="[$e|0]", label="test/0.0Δtarget/0.0 args nil"]; + n_12 -> n_33 [id="[$e|105]", label="test/0.0→target/0.0:m1"]; + n_26 -> n_7 [id="[$e|13]", label="test/0.0→target/0.0:m1"]; n_72 -> n_15 [id="[$e|130]", label="test/0.0→proxy/1.0:m2"]; + n_62 -> n_11 [id="[$e|25]", label="test/0.0→proxy/1.1:m3"]; + n_66 -> n_62 [id="[$e|8]", label="test/0.0→proxy/1.0:m2"]; + n_58 -> n_36 [id="[$e|144]", label="proxy/1.1→target/0.0:M"]; + n_39 -> n_26 [id="[$e|5]", label="test/0.0→proxy/1.0:m2"]; + n_53 -> n_43 [id="[$e|133]", label="test/0.0→target/0.0:m1"]; n_23 -> n_22 [id="[$e|128]", label="test/0.0→target/0.0:m4"]; - n_46 -> n_21 [id="[$e|29]", label="test/0.0→target/0.0:m1"]; - n_52 -> n_56 [id="[$e|153]", label="proxy/1.1→target/0.0:M"]; - n_13 -> n_29 [id="[$e|67]", label="test/0.0→target/0.0:m4"]; + n_49 -> n_31 [id="[$e|48]", label="test/0.0→target/0.0:m4"]; + n_20 -> n_23 [id="[$e|98]", label="proxy/1.1→target/0.0:M"]; + n_53 -> n_36 [id="[$e|134]", label="proxy/1.1→target/0.0:M"]; + n_65 -> n_18 [id="[$e|132]", label="proxy/1.0→target/0.0:M"]; + n_62 -> n_13 [id="[$e|24]", label="proxy/1.0→target/0.0:M"]; + n_33 -> n_22 [id="[$e|147]", label="test/0.0→target/0.0:m4"]; + n_30 -> n_48 [id="[$e|81]", label="test/0.0→target/0.0:m1"]; + n_60 -> n_30 [id="[$e|40]", label="test/0.0→proxy/1.1:m3"]; + n_18 -> n_61 [id="[$e|160]", label="test/0.0→target/0.0:m4"]; + n_10 -> n_55 [id="[$e|21]", label="test/0.0→proxy/1.0:m2"]; + n_50 -> n_4 [id="[$e|54]", label="test/0.0→target/0.0:m1"]; + n_73 -> n_16 [id="[$e|113]", label="test/0.0→target/0.0:m4"]; + n_11 -> n_48 [id="[$e|69]", label="test/0.0→target/0.0:m4"]; + n_69 -> n_42 [id="[$e|123]", label="proxy/1.1→target/0.0:M"]; + n_37 -> n_77 [id="[$e|95]", label="proxy/1.1→target/0.0:M"]; + n_50 -> n_63 [id="[$e|55]", label="test/0.0→target/0.0:m4"]; + n_26 -> n_60 [id="[$e|14]", label="test/0.0→target/0.0:m4"]; + n_23 -> n_18 [id="[$e|129]", label="proxy/1.0→target/0.0:M"]; + n_35 -> n_37 [id="[$e|43]", label="test/0.0→proxy/1.1:m3"]; + n_20 -> n_6 [id="[$e|97]", label="proxy/1.0→target/0.0:M"]; + n_13 -> n_69 [id="[$e|68]", label="test/0.0→proxy/1.1:m3"]; + n_1 -> n_77 [id="[$e|104]", label="proxy/1.1→target/0.0:M"]; + n_49 -> n_8 [id="[$e|49]", label="proxy/1.1→target/0.0:M"]; + n_40 -> n_10 [id="[$e|10]", label="test/0.0→target/0.0:m1"]; + n_4 -> n_65 [id="[$e|109]", label="test/0.0→proxy/1.0:m2"]; + n_17 -> n_38 [id="[$e|18]", label="test/0.0→target/0.0:m4"]; + n_31 -> n_28 [id="[$e|73]", label="test/0.0→proxy/1.0:m2"]; + n_21 -> n_70 [id="[$e|65]", label="proxy/1.0→target/0.0:M"]; + n_24 -> n_20 [id="[$e|44]", label="test/0.0→target/0.0:m1"]; + n_66 -> n_57 [id="[$e|9]", label="test/0.0→proxy/1.1:m3"]; n_7 -> n_13 [id="[$e|36]", label="proxy/1.0→target/0.0:M"]; + n_9 -> n_56 [id="[$e|154]", label="proxy/1.1→target/0.0:M"]; + n_77 -> n_75 [id="[$e|145]", label="test/0.0→target/0.0:m1"]; + n_29 -> n_52 [id="[$e|121]", label="test/0.0→proxy/1.1:m3"]; + n_43 -> n_56 [id="[$e|157]", label="proxy/1.1→target/0.0:M"]; + n_57 -> n_79 [id="[$e|28]", label="test/0.0→proxy/1.0:m2"]; + n_10 -> n_51 [id="[$e|22]", label="test/0.0→proxy/1.1:m3"]; + n_49 -> n_79 [id="[$e|50]", label="test/0.0→proxy/1.0:m2"]; + n_24 -> n_1 [id="[$e|46]", label="proxy/1.0→target/0.0:M"]; + n_8 -> n_65 [id="[$e|75]", label="test/0.0→proxy/1.0:m2"]; + n_71 -> n_20 [id="[$e|57]", label="test/0.0→target/0.0:m1"]; + n_12 -> n_16 [id="[$e|106]", label="test/0.0→target/0.0:m4"]; + n_69 -> n_43 [id="[$e|122]", label="test/0.0→target/0.0:m4"]; + n_47 -> n_15 [id="[$e|118]", label="test/0.0→proxy/1.0:m2"]; + n_28 -> n_9 [id="[$e|120]", label="proxy/1.0→target/0.0:M"]; + n_5 -> n_29 [id="[$e|89]", label="test/0.0→target/0.0:m4"]; + n_13 -> n_29 [id="[$e|67]", label="test/0.0→target/0.0:m4"]; + n_78 -> n_43 [id="[$e|135]", label="test/0.0→target/0.0:m1"]; + n_41 -> n_53 [id="[$e|92]", label="test/0.0→proxy/1.1:m3"]; + n_17 -> n_49 [id="[$e|17]", label="test/0.0→target/0.0:m1"]; + n_21 -> n_27 [id="[$e|66]", label="test/0.0→proxy/1.1:m3"]; + n_46 -> n_21 [id="[$e|29]", label="test/0.0→target/0.0:m1"]; + n_44 -> n_43 [id="[$e|141]", label="test/0.0→target/0.0:m4"]; + n_55 -> n_27 [id="[$e|62]", label="test/0.0→proxy/1.1:m3"]; + n_38 -> n_74 [id="[$e|52]", label="proxy/1.1→target/0.0:M"]; n_73 -> n_33 [id="[$e|112]", label="test/0.0→target/0.0:m1"]; - n_57 -> n_31 [id="[$e|26]", label="test/0.0→target/0.0:m4"]; + n_14 -> n_78 [id="[$e|100]", label="proxy/1.0→target/0.0:M"]; n_67 -> n_19 [id="[$e|138]", label="proxy/1.0→target/0.0:M"]; - n_16 -> n_19 [id="[$e|150]", label="proxy/1.0→target/0.0:M"]; - n_44 -> n_43 [id="[$e|141]", label="test/0.0→target/0.0:m4"]; - n_30 -> n_78 [id="[$e|82]", label="proxy/1.0→target/0.0:M"]; - n_38 -> n_3 [id="[$e|53]", label="test/0.0→proxy/1.0:m2"]; - n_10 -> n_55 [id="[$e|21]", label="test/0.0→proxy/1.0:m2"]; - n_30 -> n_48 [id="[$e|81]", label="test/0.0→target/0.0:m1"]; - n_79 -> n_6 [id="[$e|78]", label="proxy/1.0→target/0.0:M"]; + n_41 -> n_29 [id="[$e|91]", label="test/0.0→target/0.0:m1"]; n_39 -> n_17 [id="[$e|6]", label="test/0.0→proxy/1.1:m3"]; - n_58 -> n_43 [id="[$e|143]", label="test/0.0→target/0.0:m1"]; - n_55 -> n_70 [id="[$e|61]", label="proxy/1.0→target/0.0:M"]; + n_79 -> n_6 [id="[$e|78]", label="proxy/1.0→target/0.0:M"]; + n_16 -> n_22 [id="[$e|149]", label="test/0.0→target/0.0:m1"]; n_42 -> n_61 [id="[$e|158]", label="test/0.0→target/0.0:m4"]; - n_11 -> n_6 [id="[$e|70]", label="proxy/1.0→target/0.0:M"]; - n_6 -> n_42 [id="[$e|127]", label="proxy/1.1→target/0.0:M"]; - n_66 -> n_62 [id="[$e|8]", label="test/0.0→proxy/1.0:m2"]; - n_71 -> n_1 [id="[$e|60]", label="proxy/1.0→target/0.0:M"]; - n_77 -> n_32 [id="[$e|146]", label="test/0.0→target/0.0:m4"]; - n_68 -> n_22 [id="[$e|139]", label="test/0.0→target/0.0:m1"]; - n_65 -> n_22 [id="[$e|131]", label="test/0.0→target/0.0:m4"]; - n_11 -> n_48 [id="[$e|69]", label="test/0.0→target/0.0:m4"]; - n_29 -> n_52 [id="[$e|121]", label="test/0.0→proxy/1.1:m3"]; - n_63 -> n_72 [id="[$e|110]", label="test/0.0→target/0.0:m1"]; - n_20 -> n_48 [id="[$e|96]", label="test/0.0→target/0.0:m4"]; - n_55 -> n_27 [id="[$e|62]", label="test/0.0→proxy/1.1:m3"]; - n_38 -> n_31 [id="[$e|51]", label="test/0.0→target/0.0:m1"]; - n_30 -> n_67 [id="[$e|83]", label="proxy/1.1→target/0.0:M"]; - n_60 -> n_34 [id="[$e|39]", label="proxy/1.0→target/0.0:M"]; - n_33 -> n_22 [id="[$e|147]", label="test/0.0→target/0.0:m4"]; - n_20 -> n_6 [id="[$e|97]", label="proxy/1.0→target/0.0:M"]; + n_67 -> n_22 [id="[$e|137]", label="test/0.0→target/0.0:m1"]; + n_35 -> n_5 [id="[$e|41]", label="test/0.0→target/0.0:m1"]; + n_64 -> n_74 [id="[$e|33]", label="proxy/1.1→target/0.0:M"]; + n_31 -> n_47 [id="[$e|72]", label="proxy/1.1→target/0.0:M"]; n_28 -> n_2 [id="[$e|119]", label="proxy/1.1→target/0.0:M"]; - n_24 -> n_1 [id="[$e|46]", label="proxy/1.0→target/0.0:M"]; + n_34 -> n_29 [id="[$e|79]", label="test/0.0→target/0.0:m1"]; n_78 -> n_36 [id="[$e|136]", label="proxy/1.1→target/0.0:M"]; - n_50 -> n_73 [id="[$e|56]", label="test/0.0→proxy/1.0:m2"]; - n_76 -> n_75 [id="[$e|151]", label="test/0.0→target/0.0:m1"]; - n_58 -> n_36 [id="[$e|144]", label="proxy/1.1→target/0.0:M"]; - n_11 -> n_23 [id="[$e|71]", label="proxy/1.1→target/0.0:M"]; - n_17 -> n_38 [id="[$e|18]", label="test/0.0→target/0.0:m4"]; - n_25 -> n_54 [id="[$e|0]", label="test/0.0Δtarget/0.0 args nil"]; + n_1 -> n_44 [id="[$e|102]", label="test/0.0→target/0.0:m1"]; n_51 -> n_47 [id="[$e|63]", label="proxy/1.1→target/0.0:M"]; - n_74 -> n_68 [id="[$e|85]", label="test/0.0→proxy/1.0:m2"]; - n_23 -> n_18 [id="[$e|129]", label="proxy/1.0→target/0.0:M"]; - n_46 -> n_30 [id="[$e|31]", label="test/0.0→proxy/1.1:m3"]; - n_3 -> n_67 [id="[$e|87]", label="proxy/1.1→target/0.0:M"]; - n_46 -> n_34 [id="[$e|30]", label="proxy/1.0→target/0.0:M"]; - n_21 -> n_27 [id="[$e|66]", label="test/0.0→proxy/1.1:m3"]; - n_74 -> n_72 [id="[$e|84]", label="test/0.0→target/0.0:m1"]; - n_17 -> n_49 [id="[$e|17]", label="test/0.0→target/0.0:m1"]; - n_27 -> n_2 [id="[$e|117]", label="proxy/1.1→target/0.0:M"]; - n_79 -> n_48 [id="[$e|76]", label="test/0.0→target/0.0:m4"]; - n_8 -> n_65 [id="[$e|75]", label="test/0.0→proxy/1.0:m2"]; - n_34 -> n_29 [id="[$e|79]", label="test/0.0→target/0.0:m1"]; - n_8 -> n_72 [id="[$e|74]", label="test/0.0→target/0.0:m4"]; - n_7 -> n_11 [id="[$e|37]", label="test/0.0→proxy/1.1:m3"]; - n_51 -> n_28 [id="[$e|64]", label="test/0.0→proxy/1.0:m2"]; - n_17 -> n_50 [id="[$e|19]", label="proxy/1.1→target/0.0:M"]; - n_66 -> n_57 [id="[$e|9]", label="test/0.0→proxy/1.1:m3"]; + n_60 -> n_34 [id="[$e|39]", label="proxy/1.0→target/0.0:M"]; + n_68 -> n_19 [id="[$e|140]", label="proxy/1.0→target/0.0:M"]; + n_27 -> n_9 [id="[$e|116]", label="proxy/1.0→target/0.0:M"]; + n_3 -> n_78 [id="[$e|88]", label="proxy/1.0→target/0.0:M"]; + n_39 -> n_40 [id="[$e|4]", label="test/0.0→target/0.0:m4"]; + n_32 -> n_61 [id="[$e|164]", label="test/0.0→target/0.0:m1"]; + n_58 -> n_43 [id="[$e|143]", label="test/0.0→target/0.0:m1"]; + n_52 -> n_56 [id="[$e|153]", label="proxy/1.1→target/0.0:M"]; n_76 -> n_32 [id="[$e|152]", label="test/0.0→target/0.0:m4"]; - n_1 -> n_44 [id="[$e|102]", label="test/0.0→target/0.0:m1"]; + n_63 -> n_72 [id="[$e|110]", label="test/0.0→target/0.0:m1"]; + n_55 -> n_70 [id="[$e|61]", label="proxy/1.0→target/0.0:M"]; n_6 -> n_43 [id="[$e|126]", label="test/0.0→target/0.0:m4"]; - n_64 -> n_31 [id="[$e|32]", label="test/0.0→target/0.0:m1"]; - n_26 -> n_60 [id="[$e|14]", label="test/0.0→target/0.0:m4"]; - n_41 -> n_53 [id="[$e|92]", label="test/0.0→proxy/1.1:m3"]; - n_49 -> n_8 [id="[$e|49]", label="proxy/1.1→target/0.0:M"]; - n_39 -> n_40 [id="[$e|4]", label="test/0.0→target/0.0:m4"]; - n_53 -> n_43 [id="[$e|133]", label="test/0.0→target/0.0:m1"]; - n_14 -> n_78 [id="[$e|100]", label="proxy/1.0→target/0.0:M"]; + n_24 -> n_12 [id="[$e|47]", label="proxy/1.1→target/0.0:M"]; + n_77 -> n_32 [id="[$e|146]", label="test/0.0→target/0.0:m4"]; + n_14 -> n_48 [id="[$e|99]", label="test/0.0→target/0.0:m1"]; + n_5 -> n_69 [id="[$e|90]", label="test/0.0→proxy/1.1:m3"]; + n_38 -> n_31 [id="[$e|51]", label="test/0.0→target/0.0:m1"]; n_7 -> n_21 [id="[$e|35]", label="test/0.0→target/0.0:m4"]; - n_34 -> n_53 [id="[$e|80]", label="test/0.0→proxy/1.1:m3"]; - n_32 -> n_61 [id="[$e|164]", label="test/0.0→target/0.0:m1"]; - n_14 -> n_67 [id="[$e|101]", label="proxy/1.1→target/0.0:M"]; - n_22 -> n_59 [id="[$e|159]", label="proxy/1.0→target/0.0:M"]; - n_39 -> n_26 [id="[$e|5]", label="test/0.0→proxy/1.0:m2"]; - n_1 -> n_77 [id="[$e|104]", label="proxy/1.1→target/0.0:M"]; - n_60 -> n_30 [id="[$e|40]", label="test/0.0→proxy/1.1:m3"]; - n_37 -> n_44 [id="[$e|93]", label="test/0.0→target/0.0:m1"]; - n_49 -> n_79 [id="[$e|50]", label="test/0.0→proxy/1.0:m2"]; - n_24 -> n_20 [id="[$e|44]", label="test/0.0→target/0.0:m1"]; - n_27 -> n_9 [id="[$e|116]", label="proxy/1.0→target/0.0:M"]; - n_35 -> n_37 [id="[$e|43]", label="test/0.0→proxy/1.1:m3"]; - n_62 -> n_21 [id="[$e|23]", label="test/0.0→target/0.0:m4"]; - n_50 -> n_63 [id="[$e|55]", label="test/0.0→target/0.0:m4"]; + n_19 -> n_61 [id="[$e|162]", label="test/0.0→target/0.0:m1"]; + n_64 -> n_3 [id="[$e|34]", label="test/0.0→proxy/1.0:m2"]; + n_66 -> n_10 [id="[$e|7]", label="test/0.0→target/0.0:m4"]; + n_46 -> n_30 [id="[$e|31]", label="test/0.0→proxy/1.1:m3"]; n_54 -> n_45 [id="[$e|1]", label="test/0.0Δproxy/1.0 args [target/0.0]"]; - n_36 -> n_61 [id="[$e|161]", label="test/0.0→target/0.0:m1"]; n_48 -> n_2 [id="[$e|125]", label="proxy/1.1→target/0.0:M"]; - n_35 -> n_5 [id="[$e|41]", label="test/0.0→target/0.0:m1"]; - n_17 -> n_71 [id="[$e|20]", label="test/0.0→proxy/1.0:m2"]; - n_4 -> n_72 [id="[$e|108]", label="test/0.0→target/0.0:m4"]; - n_64 -> n_3 [id="[$e|34]", label="test/0.0→proxy/1.0:m2"]; - n_12 -> n_16 [id="[$e|106]", label="test/0.0→target/0.0:m4"]; - n_5 -> n_29 [id="[$e|89]", label="test/0.0→target/0.0:m4"]; - n_26 -> n_24 [id="[$e|16]", label="test/0.0→proxy/1.1:m3"]; + n_17 -> n_50 [id="[$e|19]", label="proxy/1.1→target/0.0:M"]; + n_73 -> n_76 [id="[$e|114]", label="proxy/1.0→target/0.0:M"]; + n_51 -> n_28 [id="[$e|64]", label="test/0.0→proxy/1.0:m2"]; + n_6 -> n_42 [id="[$e|127]", label="proxy/1.1→target/0.0:M"]; + n_3 -> n_67 [id="[$e|87]", label="proxy/1.1→target/0.0:M"]; + n_70 -> n_52 [id="[$e|115]", label="test/0.0→proxy/1.1:m3"]; + n_11 -> n_23 [id="[$e|71]", label="proxy/1.1→target/0.0:M"]; + n_11 -> n_6 [id="[$e|70]", label="proxy/1.0→target/0.0:M"]; + n_65 -> n_22 [id="[$e|131]", label="test/0.0→target/0.0:m4"]; + n_39 -> n_66 [id="[$e|3]", label="test/0.0→target/0.0:m1"]; + n_68 -> n_22 [id="[$e|139]", label="test/0.0→target/0.0:m1"]; + n_74 -> n_72 [id="[$e|84]", label="test/0.0→target/0.0:m1"]; + n_57 -> n_8 [id="[$e|27]", label="proxy/1.1→target/0.0:M"]; n_60 -> n_21 [id="[$e|38]", label="test/0.0→target/0.0:m1"]; - n_40 -> n_10 [id="[$e|10]", label="test/0.0→target/0.0:m1"]; - n_24 -> n_14 [id="[$e|45]", label="test/0.0→target/0.0:m4"]; - n_67 -> n_22 [id="[$e|137]", label="test/0.0→target/0.0:m1"]; + n_33 -> n_18 [id="[$e|148]", label="proxy/1.0→target/0.0:M"]; + n_76 -> n_75 [id="[$e|151]", label="test/0.0→target/0.0:m1"]; n_37 -> n_58 [id="[$e|94]", label="test/0.0→target/0.0:m4"]; - n_21 -> n_70 [id="[$e|65]", label="proxy/1.0→target/0.0:M"]; - n_12 -> n_33 [id="[$e|105]", label="test/0.0→target/0.0:m1"]; - n_44 -> n_42 [id="[$e|142]", label="proxy/1.1→target/0.0:M"]; - n_50 -> n_4 [id="[$e|54]", label="test/0.0→target/0.0:m1"]; - n_57 -> n_79 [id="[$e|28]", label="test/0.0→proxy/1.0:m2"]; - n_39 -> n_66 [id="[$e|3]", label="test/0.0→target/0.0:m1"]; - n_18 -> n_61 [id="[$e|160]", label="test/0.0→target/0.0:m4"]; - n_2 -> n_59 [id="[$e|155]", label="proxy/1.0→target/0.0:M"]; n_79 -> n_23 [id="[$e|77]", label="proxy/1.1→target/0.0:M"]; - n_65 -> n_18 [id="[$e|132]", label="proxy/1.0→target/0.0:M"]; - n_13 -> n_69 [id="[$e|68]", label="test/0.0→proxy/1.1:m3"]; - n_77 -> n_75 [id="[$e|145]", label="test/0.0→target/0.0:m1"]; - n_15 -> n_59 [id="[$e|156]", label="proxy/1.0→target/0.0:M"]; - n_47 -> n_15 [id="[$e|118]", label="test/0.0→proxy/1.0:m2"]; - n_66 -> n_10 [id="[$e|7]", label="test/0.0→target/0.0:m4"]; - n_26 -> n_7 [id="[$e|13]", label="test/0.0→target/0.0:m1"]; - n_57 -> n_8 [id="[$e|27]", label="proxy/1.1→target/0.0:M"]; - n_68 -> n_19 [id="[$e|140]", label="proxy/1.0→target/0.0:M"]; - n_73 -> n_16 [id="[$e|113]", label="test/0.0→target/0.0:m4"]; - n_71 -> n_14 [id="[$e|58]", label="test/0.0→target/0.0:m4"]; - n_62 -> n_11 [id="[$e|25]", label="test/0.0→proxy/1.1:m3"]; - n_49 -> n_31 [id="[$e|48]", label="test/0.0→target/0.0:m4"]; - n_45 -> n_39 [id="[$e|2]", label="test/0.0Δproxy/1.1 args [target/0.0]"]; - n_19 -> n_61 [id="[$e|162]", label="test/0.0→target/0.0:m1"]; - n_28 -> n_9 [id="[$e|120]", label="proxy/1.0→target/0.0:M"]; + n_38 -> n_3 [id="[$e|53]", label="test/0.0→proxy/1.0:m2"]; + n_34 -> n_53 [id="[$e|80]", label="test/0.0→proxy/1.1:m3"]; + n_71 -> n_1 [id="[$e|60]", label="proxy/1.0→target/0.0:M"]; n_71 -> n_12 [id="[$e|59]", label="proxy/1.1→target/0.0:M"]; - n_48 -> n_9 [id="[$e|124]", label="proxy/1.0→target/0.0:M"]; - n_3 -> n_78 [id="[$e|88]", label="proxy/1.0→target/0.0:M"]; - n_24 -> n_12 [id="[$e|47]", label="proxy/1.1→target/0.0:M"]; - n_31 -> n_47 [id="[$e|72]", label="proxy/1.1→target/0.0:M"]; - n_70 -> n_52 [id="[$e|115]", label="test/0.0→proxy/1.1:m3"]; - n_5 -> n_69 [id="[$e|90]", label="test/0.0→proxy/1.1:m3"]; - n_33 -> n_18 [id="[$e|148]", label="proxy/1.0→target/0.0:M"]; - n_69 -> n_42 [id="[$e|123]", label="proxy/1.1→target/0.0:M"]; - n_10 -> n_51 [id="[$e|22]", label="test/0.0→proxy/1.1:m3"]; - n_4 -> n_65 [id="[$e|109]", label="test/0.0→proxy/1.0:m2"]; - n_26 -> n_35 [id="[$e|15]", label="proxy/1.0→target/0.0:M"]; - n_16 -> n_22 [id="[$e|149]", label="test/0.0→target/0.0:m1"]; - n_3 -> n_48 [id="[$e|86]", label="test/0.0→target/0.0:m1"]; - n_38 -> n_74 [id="[$e|52]", label="proxy/1.1→target/0.0:M"]; - n_9 -> n_56 [id="[$e|154]", label="proxy/1.1→target/0.0:M"]; - n_78 -> n_43 [id="[$e|135]", label="test/0.0→target/0.0:m1"]; - n_31 -> n_28 [id="[$e|73]", label="test/0.0→proxy/1.0:m2"]; - n_73 -> n_76 [id="[$e|114]", label="proxy/1.0→target/0.0:M"]; - n_41 -> n_29 [id="[$e|91]", label="test/0.0→target/0.0:m1"]; - n_64 -> n_74 [id="[$e|33]", label="proxy/1.1→target/0.0:M"]; - n_75 -> n_61 [id="[$e|163]", label="test/0.0→target/0.0:m4"]; + n_14 -> n_67 [id="[$e|101]", label="proxy/1.1→target/0.0:M"]; + n_17 -> n_71 [id="[$e|20]", label="test/0.0→proxy/1.0:m2"]; n_1 -> n_58 [id="[$e|103]", label="test/0.0→target/0.0:m4"]; - n_14 -> n_48 [id="[$e|99]", label="test/0.0→target/0.0:m1"]; - n_71 -> n_20 [id="[$e|57]", label="test/0.0→target/0.0:m1"]; - n_53 -> n_36 [id="[$e|134]", label="proxy/1.1→target/0.0:M"]; - n_37 -> n_77 [id="[$e|95]", label="proxy/1.1→target/0.0:M"]; - n_69 -> n_43 [id="[$e|122]", label="test/0.0→target/0.0:m4"]; + n_22 -> n_59 [id="[$e|159]", label="proxy/1.0→target/0.0:M"]; + n_8 -> n_72 [id="[$e|74]", label="test/0.0→target/0.0:m4"]; + n_24 -> n_14 [id="[$e|45]", label="test/0.0→target/0.0:m4"]; + n_2 -> n_59 [id="[$e|155]", label="proxy/1.0→target/0.0:M"]; + n_75 -> n_61 [id="[$e|163]", label="test/0.0→target/0.0:m4"]; + n_36 -> n_61 [id="[$e|161]", label="test/0.0→target/0.0:m1"]; + n_16 -> n_19 [id="[$e|150]", label="proxy/1.0→target/0.0:M"]; + n_35 -> n_41 [id="[$e|42]", label="test/0.0→target/0.0:m4"]; + n_74 -> n_68 [id="[$e|85]", label="test/0.0→proxy/1.0:m2"]; + n_45 -> n_39 [id="[$e|2]", label="test/0.0Δproxy/1.1 args [target/0.0]"]; + n_30 -> n_67 [id="[$e|83]", label="proxy/1.1→target/0.0:M"]; + n_71 -> n_14 [id="[$e|58]", label="test/0.0→target/0.0:m4"]; + n_26 -> n_35 [id="[$e|15]", label="proxy/1.0→target/0.0:M"]; + n_40 -> n_64 [id="[$e|12]", label="test/0.0→proxy/1.1:m3"]; } diff --git a/examples/test/foo5/test_0_local_view.dot b/examples/test/foo5/test_0_local_view.dot index fb26d78..793efc2 100644 --- a/examples/test/foo5/test_0_local_view.dot +++ b/examples/test/foo5/test_0_local_view.dot @@ -11,10 +11,10 @@ digraph test_0 { n_7 [id="2", shape=circle, label="2"]; n_8 [id="5", shape=doublecircle, label="8"]; - n_5 -> n_8 [id="[$e|6]", label="target/0.0 ! m4"]; n_6 -> n_3 [id="[$e|0]", label="target/0.0 ! m1"]; - n_4 -> n_5 [id="[$e|4]", label="proxy/1.1 ! m3"]; n_2 -> n_7 [id="[$e|5]", label="spawn target/0.0 args nil"]; + n_5 -> n_8 [id="[$e|6]", label="target/0.0 ! m4"]; + n_4 -> n_5 [id="[$e|4]", label="proxy/1.1 ! m3"]; n_7 -> n_1 [id="[$e|1]", label="spawn proxy/1.0 args [target/0.0]"]; n_3 -> n_4 [id="[$e|3]", label="proxy/1.0 ! m2"]; n_1 -> n_6 [id="[$e|2]", label="spawn proxy/1.1 args [target/0.0]"]; diff --git a/examples/test/foo6/client_gen_2_local_view.dot b/examples/test/foo6/client_gen_2_local_view.dot index 6ddbfcb..ec39919 100644 --- a/examples/test/foo6/client_gen_2_local_view.dot +++ b/examples/test/foo6/client_gen_2_local_view.dot @@ -5,6 +5,6 @@ digraph client_gen_2 { n_0 -> n_1 [arrowhead=none]; n_2 [id="2", shape=doublecircle, label="2"]; - n_1 -> n_1 [id="[$e|5]", label="spawn client/1.1 args [server/0.0]"]; n_1 -> n_2 [id="[$e|0]", label="spawn client/1.0 args [S]"]; + n_1 -> n_1 [id="[$e|5]", label="spawn client/1.1 args [server/0.0]"]; } diff --git a/examples/test/foo6/client_server_1_local_view.dot b/examples/test/foo6/client_server_1_local_view.dot index 42d906c..1fa15e0 100644 --- a/examples/test/foo6/client_server_1_local_view.dot +++ b/examples/test/foo6/client_server_1_local_view.dot @@ -6,7 +6,7 @@ digraph client_server_1 { n_2 [id="4", shape=doublecircle, label="3"]; n_3 [id="2", shape=circle, label="2"]; - n_3 -> n_3 [id="[$e|6]", label="spawn client/1.1 args [server/0.0]"]; n_1 -> n_3 [id="[$e|3]", label="spawn server/0.0 args nil"]; n_3 -> n_2 [id="[$e|1]", label="spawn client/1.0 args [S]"]; + n_3 -> n_3 [id="[$e|6]", label="spawn client/1.1 args [server/0.0]"]; } diff --git a/examples/test/foo6/output.csv b/examples/test/foo6/output.csv new file mode 100644 index 0000000..688f501 --- /dev/null +++ b/examples/test/foo6/output.csv @@ -0,0 +1,13 @@ +line,24 +lv_client_gen/2_nodes,2 +lv_client_gen/2_edges,2 +lv_client_server/1_nodes,3 +lv_client_server/1_edges,3 +lv_server/0_nodes,1 +lv_server/0_edges,1 +lv_client/1_nodes,2 +lv_client/1_edges,1 +lv_test/0_nodes,3 +lv_test/0_edges,3 +gv_nodes,6 +gv_edges,7 diff --git a/examples/test/foo6/test_0_global_view.dot b/examples/test/foo6/test_0_global_view.dot index ab9d107..1bc38d2 100644 --- a/examples/test/foo6/test_0_global_view.dot +++ b/examples/test/foo6/test_0_global_view.dot @@ -12,13 +12,13 @@ digraph global { n_8 [id="2", shape=circle, label="2"]; n_9 [id="5", shape=circle, label="5"]; + n_3 -> n_8 [id="[$e|0]", label="test/0.0Δserver/0.0 args nil"]; + n_9 -> n_6 [id="[$e|4]", label="client/1.1→server/0.0:hello"]; + n_8 -> n_5 [id="[$e|2]", label="test/0.0Δclient/1.1 args [server/0.0]"]; n_6 -> n_1 [id="[$e|8]", label="client/1.1→server/0.0:hello"]; - n_4 -> n_2 [id="[$e|6]", label="test/0.0Δclient/1.0 args [S]"]; - n_2 -> n_6 [id="[$e|7]", label="client/1.1→server/0.0:hello"]; - n_5 -> n_4 [id="[$e|5]", label="test/0.0Δclient/1.1 args [server/0.0]"]; n_5 -> n_9 [id="[$e|3]", label="test/0.0Δclient/1.0 args [S]"]; - n_9 -> n_6 [id="[$e|4]", label="client/1.1→server/0.0:hello"]; n_8 -> n_7 [id="[$e|1]", label="test/0.0Δclient/1.0 args [S]"]; - n_3 -> n_8 [id="[$e|0]", label="test/0.0Δserver/0.0 args nil"]; - n_8 -> n_5 [id="[$e|2]", label="test/0.0Δclient/1.1 args [server/0.0]"]; + n_5 -> n_4 [id="[$e|5]", label="test/0.0Δclient/1.1 args [server/0.0]"]; + n_2 -> n_6 [id="[$e|7]", label="client/1.1→server/0.0:hello"]; + n_4 -> n_2 [id="[$e|6]", label="test/0.0Δclient/1.0 args [S]"]; } diff --git a/examples/test/foo6/test_0_local_view.dot b/examples/test/foo6/test_0_local_view.dot index 0d42166..245600c 100644 --- a/examples/test/foo6/test_0_local_view.dot +++ b/examples/test/foo6/test_0_local_view.dot @@ -6,7 +6,7 @@ digraph test_0 { n_2 [id="3", shape=doublecircle, label="3"]; n_3 [id="2", shape=circle, label="2"]; - n_3 -> n_3 [id="[$e|6]", label="spawn client/1.1 args [server/0.0]"]; - n_1 -> n_3 [id="[$e|3]", label="spawn server/0.0 args nil"]; n_3 -> n_2 [id="[$e|4]", label="spawn client/1.0 args [S]"]; + n_1 -> n_3 [id="[$e|3]", label="spawn server/0.0 args nil"]; + n_3 -> n_3 [id="[$e|6]", label="spawn client/1.1 args [server/0.0]"]; } diff --git a/examples/test/foo7/foo_2_local_view.dot b/examples/test/foo7/foo_2_local_view.dot index 65d24e3..db0b697 100644 --- a/examples/test/foo7/foo_2_local_view.dot +++ b/examples/test/foo7/foo_2_local_view.dot @@ -5,7 +5,7 @@ digraph foo_2 { n_0 -> n_1 [arrowhead=none]; n_2 [id="2", shape=doublecircle, label="2"]; + n_1 -> n_2 [id="[$e|3]", label="S ! 3"]; n_1 -> n_2 [id="[$e|4]", label="S ! 2"]; n_1 -> n_2 [id="[$e|2]", label="S ! 1"]; - n_1 -> n_2 [id="[$e|3]", label="S ! 3"]; } diff --git a/examples/test/foo7/main_0_global_view.dot b/examples/test/foo7/main_0_global_view.dot index 4a5024a..602e612 100644 --- a/examples/test/foo7/main_0_global_view.dot +++ b/examples/test/foo7/main_0_global_view.dot @@ -152,233 +152,233 @@ digraph global { n_148 [id="29", shape=circle, label="29"]; n_149 [id="92", shape=doublecircle, label="92"]; - n_127 -> n_54 [id="[$e|105]", label="foo/2.2→server/0.0:2"]; - n_141 -> n_44 [id="[$e|180]", label="foo/2.2→server/0.0:2"]; - n_82 -> n_60 [id="[$e|114]", label="foo/2.1→server/0.0:2"]; - n_123 -> n_146 [id="[$e|61]", label="foo/2.0→server/0.0:3"]; - n_127 -> n_25 [id="[$e|23]", label="foo/2.1→server/0.0:1"]; - n_2 -> n_73 [id="[$e|169]", label="foo/2.0→server/0.0:1"]; - n_104 -> n_139 [id="[$e|92]", label="foo/2.1→server/0.0:1"]; - n_131 -> n_62 [id="[$e|207]", label="foo/2.0→server/0.0:2"]; - n_127 -> n_107 [id="[$e|55]", label="foo/2.0→server/0.0:3"]; - n_39 -> n_121 [id="[$e|192]", label="foo/2.2→server/0.0:3"]; - n_86 -> n_50 [id="[$e|161]", label="foo/2.0→server/0.0:3"]; - n_127 -> n_13 [id="[$e|51]", label="foo/2.2→server/0.0:1"]; - n_86 -> n_77 [id="[$e|162]", label="foo/2.2→server/0.0:3"]; - n_85 -> n_149 [id="[$e|174]", label="foo/2.2→server/0.0:3"]; - n_127 -> n_53 [id="[$e|116]", label="foo/2.1→server/0.0:3"]; - n_81 -> n_16 [id="[$e|26]", label="foo/2.2→server/0.0:1"]; - n_54 -> n_135 [id="[$e|197]", label="foo/2.0→server/0.0:2"]; - n_113 -> n_106 [id="[$e|210]", label="foo/2.2→server/0.0:3"]; - n_127 -> n_11 [id="[$e|39]", label="foo/2.2→server/0.0:2"]; - n_73 -> n_24 [id="[$e|177]", label="foo/2.1→server/0.0:2"]; - n_105 -> n_28 [id="[$e|166]", label="foo/2.2→server/0.0:2"]; - n_136 -> n_34 [id="[$e|88]", label="foo/2.2→server/0.0:2"]; - n_44 -> n_89 [id="[$e|228]", label="foo/2.1→server/0.0:3"]; - n_41 -> n_45 [id="[$e|178]", label="foo/2.0→server/0.0:1"]; - n_138 -> n_48 [id="[$e|134]", label="foo/2.2→server/0.0:3"]; - n_127 -> n_74 [id="[$e|34]", label="foo/2.0→server/0.0:2"]; - n_127 -> n_120 [id="[$e|8]", label="foo/2.1→server/0.0:1"]; - n_68 -> n_80 [id="[$e|212]", label="foo/2.2→server/0.0:2"]; - n_143 -> n_63 [id="[$e|223]", label="foo/2.1→server/0.0:3"]; - n_58 -> n_84 [id="[$e|137]", label="foo/2.1→server/0.0:1"]; - n_141 -> n_35 [id="[$e|179]", label="foo/2.1→server/0.0:3"]; - n_127 -> n_26 [id="[$e|150]", label="foo/2.1→server/0.0:3"]; - n_127 -> n_37 [id="[$e|6]", label="foo/2.2→server/0.0:1"]; - n_74 -> n_95 [id="[$e|121]", label="foo/2.1→server/0.0:3"]; - n_127 -> n_99 [id="[$e|149]", label="foo/2.0→server/0.0:3"]; - n_19 -> n_16 [id="[$e|44]", label="foo/2.2→server/0.0:1"]; - n_127 -> n_43 [id="[$e|22]", label="foo/2.0→server/0.0:1"]; - n_127 -> n_22 [id="[$e|24]", label="foo/2.2→server/0.0:3"]; - n_127 -> n_117 [id="[$e|13]", label="foo/2.0→server/0.0:1"]; - n_55 -> n_148 [id="[$e|27]", label="foo/2.0→server/0.0:1"]; - n_139 -> n_45 [id="[$e|102]", label="foo/2.0→server/0.0:1"]; - n_127 -> n_112 [id="[$e|9]", label="foo/2.2→server/0.0:1"]; - n_93 -> n_28 [id="[$e|194]", label="foo/2.2→server/0.0:2"]; - n_25 -> n_39 [id="[$e|95]", label="foo/2.0→server/0.0:1"]; - n_3 -> n_77 [id="[$e|220]", label="foo/2.2→server/0.0:3"]; - n_16 -> n_84 [id="[$e|98]", label="foo/2.1→server/0.0:1"]; - n_127 -> n_49 [id="[$e|52]", label="foo/2.0→server/0.0:3"]; - n_111 -> n_78 [id="[$e|182]", label="foo/2.1→server/0.0:3"]; - n_92 -> n_69 [id="[$e|136]", label="foo/2.0→server/0.0:2"]; - n_116 -> n_129 [id="[$e|183]", label="foo/2.1→server/0.0:3"]; - n_14 -> n_142 [id="[$e|64]", label="foo/2.1→server/0.0:1"]; - n_108 -> n_87 [id="[$e|1]", label="main/0.0Δfoo/2.0 args [server/0.0,1]"]; - n_127 -> n_81 [id="[$e|4]", label="foo/2.0→server/0.0:1"]; - n_127 -> n_75 [id="[$e|115]", label="foo/2.0→server/0.0:2"]; - n_82 -> n_135 [id="[$e|113]", label="foo/2.0→server/0.0:2"]; - n_127 -> n_42 [id="[$e|35]", label="foo/2.1→server/0.0:3"]; - n_11 -> n_58 [id="[$e|129]", label="foo/2.0→server/0.0:2"]; - n_4 -> n_40 [id="[$e|110]", label="foo/2.2→server/0.0:1"]; - n_25 -> n_149 [id="[$e|96]", label="foo/2.2→server/0.0:3"]; - n_127 -> n_3 [id="[$e|143]", label="foo/2.1→server/0.0:2"]; - n_101 -> n_8 [id="[$e|84]", label="foo/2.2→server/0.0:1"]; - n_13 -> n_109 [id="[$e|147]", label="foo/2.0→server/0.0:3"]; - n_116 -> n_106 [id="[$e|184]", label="foo/2.2→server/0.0:3"]; - n_55 -> n_71 [id="[$e|28]", label="foo/2.2→server/0.0:1"]; - n_4 -> n_46 [id="[$e|109]", label="foo/2.1→server/0.0:2"]; + n_120 -> n_56 [id="[$e|45]", label="foo/2.0→server/0.0:2"]; + n_43 -> n_65 [id="[$e|93]", label="foo/2.1→server/0.0:1"]; + n_135 -> n_24 [id="[$e|203]", label="foo/2.1→server/0.0:2"]; + n_94 -> n_70 [id="[$e|146]", label="foo/2.2→server/0.0:1"]; + n_9 -> n_121 [id="[$e|214]", label="foo/2.2→server/0.0:3"]; + n_62 -> n_89 [id="[$e|211]", label="foo/2.1→server/0.0:3"]; + n_145 -> n_90 [id="[$e|200]", label="foo/2.2→server/0.0:3"]; n_127 -> n_94 [id="[$e|50]", label="foo/2.1→server/0.0:2"]; - n_127 -> n_101 [id="[$e|16]", label="foo/2.0→server/0.0:1"]; - n_127 -> n_119 [id="[$e|108]", label="foo/2.2→server/0.0:3"]; - n_10 -> n_9 [id="[$e|201]", label="foo/2.0→server/0.0:2"]; - n_101 -> n_95 [id="[$e|83]", label="foo/2.1→server/0.0:3"]; + n_94 -> n_146 [id="[$e|145]", label="foo/2.0→server/0.0:3"]; + n_127 -> n_120 [id="[$e|8]", label="foo/2.1→server/0.0:1"]; + n_127 -> n_147 [id="[$e|56]", label="foo/2.1→server/0.0:1"]; + n_127 -> n_88 [id="[$e|141]", label="foo/2.2→server/0.0:2"]; + n_72 -> n_148 [id="[$e|73]", label="foo/2.0→server/0.0:1"]; + n_127 -> n_124 [id="[$e|152]", label="foo/2.0→server/0.0:3"]; n_127 -> n_21 [id="[$e|142]", label="foo/2.0→server/0.0:3"]; + n_148 -> n_29 [id="[$e|99]", label="foo/2.2→server/0.0:1"]; + n_134 -> n_121 [id="[$e|227]", label="foo/2.2→server/0.0:3"]; + n_127 -> n_51 [id="[$e|15]", label="foo/2.2→server/0.0:1"]; + n_34 -> n_84 [id="[$e|188]", label="foo/2.1→server/0.0:1"]; + n_127 -> n_10 [id="[$e|107]", label="foo/2.1→server/0.0:2"]; + n_127 -> n_54 [id="[$e|105]", label="foo/2.2→server/0.0:2"]; + n_75 -> n_44 [id="[$e|206]", label="foo/2.2→server/0.0:2"]; + n_13 -> n_32 [id="[$e|148]", label="foo/2.1→server/0.0:2"]; n_11 -> n_59 [id="[$e|130]", label="foo/2.1→server/0.0:1"]; - n_127 -> n_145 [id="[$e|106]", label="foo/2.0→server/0.0:2"]; - n_94 -> n_146 [id="[$e|145]", label="foo/2.0→server/0.0:3"]; + n_127 -> n_7 [id="[$e|120]", label="foo/2.2→server/0.0:3"]; + n_127 -> n_42 [id="[$e|35]", label="foo/2.1→server/0.0:3"]; + n_127 -> n_82 [id="[$e|33]", label="foo/2.2→server/0.0:1"]; + n_92 -> n_69 [id="[$e|136]", label="foo/2.0→server/0.0:2"]; n_30 -> n_134 [id="[$e|171]", label="foo/2.1→server/0.0:2"]; - n_135 -> n_24 [id="[$e|203]", label="foo/2.1→server/0.0:2"]; - n_14 -> n_33 [id="[$e|63]", label="foo/2.0→server/0.0:3"]; - n_19 -> n_64 [id="[$e|43]", label="foo/2.1→server/0.0:1"]; - n_127 -> n_132 [id="[$e|49]", label="foo/2.0→server/0.0:3"]; - n_136 -> n_57 [id="[$e|87]", label="foo/2.1→server/0.0:1"]; - n_105 -> n_15 [id="[$e|165]", label="foo/2.1→server/0.0:2"]; + n_8 -> n_89 [id="[$e|185]", label="foo/2.1→server/0.0:3"]; + n_128 -> n_142 [id="[$e|160]", label="foo/2.1→server/0.0:1"]; + n_103 -> n_5 [id="[$e|85]", label="foo/2.0→server/0.0:1"]; + n_112 -> n_58 [id="[$e|47]", label="foo/2.0→server/0.0:2"]; + n_4 -> n_40 [id="[$e|110]", label="foo/2.2→server/0.0:1"]; + n_72 -> n_71 [id="[$e|74]", label="foo/2.2→server/0.0:1"]; + n_30 -> n_90 [id="[$e|172]", label="foo/2.2→server/0.0:3"]; + n_93 -> n_15 [id="[$e|193]", label="foo/2.1→server/0.0:2"]; + n_127 -> n_143 [id="[$e|151]", label="foo/2.2→server/0.0:2"]; + n_81 -> n_64 [id="[$e|25]", label="foo/2.1→server/0.0:1"]; + n_17 -> n_47 [id="[$e|216]", label="foo/2.2→server/0.0:2"]; n_17 -> n_97 [id="[$e|215]", label="foo/2.0→server/0.0:3"]; - n_127 -> n_122 [id="[$e|40]", label="foo/2.0→server/0.0:2"]; + n_111 -> n_5 [id="[$e|181]", label="foo/2.0→server/0.0:1"]; + n_125 -> n_140 [id="[$e|155]", label="foo/2.0→server/0.0:3"]; n_127 -> n_130 [id="[$e|58]", label="foo/2.0→server/0.0:3"]; - n_120 -> n_92 [id="[$e|46]", label="foo/2.2→server/0.0:1"]; - n_127 -> n_23 [id="[$e|38]", label="foo/2.1→server/0.0:1"]; - n_18 -> n_66 [id="[$e|168]", label="foo/2.2→server/0.0:2"]; - n_123 -> n_70 [id="[$e|62]", label="foo/2.2→server/0.0:1"]; + n_127 -> n_107 [id="[$e|55]", label="foo/2.0→server/0.0:3"]; + n_127 -> n_128 [id="[$e|57]", label="foo/2.2→server/0.0:2"]; + n_14 -> n_142 [id="[$e|64]", label="foo/2.1→server/0.0:1"]; + n_85 -> n_149 [id="[$e|174]", label="foo/2.2→server/0.0:3"]; + n_127 -> n_141 [id="[$e|77]", label="foo/2.0→server/0.0:1"]; + n_127 -> n_112 [id="[$e|9]", label="foo/2.2→server/0.0:1"]; n_127 -> n_31 [id="[$e|153]", label="foo/2.1→server/0.0:3"]; - n_37 -> n_61 [id="[$e|29]", label="foo/2.0→server/0.0:1"]; - n_52 -> n_108 [id="[$e|0]", label="main/0.0Δserver/0.0 args nil"]; - n_10 -> n_48 [id="[$e|202]", label="foo/2.2→server/0.0:3"]; - n_127 -> n_104 [id="[$e|21]", label="foo/2.2→server/0.0:2"]; - n_96 -> n_80 [id="[$e|189]", label="foo/2.2→server/0.0:2"]; - n_40 -> n_24 [id="[$e|176]", label="foo/2.1→server/0.0:2"]; n_74 -> n_8 [id="[$e|122]", label="foo/2.2→server/0.0:1"]; - n_142 -> n_100 [id="[$e|164]", label="foo/2.0→server/0.0:3"]; - n_127 -> n_93 [id="[$e|103]", label="foo/2.0→server/0.0:2"]; - n_127 -> n_116 [id="[$e|80]", label="foo/2.0→server/0.0:1"]; - n_127 -> n_83 [id="[$e|70]", label="foo/2.2→server/0.0:3"]; - n_37 -> n_139 [id="[$e|30]", label="foo/2.1→server/0.0:1"]; - n_56 -> n_29 [id="[$e|135]", label="foo/2.2→server/0.0:1"]; - n_127 -> n_102 [id="[$e|119]", label="foo/2.1→server/0.0:3"]; - n_127 -> n_51 [id="[$e|15]", label="foo/2.2→server/0.0:1"]; - n_88 -> n_32 [id="[$e|218]", label="foo/2.1→server/0.0:2"]; - n_70 -> n_100 [id="[$e|163]", label="foo/2.0→server/0.0:3"]; - n_147 -> n_47 [id="[$e|158]", label="foo/2.2→server/0.0:2"]; - n_148 -> n_29 [id="[$e|99]", label="foo/2.2→server/0.0:1"]; - n_127 -> n_4 [id="[$e|31]", label="foo/2.0→server/0.0:2"]; - n_120 -> n_56 [id="[$e|45]", label="foo/2.0→server/0.0:2"]; - n_5 -> n_89 [id="[$e|186]", label="foo/2.1→server/0.0:3"]; - n_110 -> n_66 [id="[$e|90]", label="foo/2.2→server/0.0:2"]; - n_127 -> n_55 [id="[$e|5]", label="foo/2.1→server/0.0:1"]; - n_13 -> n_32 [id="[$e|148]", label="foo/2.1→server/0.0:2"]; - n_127 -> n_143 [id="[$e|151]", label="foo/2.2→server/0.0:2"]; + n_60 -> n_69 [id="[$e|204]", label="foo/2.0→server/0.0:2"]; + n_105 -> n_15 [id="[$e|165]", label="foo/2.1→server/0.0:2"]; + n_127 -> n_145 [id="[$e|106]", label="foo/2.0→server/0.0:2"]; + n_136 -> n_57 [id="[$e|87]", label="foo/2.1→server/0.0:1"]; n_127 -> n_6 [id="[$e|104]", label="foo/2.1→server/0.0:2"]; - n_127 -> n_67 [id="[$e|78]", label="foo/2.1→server/0.0:3"]; - n_127 -> n_138 [id="[$e|41]", label="foo/2.1→server/0.0:1"]; - n_85 -> n_39 [id="[$e|173]", label="foo/2.0→server/0.0:1"]; - n_127 -> n_91 [id="[$e|10]", label="foo/2.0→server/0.0:3"]; - n_27 -> n_36 [id="[$e|124]", label="foo/2.1→server/0.0:3"]; - n_8 -> n_89 [id="[$e|185]", label="foo/2.1→server/0.0:3"]; - n_127 -> n_88 [id="[$e|141]", label="foo/2.2→server/0.0:2"]; - n_27 -> n_62 [id="[$e|123]", label="foo/2.0→server/0.0:2"]; - n_43 -> n_65 [id="[$e|93]", label="foo/2.1→server/0.0:1"]; - n_127 -> n_128 [id="[$e|57]", label="foo/2.2→server/0.0:2"]; - n_9 -> n_121 [id="[$e|214]", label="foo/2.2→server/0.0:3"]; + n_110 -> n_66 [id="[$e|90]", label="foo/2.2→server/0.0:2"]; + n_127 -> n_101 [id="[$e|16]", label="foo/2.0→server/0.0:1"]; + n_116 -> n_106 [id="[$e|184]", label="foo/2.2→server/0.0:3"]; + n_19 -> n_16 [id="[$e|44]", label="foo/2.2→server/0.0:1"]; + n_39 -> n_121 [id="[$e|192]", label="foo/2.2→server/0.0:3"]; + n_70 -> n_100 [id="[$e|163]", label="foo/2.0→server/0.0:3"]; + n_13 -> n_109 [id="[$e|147]", label="foo/2.0→server/0.0:3"]; + n_127 -> n_83 [id="[$e|70]", label="foo/2.2→server/0.0:3"]; n_103 -> n_78 [id="[$e|86]", label="foo/2.1→server/0.0:3"]; - n_127 -> n_18 [id="[$e|66]", label="foo/2.1→server/0.0:2"]; - n_127 -> n_147 [id="[$e|56]", label="foo/2.1→server/0.0:1"]; - n_75 -> n_44 [id="[$e|206]", label="foo/2.2→server/0.0:2"]; - n_12 -> n_92 [id="[$e|112]", label="foo/2.2→server/0.0:1"]; - n_127 -> n_137 [id="[$e|53]", label="foo/2.1→server/0.0:3"]; - n_127 -> n_27 [id="[$e|36]", label="foo/2.2→server/0.0:1"]; - n_127 -> n_113 [id="[$e|118]", label="foo/2.0→server/0.0:2"]; - n_3 -> n_50 [id="[$e|219]", label="foo/2.0→server/0.0:3"]; - n_65 -> n_121 [id="[$e|191]", label="foo/2.2→server/0.0:3"]; - n_111 -> n_5 [id="[$e|181]", label="foo/2.0→server/0.0:1"]; - n_145 -> n_134 [id="[$e|199]", label="foo/2.1→server/0.0:2"]; n_1 -> n_57 [id="[$e|125]", label="foo/2.1→server/0.0:1"]; - n_103 -> n_5 [id="[$e|85]", label="foo/2.0→server/0.0:1"]; - n_15 -> n_80 [id="[$e|225]", label="foo/2.2→server/0.0:2"]; - n_127 -> n_115 [id="[$e|82]", label="foo/2.2→server/0.0:3"]; - n_127 -> n_105 [id="[$e|65]", label="foo/2.0→server/0.0:1"]; - n_88 -> n_109 [id="[$e|217]", label="foo/2.0→server/0.0:3"]; - n_127 -> n_82 [id="[$e|33]", label="foo/2.2→server/0.0:1"]; - n_112 -> n_59 [id="[$e|48]", label="foo/2.1→server/0.0:1"]; - n_57 -> n_80 [id="[$e|187]", label="foo/2.2→server/0.0:2"]; - n_127 -> n_123 [id="[$e|11]", label="foo/2.1→server/0.0:1"]; - n_134 -> n_121 [id="[$e|227]", label="foo/2.2→server/0.0:3"]; - n_93 -> n_15 [id="[$e|193]", label="foo/2.1→server/0.0:2"]; - n_127 -> n_19 [id="[$e|7]", label="foo/2.0→server/0.0:2"]; - n_127 -> n_114 [id="[$e|60]", label="foo/2.2→server/0.0:3"]; - n_117 -> n_40 [id="[$e|72]", label="foo/2.2→server/0.0:1"]; - n_81 -> n_64 [id="[$e|25]", label="foo/2.1→server/0.0:1"]; - n_28 -> n_24 [id="[$e|226]", label="foo/2.1→server/0.0:2"]; - n_127 -> n_7 [id="[$e|120]", label="foo/2.2→server/0.0:3"]; - n_34 -> n_84 [id="[$e|188]", label="foo/2.1→server/0.0:1"]; n_110 -> n_96 [id="[$e|89]", label="foo/2.0→server/0.0:1"]; - n_127 -> n_72 [id="[$e|14]", label="foo/2.1→server/0.0:2"]; - n_47 -> n_100 [id="[$e|224]", label="foo/2.0→server/0.0:3"]; - n_94 -> n_70 [id="[$e|146]", label="foo/2.2→server/0.0:1"]; - n_127 -> n_133 [id="[$e|42]", label="foo/2.2→server/0.0:3"]; - n_127 -> n_125 [id="[$e|54]", label="foo/2.2→server/0.0:1"]; - n_127 -> n_1 [id="[$e|37]", label="foo/2.0→server/0.0:2"]; - n_12 -> n_56 [id="[$e|111]", label="foo/2.0→server/0.0:2"]; - n_127 -> n_20 [id="[$e|154]", label="foo/2.2→server/0.0:3"]; - n_72 -> n_71 [id="[$e|74]", label="foo/2.2→server/0.0:1"]; - n_46 -> n_29 [id="[$e|175]", label="foo/2.2→server/0.0:1"]; + n_127 -> n_30 [id="[$e|68]", label="foo/2.0→server/0.0:1"]; + n_136 -> n_34 [id="[$e|88]", label="foo/2.2→server/0.0:2"]; + n_82 -> n_135 [id="[$e|113]", label="foo/2.0→server/0.0:2"]; + n_127 -> n_85 [id="[$e|69]", label="foo/2.1→server/0.0:2"]; + n_65 -> n_121 [id="[$e|191]", label="foo/2.2→server/0.0:3"]; + n_2 -> n_41 [id="[$e|170]", label="foo/2.1→server/0.0:2"]; n_147 -> n_97 [id="[$e|157]", label="foo/2.0→server/0.0:3"]; - n_128 -> n_142 [id="[$e|160]", label="foo/2.1→server/0.0:1"]; - n_127 -> n_141 [id="[$e|77]", label="foo/2.0→server/0.0:1"]; + n_127 -> n_136 [id="[$e|19]", label="foo/2.0→server/0.0:1"]; + n_51 -> n_41 [id="[$e|76]", label="foo/2.1→server/0.0:2"]; + n_27 -> n_62 [id="[$e|123]", label="foo/2.0→server/0.0:2"]; + n_81 -> n_16 [id="[$e|26]", label="foo/2.2→server/0.0:1"]; + n_44 -> n_89 [id="[$e|228]", label="foo/2.1→server/0.0:3"]; + n_127 -> n_104 [id="[$e|21]", label="foo/2.2→server/0.0:2"]; + n_101 -> n_95 [id="[$e|83]", label="foo/2.1→server/0.0:3"]; + n_16 -> n_84 [id="[$e|98]", label="foo/2.1→server/0.0:1"]; + n_112 -> n_59 [id="[$e|48]", label="foo/2.1→server/0.0:1"]; + n_127 -> n_11 [id="[$e|39]", label="foo/2.2→server/0.0:2"]; + n_3 -> n_50 [id="[$e|219]", label="foo/2.0→server/0.0:3"]; n_127 -> n_131 [id="[$e|117]", label="foo/2.2→server/0.0:2"]; - n_2 -> n_41 [id="[$e|170]", label="foo/2.1→server/0.0:2"]; - n_145 -> n_90 [id="[$e|200]", label="foo/2.2→server/0.0:3"]; - n_127 -> n_118 [id="[$e|81]", label="foo/2.1→server/0.0:3"]; - n_125 -> n_140 [id="[$e|155]", label="foo/2.0→server/0.0:3"]; - n_127 -> n_103 [id="[$e|18]", label="foo/2.2→server/0.0:1"]; - n_127 -> n_2 [id="[$e|67]", label="foo/2.2→server/0.0:2"]; - n_66 -> n_45 [id="[$e|190]", label="foo/2.0→server/0.0:1"]; - n_127 -> n_111 [id="[$e|79]", label="foo/2.2→server/0.0:2"]; - n_113 -> n_129 [id="[$e|209]", label="foo/2.1→server/0.0:3"]; + n_68 -> n_80 [id="[$e|212]", label="foo/2.2→server/0.0:2"]; + n_139 -> n_45 [id="[$e|102]", label="foo/2.0→server/0.0:1"]; + n_116 -> n_129 [id="[$e|183]", label="foo/2.1→server/0.0:3"]; + n_86 -> n_77 [id="[$e|162]", label="foo/2.2→server/0.0:3"]; + n_145 -> n_134 [id="[$e|199]", label="foo/2.1→server/0.0:2"]; + n_85 -> n_39 [id="[$e|173]", label="foo/2.0→server/0.0:1"]; + n_127 -> n_114 [id="[$e|60]", label="foo/2.2→server/0.0:3"]; + n_141 -> n_35 [id="[$e|179]", label="foo/2.1→server/0.0:3"]; + n_127 -> n_37 [id="[$e|6]", label="foo/2.2→server/0.0:1"]; + n_147 -> n_47 [id="[$e|158]", label="foo/2.2→server/0.0:2"]; + n_122 -> n_65 [id="[$e|131]", label="foo/2.1→server/0.0:1"]; + n_75 -> n_35 [id="[$e|205]", label="foo/2.1→server/0.0:3"]; + n_127 -> n_53 [id="[$e|116]", label="foo/2.1→server/0.0:3"]; + n_127 -> n_19 [id="[$e|7]", label="foo/2.0→server/0.0:2"]; + n_105 -> n_28 [id="[$e|166]", label="foo/2.2→server/0.0:2"]; + n_15 -> n_80 [id="[$e|225]", label="foo/2.2→server/0.0:2"]; n_6 -> n_68 [id="[$e|195]", label="foo/2.0→server/0.0:2"]; - n_61 -> n_84 [id="[$e|101]", label="foo/2.1→server/0.0:1"]; - n_127 -> n_14 [id="[$e|12]", label="foo/2.2→server/0.0:1"]; - n_23 -> n_144 [id="[$e|128]", label="foo/2.2→server/0.0:2"]; + n_127 -> n_116 [id="[$e|80]", label="foo/2.0→server/0.0:1"]; + n_6 -> n_144 [id="[$e|196]", label="foo/2.2→server/0.0:2"]; + n_88 -> n_32 [id="[$e|218]", label="foo/2.1→server/0.0:2"]; + n_120 -> n_92 [id="[$e|46]", label="foo/2.2→server/0.0:1"]; + n_127 -> n_133 [id="[$e|42]", label="foo/2.2→server/0.0:3"]; n_125 -> n_63 [id="[$e|156]", label="foo/2.1→server/0.0:3"]; + n_127 -> n_118 [id="[$e|81]", label="foo/2.1→server/0.0:3"]; + n_127 -> n_137 [id="[$e|53]", label="foo/2.1→server/0.0:3"]; + n_59 -> n_69 [id="[$e|138]", label="foo/2.0→server/0.0:2"]; + n_113 -> n_106 [id="[$e|210]", label="foo/2.2→server/0.0:3"]; + n_127 -> n_14 [id="[$e|12]", label="foo/2.2→server/0.0:1"]; + n_127 -> n_76 [id="[$e|17]", label="foo/2.1→server/0.0:3"]; + n_127 -> n_132 [id="[$e|49]", label="foo/2.0→server/0.0:3"]; n_32 -> n_100 [id="[$e|221]", label="foo/2.0→server/0.0:3"]; - n_128 -> n_33 [id="[$e|159]", label="foo/2.0→server/0.0:3"]; - n_143 -> n_140 [id="[$e|222]", label="foo/2.0→server/0.0:3"]; - n_1 -> n_34 [id="[$e|126]", label="foo/2.2→server/0.0:2"]; + n_54 -> n_135 [id="[$e|197]", label="foo/2.0→server/0.0:2"]; + n_73 -> n_24 [id="[$e|177]", label="foo/2.1→server/0.0:2"]; + n_127 -> n_102 [id="[$e|119]", label="foo/2.1→server/0.0:3"]; + n_138 -> n_9 [id="[$e|133]", label="foo/2.0→server/0.0:2"]; + n_127 -> n_75 [id="[$e|115]", label="foo/2.0→server/0.0:2"]; + n_127 -> n_93 [id="[$e|103]", label="foo/2.0→server/0.0:2"]; + n_141 -> n_44 [id="[$e|180]", label="foo/2.2→server/0.0:2"]; + n_71 -> n_45 [id="[$e|100]", label="foo/2.0→server/0.0:1"]; + n_25 -> n_39 [id="[$e|95]", label="foo/2.0→server/0.0:1"]; + n_127 -> n_55 [id="[$e|5]", label="foo/2.1→server/0.0:1"]; + n_79 -> n_127 [id="[$e|3]", label="main/0.0Δfoo/2.2 args [server/0.0,3]"]; + n_127 -> n_22 [id="[$e|24]", label="foo/2.2→server/0.0:3"]; + n_14 -> n_33 [id="[$e|63]", label="foo/2.0→server/0.0:3"]; + n_74 -> n_95 [id="[$e|121]", label="foo/2.1→server/0.0:3"]; + n_12 -> n_92 [id="[$e|112]", label="foo/2.2→server/0.0:1"]; + n_127 -> n_20 [id="[$e|154]", label="foo/2.2→server/0.0:3"]; + n_23 -> n_144 [id="[$e|128]", label="foo/2.2→server/0.0:2"]; + n_144 -> n_69 [id="[$e|213]", label="foo/2.0→server/0.0:2"]; + n_82 -> n_60 [id="[$e|114]", label="foo/2.1→server/0.0:2"]; + n_58 -> n_84 [id="[$e|137]", label="foo/2.1→server/0.0:1"]; + n_113 -> n_129 [id="[$e|209]", label="foo/2.1→server/0.0:3"]; + n_37 -> n_61 [id="[$e|29]", label="foo/2.0→server/0.0:1"]; + n_138 -> n_48 [id="[$e|134]", label="foo/2.2→server/0.0:3"]; + n_43 -> n_38 [id="[$e|94]", label="foo/2.2→server/0.0:3"]; + n_111 -> n_78 [id="[$e|182]", label="foo/2.1→server/0.0:3"]; + n_127 -> n_67 [id="[$e|78]", label="foo/2.1→server/0.0:3"]; + n_57 -> n_80 [id="[$e|187]", label="foo/2.2→server/0.0:2"]; + n_123 -> n_146 [id="[$e|61]", label="foo/2.0→server/0.0:3"]; + n_101 -> n_8 [id="[$e|84]", label="foo/2.2→server/0.0:1"]; + n_5 -> n_89 [id="[$e|186]", label="foo/2.1→server/0.0:3"]; + n_122 -> n_38 [id="[$e|132]", label="foo/2.2→server/0.0:3"]; + n_27 -> n_36 [id="[$e|124]", label="foo/2.1→server/0.0:3"]; + n_127 -> n_105 [id="[$e|65]", label="foo/2.0→server/0.0:1"]; + n_127 -> n_81 [id="[$e|4]", label="foo/2.0→server/0.0:1"]; + n_28 -> n_24 [id="[$e|226]", label="foo/2.1→server/0.0:2"]; + n_18 -> n_96 [id="[$e|167]", label="foo/2.0→server/0.0:1"]; + n_127 -> n_126 [id="[$e|144]", label="foo/2.2→server/0.0:3"]; + n_127 -> n_18 [id="[$e|66]", label="foo/2.1→server/0.0:2"]; n_104 -> n_61 [id="[$e|91]", label="foo/2.0→server/0.0:1"]; + n_127 -> n_122 [id="[$e|40]", label="foo/2.0→server/0.0:2"]; + n_93 -> n_28 [id="[$e|194]", label="foo/2.2→server/0.0:2"]; + n_19 -> n_64 [id="[$e|43]", label="foo/2.1→server/0.0:1"]; + n_127 -> n_111 [id="[$e|79]", label="foo/2.2→server/0.0:2"]; + n_56 -> n_29 [id="[$e|135]", label="foo/2.2→server/0.0:1"]; + n_40 -> n_24 [id="[$e|176]", label="foo/2.1→server/0.0:2"]; + n_10 -> n_9 [id="[$e|201]", label="foo/2.0→server/0.0:2"]; + n_4 -> n_46 [id="[$e|109]", label="foo/2.1→server/0.0:2"]; n_117 -> n_46 [id="[$e|71]", label="foo/2.1→server/0.0:2"]; - n_127 -> n_85 [id="[$e|69]", label="foo/2.1→server/0.0:2"]; - n_87 -> n_79 [id="[$e|2]", label="main/0.0Δfoo/2.1 args [server/0.0,2]"]; - n_127 -> n_110 [id="[$e|20]", label="foo/2.1→server/0.0:1"]; - n_6 -> n_144 [id="[$e|196]", label="foo/2.2→server/0.0:2"]; - n_18 -> n_96 [id="[$e|167]", label="foo/2.0→server/0.0:1"]; - n_127 -> n_12 [id="[$e|32]", label="foo/2.1→server/0.0:2"]; - n_71 -> n_45 [id="[$e|100]", label="foo/2.0→server/0.0:1"]; - n_127 -> n_136 [id="[$e|19]", label="foo/2.0→server/0.0:1"]; n_127 -> n_86 [id="[$e|59]", label="foo/2.1→server/0.0:1"]; - n_112 -> n_58 [id="[$e|47]", label="foo/2.0→server/0.0:2"]; - n_127 -> n_10 [id="[$e|107]", label="foo/2.1→server/0.0:2"]; - n_51 -> n_73 [id="[$e|75]", label="foo/2.0→server/0.0:1"]; - n_43 -> n_38 [id="[$e|94]", label="foo/2.2→server/0.0:3"]; - n_17 -> n_47 [id="[$e|216]", label="foo/2.2→server/0.0:2"]; - n_72 -> n_148 [id="[$e|73]", label="foo/2.0→server/0.0:1"]; - n_127 -> n_124 [id="[$e|152]", label="foo/2.0→server/0.0:3"]; + n_37 -> n_139 [id="[$e|30]", label="foo/2.1→server/0.0:1"]; + n_142 -> n_100 [id="[$e|164]", label="foo/2.0→server/0.0:3"]; + n_123 -> n_70 [id="[$e|62]", label="foo/2.2→server/0.0:1"]; + n_61 -> n_84 [id="[$e|101]", label="foo/2.1→server/0.0:1"]; + n_127 -> n_117 [id="[$e|13]", label="foo/2.0→server/0.0:1"]; + n_47 -> n_100 [id="[$e|224]", label="foo/2.0→server/0.0:3"]; + n_108 -> n_87 [id="[$e|1]", label="main/0.0Δfoo/2.0 args [server/0.0,1]"]; + n_131 -> n_62 [id="[$e|207]", label="foo/2.0→server/0.0:2"]; + n_11 -> n_58 [id="[$e|129]", label="foo/2.0→server/0.0:2"]; + n_127 -> n_110 [id="[$e|20]", label="foo/2.1→server/0.0:1"]; + n_127 -> n_103 [id="[$e|18]", label="foo/2.2→server/0.0:1"]; + n_18 -> n_66 [id="[$e|168]", label="foo/2.2→server/0.0:2"]; + n_104 -> n_139 [id="[$e|92]", label="foo/2.1→server/0.0:1"]; + n_10 -> n_48 [id="[$e|202]", label="foo/2.2→server/0.0:3"]; + n_127 -> n_115 [id="[$e|82]", label="foo/2.2→server/0.0:3"]; + n_127 -> n_2 [id="[$e|67]", label="foo/2.2→server/0.0:2"]; + n_127 -> n_123 [id="[$e|11]", label="foo/2.1→server/0.0:1"]; + n_66 -> n_45 [id="[$e|190]", label="foo/2.0→server/0.0:1"]; + n_127 -> n_25 [id="[$e|23]", label="foo/2.1→server/0.0:1"]; + n_127 -> n_125 [id="[$e|54]", label="foo/2.2→server/0.0:1"]; + n_127 -> n_17 [id="[$e|140]", label="foo/2.1→server/0.0:2"]; + n_117 -> n_40 [id="[$e|72]", label="foo/2.2→server/0.0:1"]; + n_127 -> n_4 [id="[$e|31]", label="foo/2.0→server/0.0:2"]; + n_127 -> n_91 [id="[$e|10]", label="foo/2.0→server/0.0:3"]; + n_23 -> n_68 [id="[$e|127]", label="foo/2.0→server/0.0:2"]; + n_127 -> n_27 [id="[$e|36]", label="foo/2.2→server/0.0:1"]; + n_143 -> n_63 [id="[$e|223]", label="foo/2.1→server/0.0:3"]; + n_3 -> n_77 [id="[$e|220]", label="foo/2.2→server/0.0:3"]; + n_127 -> n_26 [id="[$e|150]", label="foo/2.1→server/0.0:3"]; + n_2 -> n_73 [id="[$e|169]", label="foo/2.0→server/0.0:1"]; + n_127 -> n_1 [id="[$e|37]", label="foo/2.0→server/0.0:2"]; + n_127 -> n_138 [id="[$e|41]", label="foo/2.1→server/0.0:1"]; + n_1 -> n_34 [id="[$e|126]", label="foo/2.2→server/0.0:2"]; + n_12 -> n_56 [id="[$e|111]", label="foo/2.0→server/0.0:2"]; + n_127 -> n_119 [id="[$e|108]", label="foo/2.2→server/0.0:3"]; n_54 -> n_60 [id="[$e|198]", label="foo/2.1→server/0.0:2"]; + n_41 -> n_45 [id="[$e|178]", label="foo/2.0→server/0.0:1"]; + n_46 -> n_29 [id="[$e|175]", label="foo/2.2→server/0.0:1"]; + n_55 -> n_148 [id="[$e|27]", label="foo/2.0→server/0.0:1"]; + n_127 -> n_99 [id="[$e|149]", label="foo/2.0→server/0.0:3"]; + n_51 -> n_73 [id="[$e|75]", label="foo/2.0→server/0.0:1"]; + n_96 -> n_80 [id="[$e|189]", label="foo/2.2→server/0.0:2"]; + n_127 -> n_12 [id="[$e|32]", label="foo/2.1→server/0.0:2"]; + n_127 -> n_113 [id="[$e|118]", label="foo/2.0→server/0.0:2"]; + n_127 -> n_74 [id="[$e|34]", label="foo/2.0→server/0.0:2"]; + n_127 -> n_49 [id="[$e|52]", label="foo/2.0→server/0.0:3"]; + n_127 -> n_3 [id="[$e|143]", label="foo/2.1→server/0.0:2"]; + n_64 -> n_29 [id="[$e|97]", label="foo/2.2→server/0.0:1"]; + n_128 -> n_33 [id="[$e|159]", label="foo/2.0→server/0.0:3"]; + n_55 -> n_71 [id="[$e|28]", label="foo/2.2→server/0.0:1"]; n_127 -> n_98 [id="[$e|139]", label="foo/2.0→server/0.0:3"]; - n_122 -> n_65 [id="[$e|131]", label="foo/2.1→server/0.0:1"]; - n_127 -> n_126 [id="[$e|144]", label="foo/2.2→server/0.0:3"]; - n_122 -> n_38 [id="[$e|132]", label="foo/2.2→server/0.0:3"]; - n_60 -> n_69 [id="[$e|204]", label="foo/2.0→server/0.0:2"]; - n_127 -> n_30 [id="[$e|68]", label="foo/2.0→server/0.0:1"]; - n_23 -> n_68 [id="[$e|127]", label="foo/2.0→server/0.0:2"]; - n_127 -> n_17 [id="[$e|140]", label="foo/2.1→server/0.0:2"]; - n_79 -> n_127 [id="[$e|3]", label="main/0.0Δfoo/2.2 args [server/0.0,3]"]; - n_30 -> n_90 [id="[$e|172]", label="foo/2.2→server/0.0:3"]; + n_88 -> n_109 [id="[$e|217]", label="foo/2.0→server/0.0:3"]; + n_25 -> n_149 [id="[$e|96]", label="foo/2.2→server/0.0:3"]; + n_127 -> n_13 [id="[$e|51]", label="foo/2.2→server/0.0:1"]; + n_127 -> n_43 [id="[$e|22]", label="foo/2.0→server/0.0:1"]; + n_127 -> n_23 [id="[$e|38]", label="foo/2.1→server/0.0:1"]; + n_143 -> n_140 [id="[$e|222]", label="foo/2.0→server/0.0:3"]; + n_86 -> n_50 [id="[$e|161]", label="foo/2.0→server/0.0:3"]; + n_52 -> n_108 [id="[$e|0]", label="main/0.0Δserver/0.0 args nil"]; + n_127 -> n_72 [id="[$e|14]", label="foo/2.1→server/0.0:2"]; n_131 -> n_36 [id="[$e|208]", label="foo/2.1→server/0.0:3"]; - n_144 -> n_69 [id="[$e|213]", label="foo/2.0→server/0.0:2"]; - n_62 -> n_89 [id="[$e|211]", label="foo/2.1→server/0.0:3"]; - n_51 -> n_41 [id="[$e|76]", label="foo/2.1→server/0.0:2"]; - n_64 -> n_29 [id="[$e|97]", label="foo/2.2→server/0.0:1"]; - n_75 -> n_35 [id="[$e|205]", label="foo/2.1→server/0.0:3"]; - n_138 -> n_9 [id="[$e|133]", label="foo/2.0→server/0.0:2"]; - n_59 -> n_69 [id="[$e|138]", label="foo/2.0→server/0.0:2"]; - n_127 -> n_76 [id="[$e|17]", label="foo/2.1→server/0.0:3"]; + n_87 -> n_79 [id="[$e|2]", label="main/0.0Δfoo/2.1 args [server/0.0,2]"]; } diff --git a/examples/test/foo7/main_0_local_view.dot b/examples/test/foo7/main_0_local_view.dot index 140ce9e..3e076c6 100644 --- a/examples/test/foo7/main_0_local_view.dot +++ b/examples/test/foo7/main_0_local_view.dot @@ -8,8 +8,8 @@ digraph main_0 { n_4 [id="2", shape=circle, label="2"]; n_5 [id="5", shape=circle, label="3"]; + n_3 -> n_2 [id="[$e|3]", label="spawn foo/2.2 args [server/0.0,3]"]; n_4 -> n_5 [id="[$e|1]", label="spawn foo/2.0 args [server/0.0,1]"]; n_1 -> n_4 [id="[$e|0]", label="spawn server/0.0 args nil"]; n_5 -> n_3 [id="[$e|2]", label="spawn foo/2.1 args [server/0.0,2]"]; - n_3 -> n_2 [id="[$e|3]", label="spawn foo/2.2 args [server/0.0,3]"]; } diff --git a/examples/test/foo7/output.csv b/examples/test/foo7/output.csv new file mode 100644 index 0000000..2662982 --- /dev/null +++ b/examples/test/foo7/output.csv @@ -0,0 +1,9 @@ +line,41 +lv_main/0_nodes,5 +lv_main/0_edges,4 +lv_server/0_nodes,2 +lv_server/0_edges,3 +lv_foo/2_nodes,2 +lv_foo/2_edges,3 +gv_nodes,43 +gv_edges,121 diff --git a/examples/test/foo7/server_0_local_view.dot b/examples/test/foo7/server_0_local_view.dot index 62431ad..f597d73 100644 --- a/examples/test/foo7/server_0_local_view.dot +++ b/examples/test/foo7/server_0_local_view.dot @@ -5,7 +5,7 @@ digraph server_0 { n_0 -> n_1 [arrowhead=none]; n_2 [id="2", shape=doublecircle, label="2"]; - n_1 -> n_1 [id="[$e|13]", label="0#receive 1"]; n_1 -> n_1 [id="[$e|9]", label="1#receive 2"]; + n_1 -> n_1 [id="[$e|13]", label="0#receive 1"]; n_1 -> n_2 [id="[$e|1]", label="2#receive 3"]; } diff --git a/examples/test/foo8/main_0_global_view.dot b/examples/test/foo8/main_0_global_view.dot index c8c6254..880a5d6 100644 --- a/examples/test/foo8/main_0_global_view.dot +++ b/examples/test/foo8/main_0_global_view.dot @@ -1,1071 +1,1011 @@ digraph global { rankdir="LR"; n_0 [label="global", shape="plaintext"]; - n_1 [id="511", shape=circle, label="511"]; - n_2 [id="201", shape=doublecircle, label="201"]; - n_3 [id="171", shape=circle, label="171", fillcolor="#FF0000FF", style=filled]; - n_4 [id="152", shape=circle, label="152"]; - n_5 [id="420", shape=circle, label="420"]; - n_6 [id="276", shape=doublecircle, label="276"]; - n_7 [id="53", shape=circle, label="53"]; - n_8 [id="200", shape=doublecircle, label="200"]; - n_9 [id="32", shape=circle, label="32"]; - n_10 [id="465", shape=doublecircle, label="465"]; - n_11 [id="75", shape=circle, label="75"]; - n_12 [id="494", shape=doublecircle, label="494"]; - n_13 [id="157", shape=doublecircle, label="157"]; - n_14 [id="99", shape=doublecircle, label="99"]; - n_15 [id="61", shape=doublecircle, label="61"]; - n_16 [id="29", shape=circle, label="29"]; - n_17 [id="486", shape=circle, label="486", fillcolor="#FF0000FF", style=filled]; - n_18 [id="514", shape=circle, label="514", fillcolor="#FF0000FF", style=filled]; - n_19 [id="485", shape=circle, label="485", fillcolor="#FF0000FF", style=filled]; - n_20 [id="310", shape=circle, label="310", fillcolor="#FF0000FF", style=filled]; - n_21 [id="267", shape=circle, label="267"]; - n_22 [id="166", shape=circle, label="166"]; - n_23 [id="39", shape=doublecircle, label="39"]; - n_24 [id="447", shape=circle, label="447", fillcolor="#FF0000FF", style=filled]; - n_25 [id="67", shape=doublecircle, label="67"]; - n_26 [id="217", shape=doublecircle, label="217"]; - n_27 [id="121", shape=circle, label="121"]; - n_28 [id="482", shape=circle, label="482"]; - n_29 [id="354", shape=circle, label="354"]; - n_30 [id="190", shape=circle, label="190"]; - n_31 [id="162", shape=circle, label="162"]; - n_32 [id="33", shape=circle, label="33", fillcolor="#FF0000FF", style=filled]; - n_33 [id="83", shape=doublecircle, label="83"]; - n_34 [id="223", shape=circle, label="223"]; - n_35 [id="109", shape=circle, label="109", fillcolor="#FF0000FF", style=filled]; - n_36 [id="502", shape=circle, label="502", fillcolor="#FF0000FF", style=filled]; - n_37 [id="163", shape=circle, label="163"]; - n_38 [id="288", shape=circle, label="288"]; - n_39 [id="41", shape=circle, label="41", fillcolor="#FF0000FF", style=filled]; - n_40 [id="454", shape=doublecircle, label="454"]; - n_41 [id="154", shape=circle, label="154"]; - n_42 [id="313", shape=doublecircle, label="313"]; - n_43 [id="346", shape=circle, label="346", fillcolor="#FF0000FF", style=filled]; - n_44 [id="244", shape=circle, label="244"]; - n_45 [id="186", shape=doublecircle, label="186"]; - n_46 [id="138", shape=doublecircle, label="138"]; - n_47 [id="227", shape=circle, label="227"]; - n_48 [id="165", shape=doublecircle, label="165"]; - n_49 [id="66", shape=doublecircle, label="66"]; - n_50 [id="9", shape=circle, label="9", fillcolor="#FF0000FF", style=filled]; - n_51 [id="524", shape=circle, label="524", fillcolor="#FF0000FF", style=filled]; - n_52 [id="361", shape=circle, label="361"]; - n_53 [id="506", shape=circle, label="506", fillcolor="#FF0000FF", style=filled]; - n_54 [id="480", shape=circle, label="480", fillcolor="#FF0000FF", style=filled]; - n_55 [id="263", shape=circle, label="263", fillcolor="#FF0000FF", style=filled]; - n_56 [id="130", shape=doublecircle, label="130"]; - n_57 [id="273", shape=doublecircle, label="273"]; - n_58 [id="26", shape=circle, label="26", fillcolor="#FF0000FF", style=filled]; - n_59 [id="439", shape=circle, label="439", fillcolor="#FF0000FF", style=filled]; - n_60 [id="40", shape=doublecircle, label="40"]; - n_61 [id="231", shape=circle, label="231"]; - n_62 [id="193", shape=doublecircle, label="193"]; - n_63 [id="25", shape=circle, label="25", fillcolor="#FF0000FF", style=filled]; - n_64 [id="390", shape=circle, label="390"]; - n_65 [id="175", shape=circle, label="175"]; - n_66 [id="238", shape=circle, label="238", fillcolor="#FF0000FF", style=filled]; - n_67 [id="399", shape=circle, label="399", fillcolor="#FF0000FF", style=filled]; - n_68 [id="150", shape=doublecircle, label="150"]; - n_69 [id="416", shape=circle, label="416"]; - n_70 [id="289", shape=circle, label="289"]; - n_71 [id="93", shape=doublecircle, label="93"]; - n_72 [id="271", shape=doublecircle, label="271"]; - n_73 [id="189", shape=doublecircle, label="189"]; - n_74 [id="256", shape=doublecircle, label="256"]; - n_75 [id="129", shape=circle, label="129"]; - n_76 [id="368", shape=circle, label="368", fillcolor="#FF0000FF", style=filled]; - n_77 [id="430", shape=doublecircle, label="430"]; - n_78 [id="490", shape=circle, label="490", fillcolor="#FF0000FF", style=filled]; - n_79 [id="203", shape=circle, label="203"]; - n_80 [id="331", shape=doublecircle, label="331"]; - n_81 [id="204", shape=circle, label="204", fillcolor="#FF0000FF", style=filled]; - n_82 [id="178", shape=circle, label="178", fillcolor="#FF0000FF", style=filled]; - n_83 [id="462", shape=doublecircle, label="462"]; - n_84 [id="343", shape=doublecircle, label="343"]; - n_85 [id="90", shape=circle, label="90"]; - n_86 [id="91", shape=doublecircle, label="91"]; - n_87 [id="415", shape=doublecircle, label="415"]; - n_88 [id="306", shape=doublecircle, label="306"]; - n_89 [id="457", shape=circle, label="457", fillcolor="#FF0000FF", style=filled]; - n_90 [id="72", shape=circle, label="72", fillcolor="#FF0000FF", style=filled]; - n_91 [id="402", shape=circle, label="402", fillcolor="#FF0000FF", style=filled]; - n_92 [id="144", shape=circle, label="144"]; - n_93 [id="260", shape=doublecircle, label="260"]; - n_94 [id="198", shape=doublecircle, label="198"]; - n_95 [id="71", shape=circle, label="71"]; - n_96 [id="351", shape=circle, label="351"]; - n_97 [id="327", shape=doublecircle, label="327"]; - n_98 [id="259", shape=circle, label="259", fillcolor="#FF0000FF", style=filled]; - n_99 [id="115", shape=doublecircle, label="115"]; - n_100 [id="285", shape=circle, label="285"]; - n_101 [id="357", shape=circle, label="357", fillcolor="#FF0000FF", style=filled]; - n_102 [id="296", shape=circle, label="296", fillcolor="#FF0000FF", style=filled]; - n_103 [id="370", shape=circle, label="370", fillcolor="#FF0000FF", style=filled]; - n_104 [id="253", shape=circle, label="253"]; - n_105 [id="135", shape=doublecircle, label="135"]; - n_106 [id="517", shape=circle, label="517", fillcolor="#FF0000FF", style=filled]; - n_107 [id="464", shape=circle, label="464", fillcolor="#FF0000FF", style=filled]; - n_108 [id="453", shape=doublecircle, label="453"]; - n_109 [id="353", shape=circle, label="353"]; - n_110 [id="177", shape=circle, label="177", fillcolor="#FF0000FF", style=filled]; - n_111 [id="374", shape=doublecircle, label="374"]; - n_112 [id="341", shape=circle, label="341"]; - n_113 [id="241", shape=doublecircle, label="241"]; - n_114 [id="333", shape=circle, label="333", fillcolor="#FF0000FF", style=filled]; - n_115 [id="491", shape=circle, label="491"]; - n_116 [id="45", shape=circle, label="45"]; - n_117 [id="505", shape=circle, label="505", fillcolor="#FF0000FF", style=filled]; - n_118 [id="85", shape=circle, label="85"]; - n_119 [id="47", shape=circle, label="47", fillcolor="#FF0000FF", style=filled]; - n_120 [id="411", shape=doublecircle, label="411"]; - n_121 [id="214", shape=circle, label="214", fillcolor="#FF0000FF", style=filled]; - n_122 [id="199", shape=circle, label="199"]; - n_123 [id="294", shape=doublecircle, label="294"]; - n_124 [id="103", shape=circle, label="103"]; - n_125 [id="449", shape=circle, label="449"]; - n_126 [id="110", shape=circle, label="110"]; - n_127 [id="132", shape=circle, label="132"]; - n_128 [id="324", shape=doublecircle, label="324"]; - n_129 [id="321", shape=circle, label="321"]; - n_130 [id="488", shape=doublecircle, label="488"]; - n_131 [id="251", shape=circle, label="251", fillcolor="#FF0000FF", style=filled]; - n_132 [id="27", shape=circle, label="27"]; - n_133 [id="339", shape=circle, label="339", fillcolor="#FF0000FF", style=filled]; - n_134 [id="89", shape=doublecircle, label="89"]; - n_135 [id="76", shape=doublecircle, label="76"]; - n_136 [id="510", shape=circle, label="510", fillcolor="#FF0000FF", style=filled]; - n_137 [id="499", shape=circle, label="499", fillcolor="#FF0000FF", style=filled]; - n_138 [id="438", shape=circle, label="438", fillcolor="#FF0000FF", style=filled]; - n_139 [id="304", shape=doublecircle, label="304"]; - n_140 [id="112", shape=doublecircle, label="112"]; - n_141 [id="459", shape=circle, label="459", fillcolor="#FF0000FF", style=filled]; - n_142 [id="312", shape=circle, label="312"]; - n_143 [id="340", shape=circle, label="340", fillcolor="#FF0000FF", style=filled]; - n_144 [id="460", shape=circle, label="460", fillcolor="#FF0000FF", style=filled]; - n_145 [id="475", shape=doublecircle, label="475"]; - n_146 [id="336", shape=circle, label="336", fillcolor="#FF0000FF", style=filled]; - n_147 [id="62", shape=doublecircle, label="62"]; - n_148 [id="30", shape=doublecircle, label="30"]; - n_149 [id="16", shape=doublecircle, label="16"]; - n_150 [id="196", shape=doublecircle, label="196"]; - n_151 [id="463", shape=circle, label="463", fillcolor="#FF0000FF", style=filled]; - n_152 [id="36", shape=circle, label="36", fillcolor="#FF0000FF", style=filled]; - n_153 [id="220", shape=doublecircle, label="220"]; - n_154 [id="483", shape=circle, label="483"]; - n_155 [id="396", shape=doublecircle, label="396"]; - n_156 [id="246", shape=circle, label="246"]; - n_157 [id="233", shape=circle, label="233", fillcolor="#FF0000FF", style=filled]; - n_158 [id="422", shape=circle, label="422"]; - n_159 [id="345", shape=circle, label="345", fillcolor="#FF0000FF", style=filled]; - n_160 [id="436", shape=doublecircle, label="436"]; - n_161 [id="388", shape=circle, label="388"]; - n_162 [id="136", shape=doublecircle, label="136"]; - n_163 [id="84", shape=doublecircle, label="84"]; - n_164 [id="4", shape=circle, label="4"]; - n_165 [id="363", shape=doublecircle, label="363"]; - n_166 [id="232", shape=doublecircle, label="232"]; - n_167 [id="218", shape=doublecircle, label="218"]; - n_168 [id="532", shape=circle, label="532", fillcolor="#FF0000FF", style=filled]; - n_169 [id="258", shape=doublecircle, label="258"]; - n_170 [id="504", shape=circle, label="504"]; - n_171 [id="386", shape=doublecircle, label="386"]; - n_172 [id="236", shape=circle, label="236"]; - n_173 [id="70", shape=circle, label="70", fillcolor="#FF0000FF", style=filled]; - n_174 [id="315", shape=doublecircle, label="315"]; - n_175 [id="230", shape=doublecircle, label="230"]; - n_176 [id="182", shape=circle, label="182"]; - n_177 [id="269", shape=circle, label="269", fillcolor="#FF0000FF", style=filled]; - n_178 [id="359", shape=circle, label="359", fillcolor="#FF0000FF", style=filled]; - n_179 [id="382", shape=circle, label="382", fillcolor="#FF0000FF", style=filled]; - n_180 [id="352", shape=doublecircle, label="352"]; - n_181 [id="3", shape=circle, label="3"]; - n_182 [id="255", shape=doublecircle, label="255"]; - n_183 [id="518", shape=circle, label="518", fillcolor="#FF0000FF", style=filled]; - n_184 [id="216", shape=circle, label="216"]; - n_185 [id="180", shape=circle, label="180"]; - n_186 [id="401", shape=circle, label="401"]; - n_187 [id="147", shape=doublecircle, label="147"]; - n_188 [id="427", shape=circle, label="427", fillcolor="#FF0000FF", style=filled]; - n_189 [id="308", shape=circle, label="308", fillcolor="#FF0000FF", style=filled]; - n_190 [id="202", shape=doublecircle, label="202"]; - n_191 [id="12", shape=circle, label="12", fillcolor="#FF0000FF", style=filled]; - n_192 [id="46", shape=circle, label="46", fillcolor="#FF0000FF", style=filled]; - n_193 [id="522", shape=circle, label="522", fillcolor="#FF0000FF", style=filled]; - n_194 [id="426", shape=circle, label="426"]; - n_195 [id="371", shape=circle, label="371"]; - n_196 [id="50", shape=circle, label="50", fillcolor="#FF0000FF", style=filled]; - n_197 [id="342", shape=doublecircle, label="342"]; - n_198 [id="206", shape=circle, label="206", fillcolor="#FF0000FF", style=filled]; - n_199 [id="366", shape=circle, label="366"]; - n_200 [id="442", shape=circle, label="442", fillcolor="#FF0000FF", style=filled]; - n_201 [id="529", shape=circle, label="529", fillcolor="#FF0000FF", style=filled]; - n_202 [id="133", shape=circle, label="133"]; - n_203 [id="523", shape=circle, label="523", fillcolor="#FF0000FF", style=filled]; - n_204 [id="424", shape=circle, label="424"]; - n_205 [id="322", shape=circle, label="322"]; - n_206 [id="519", shape=circle, label="519", fillcolor="#FF0000FF", style=filled]; - n_207 [id="261", shape=doublecircle, label="261"]; - n_208 [id="234", shape=doublecircle, label="234"]; - n_209 [id="452", shape=circle, label="452"]; - n_210 [id="247", shape=circle, label="247"]; - n_211 [id="513", shape=circle, label="513", fillcolor="#FF0000FF", style=filled]; - n_212 [id="169", shape=circle, label="169"]; - n_213 [id="356", shape=circle, label="356"]; - n_214 [id="20", shape=doublecircle, label="20"]; - n_215 [id="458", shape=circle, label="458", fillcolor="#FF0000FF", style=filled]; - n_216 [id="350", shape=doublecircle, label="350"]; - n_217 [id="183", shape=circle, label="183"]; - n_218 [id="65", shape=circle, label="65"]; - n_219 [id="146", shape=circle, label="146"]; - n_220 [id="2", shape=circle, label="2"]; - n_221 [id="531", shape=circle, label="531", fillcolor="#FF0000FF", style=filled]; - n_222 [id="252", shape=circle, label="252"]; - n_223 [id="77", shape=circle, label="77", fillcolor="#FF0000FF", style=filled]; - n_224 [id="159", shape=doublecircle, label="159"]; - n_225 [id="291", shape=circle, label="291"]; - n_226 [id="60", shape=doublecircle, label="60"]; - n_227 [id="80", shape=circle, label="80", fillcolor="#FF0000FF", style=filled]; - n_228 [id="15", shape=circle, label="15", fillcolor="#FF0000FF", style=filled]; - n_229 [id="79", shape=doublecircle, label="79"]; - n_230 [id="101", shape=circle, label="101"]; - n_231 [id="10", shape=doublecircle, label="10"]; - n_232 [id="42", shape=circle, label="42"]; - n_233 [id="13", shape=circle, label="13", fillcolor="#FF0000FF", style=filled]; - n_234 [id="54", shape=circle, label="54"]; - n_235 [id="279", shape=circle, label="279"]; - n_236 [id="455", shape=circle, label="455", fillcolor="#FF0000FF", style=filled]; - n_237 [id="5", shape=circle, label="5"]; - n_238 [id="243", shape=doublecircle, label="243"]; - n_239 [id="57", shape=circle, label="57"]; - n_240 [id="377", shape=circle, label="377"]; - n_241 [id="145", shape=circle, label="145", fillcolor="#FF0000FF", style=filled]; - n_242 [id="208", shape=circle, label="208"]; - n_243 [id="274", shape=doublecircle, label="274"]; - n_244 [id="176", shape=doublecircle, label="176"]; - n_245 [id="237", shape=doublecircle, label="237"]; - n_246 [id="140", shape=circle, label="140", fillcolor="#FF0000FF", style=filled]; - n_247 [id="240", shape=doublecircle, label="240"]; - n_248 [id="400", shape=circle, label="400"]; - n_249 [id="417", shape=doublecircle, label="417"]; - n_250 [id="335", shape=circle, label="335", fillcolor="#FF0000FF", style=filled]; - n_251 [id="102", shape=doublecircle, label="102"]; - n_252 [id="423", shape=doublecircle, label="423"]; - n_253 [id="21", shape=circle, label="21"]; - n_254 [id="508", shape=circle, label="508", fillcolor="#FF0000FF", style=filled]; - n_255 [id="43", shape=circle, label="43", fillcolor="#FF0000FF", style=filled]; - n_256 [id="275", shape=circle, label="275"]; - n_257 [id="419", shape=circle, label="419", fillcolor="#FF0000FF", style=filled]; - n_258 [id="242", shape=circle, label="242"]; - n_259 [id="481", shape=circle, label="481", fillcolor="#FF0000FF", style=filled]; - n_260 [id="131", shape=circle, label="131", fillcolor="#FF0000FF", style=filled]; - n_261 [id="64", shape=doublecircle, label="64"]; - n_262 [id="286", shape=doublecircle, label="286"]; - n_263 [id="338", shape=doublecircle, label="338"]; - n_264 [id="127", shape=circle, label="127", fillcolor="#FF0000FF", style=filled]; - n_265 [id="113", shape=doublecircle, label="113"]; - n_266 [id="434", shape=circle, label="434"]; - n_267 [id="365", shape=circle, label="365", fillcolor="#FF0000FF", style=filled]; - n_268 [id="347", shape=circle, label="347", fillcolor="#FF0000FF", style=filled]; - n_269 [id="92", shape=doublecircle, label="92"]; - n_270 [id="413", shape=circle, label="413", fillcolor="#FF0000FF", style=filled]; - n_271 [id="381", shape=doublecircle, label="381"]; - n_272 [id="170", shape=doublecircle, label="170"]; - n_273 [id="515", shape=circle, label="515", fillcolor="#FF0000FF", style=filled]; - n_274 [id="472", shape=circle, label="472", fillcolor="#FF0000FF", style=filled]; - n_275 [id="450", shape=circle, label="450", fillcolor="#FF0000FF", style=filled]; - n_276 [id="389", shape=circle, label="389"]; - n_277 [id="407", shape=circle, label="407", fillcolor="#FF0000FF", style=filled]; - n_278 [id="375", shape=doublecircle, label="375"]; - n_279 [id="435", shape=circle, label="435"]; - n_280 [id="97", shape=circle, label="97", fillcolor="#FF0000FF", style=filled]; - n_281 [id="376", shape=circle, label="376", fillcolor="#FF0000FF", style=filled]; - n_282 [id="369", shape=circle, label="369"]; - n_283 [id="219", shape=doublecircle, label="219"]; - n_284 [id="195", shape=doublecircle, label="195"]; - n_285 [id="82", shape=doublecircle, label="82"]; - n_286 [id="360", shape=circle, label="360", fillcolor="#FF0000FF", style=filled]; - n_287 [id="284", shape=circle, label="284"]; - n_288 [id="281", shape=circle, label="281"]; - n_289 [id="114", shape=doublecircle, label="114"]; - n_290 [id="100", shape=circle, label="100", fillcolor="#FF0000FF", style=filled]; - n_291 [id="34", shape=circle, label="34"]; - n_292 [id="474", shape=circle, label="474"]; - n_293 [id="409", shape=circle, label="409", fillcolor="#FF0000FF", style=filled]; - n_294 [id="51", shape=circle, label="51", fillcolor="#FF0000FF", style=filled]; - n_295 [id="305", shape=circle, label="305"]; - n_296 [id="210", shape=doublecircle, label="210"]; - n_297 [id="14", shape=doublecircle, label="14"]; - n_298 [id="28", shape=doublecircle, label="28"]; - n_299 [id="228", shape=doublecircle, label="228"]; - n_300 [id="118", shape=circle, label="118", fillcolor="#FF0000FF", style=filled]; - n_301 [id="425", shape=circle, label="425", fillcolor="#FF0000FF", style=filled]; - n_302 [id="181", shape=circle, label="181"]; - n_303 [id="355", shape=doublecircle, label="355"]; - n_304 [id="497", shape=circle, label="497", fillcolor="#FF0000FF", style=filled]; - n_305 [id="212", shape=circle, label="212"]; - n_306 [id="445", shape=doublecircle, label="445"]; - n_307 [id="394", shape=doublecircle, label="394"]; - n_308 [id="500", shape=circle, label="500", fillcolor="#FF0000FF", style=filled]; - n_309 [id="498", shape=circle, label="498", fillcolor="#FF0000FF", style=filled]; - n_310 [id="318", shape=doublecircle, label="318"]; - n_311 [id="120", shape=circle, label="120"]; - n_312 [id="412", shape=circle, label="412", fillcolor="#FF0000FF", style=filled]; - n_313 [id="277", shape=circle, label="277"]; - n_314 [id="328", shape=circle, label="328", fillcolor="#FF0000FF", style=filled]; - n_315 [id="174", shape=circle, label="174"]; - n_316 [id="142", shape=doublecircle, label="142"]; - n_317 [id="155", shape=doublecircle, label="155"]; - n_318 [id="126", shape=doublecircle, label="126"]; - n_319 [id="329", shape=circle, label="329"]; - n_320 [id="320", shape=circle, label="320", fillcolor="#FF0000FF", style=filled]; - n_321 [id="303", shape=circle, label="303"]; - n_322 [id="266", shape=circle, label="266"]; - n_323 [id="444", shape=doublecircle, label="444"]; - n_324 [id="385", shape=doublecircle, label="385"]; - n_325 [id="326", shape=circle, label="326", fillcolor="#FF0000FF", style=filled]; - n_326 [id="325", shape=doublecircle, label="325"]; - n_327 [id="38", shape=doublecircle, label="38"]; - n_328 [id="429", shape=circle, label="429"]; - n_329 [id="164", shape=doublecircle, label="164"]; - n_330 [id="139", shape=circle, label="139"]; - n_331 [id="379", shape=circle, label="379", fillcolor="#FF0000FF", style=filled]; - n_332 [id="68", shape=circle, label="68", fillcolor="#FF0000FF", style=filled]; - n_333 [id="222", shape=circle, label="222"]; - n_334 [id="124", shape=circle, label="124", fillcolor="#FF0000FF", style=filled]; - n_335 [id="63", shape=doublecircle, label="63"]; - n_336 [id="309", shape=doublecircle, label="309"]; - n_337 [id="185", shape=circle, label="185", fillcolor="#FF0000FF", style=filled]; - n_338 [id="86", shape=circle, label="86", fillcolor="#FF0000FF", style=filled]; - n_339 [id="507", shape=circle, label="507", fillcolor="#FF0000FF", style=filled]; - n_340 [id="295", shape=doublecircle, label="295"]; - n_341 [id="143", shape=circle, label="143"]; - n_342 [id="111", shape=circle, label="111"]; - n_343 [id="8", shape=circle, label="8"]; - n_344 [id="408", shape=circle, label="408", fillcolor="#FF0000FF", style=filled]; - n_345 [id="521", shape=circle, label="521", fillcolor="#FF0000FF", style=filled]; - n_346 [id="239", shape=circle, label="239"]; - n_347 [id="179", shape=circle, label="179"]; - n_348 [id="74", shape=circle, label="74"]; - n_349 [id="248", shape=circle, label="248"]; - n_350 [id="37", shape=circle, label="37", fillcolor="#FF0000FF", style=filled]; - n_351 [id="24", shape=doublecircle, label="24"]; - n_352 [id="95", shape=circle, label="95"]; - n_353 [id="225", shape=circle, label="225", fillcolor="#FF0000FF", style=filled]; - n_354 [id="404", shape=circle, label="404"]; - n_355 [id="512", shape=circle, label="512", fillcolor="#FF0000FF", style=filled]; - n_356 [id="468", shape=circle, label="468"]; - n_357 [id="528", shape=circle, label="528"]; - n_358 [id="172", shape=circle, label="172", fillcolor="#FF0000FF", style=filled]; - n_359 [id="134", shape=doublecircle, label="134"]; - n_360 [id="470", shape=circle, label="470"]; - n_361 [id="52", shape=circle, label="52", fillcolor="#FF0000FF", style=filled]; - n_362 [id="503", shape=circle, label="503", fillcolor="#FF0000FF", style=filled]; - n_363 [id="533", shape=circle, label="533", fillcolor="#FF0000FF", style=filled]; - n_364 [id="476", shape=circle, label="476", fillcolor="#FF0000FF", style=filled]; - n_365 [id="393", shape=circle, label="393", fillcolor="#FF0000FF", style=filled]; - n_366 [id="307", shape=circle, label="307", fillcolor="#FF0000FF", style=filled]; - n_367 [id="448", shape=circle, label="448"]; - n_368 [id="173", shape=circle, label="173"]; - n_369 [id="282", shape=circle, label="282", fillcolor="#FF0000FF", style=filled]; - n_370 [id="17", shape=circle, label="17"]; - n_371 [id="1", shape=circle, label="1"]; - n_0 -> n_371 [arrowhead=none]; - n_372 [id="530", shape=circle, label="530", fillcolor="#FF0000FF", style=filled]; - n_373 [id="395", shape=circle, label="395", fillcolor="#FF0000FF", style=filled]; - n_374 [id="330", shape=circle, label="330"]; - n_375 [id="268", shape=doublecircle, label="268"]; - n_376 [id="302", shape=circle, label="302"]; - n_377 [id="290", shape=circle, label="290", fillcolor="#FF0000FF", style=filled]; - n_378 [id="378", shape=doublecircle, label="378"]; - n_379 [id="364", shape=circle, label="364", fillcolor="#FF0000FF", style=filled]; - n_380 [id="297", shape=circle, label="297", fillcolor="#FF0000FF", style=filled]; - n_381 [id="105", shape=doublecircle, label="105"]; - n_382 [id="398", shape=doublecircle, label="398"]; - n_383 [id="98", shape=circle, label="98"]; - n_384 [id="7", shape=circle, label="7"]; - n_385 [id="441", shape=circle, label="441", fillcolor="#FF0000FF", style=filled]; - n_386 [id="348", shape=circle, label="348", fillcolor="#FF0000FF", style=filled]; - n_387 [id="287", shape=circle, label="287", fillcolor="#FF0000FF", style=filled]; - n_388 [id="334", shape=circle, label="334", fillcolor="#FF0000FF", style=filled]; - n_389 [id="323", shape=circle, label="323"]; - n_390 [id="525", shape=circle, label="525", fillcolor="#FF0000FF", style=filled]; - n_391 [id="501", shape=circle, label="501", fillcolor="#FF0000FF", style=filled]; - n_392 [id="48", shape=circle, label="48"]; - n_393 [id="405", shape=doublecircle, label="405"]; - n_394 [id="332", shape=doublecircle, label="332"]; - n_395 [id="262", shape=circle, label="262", fillcolor="#FF0000FF", style=filled]; - n_396 [id="299", shape=circle, label="299"]; - n_397 [id="437", shape=circle, label="437", fillcolor="#FF0000FF", style=filled]; - n_398 [id="283", shape=circle, label="283"]; - n_399 [id="31", shape=circle, label="31", fillcolor="#FF0000FF", style=filled]; - n_400 [id="300", shape=doublecircle, label="300"]; - n_401 [id="265", shape=doublecircle, label="265"]; - n_402 [id="207", shape=circle, label="207"]; - n_403 [id="292", shape=circle, label="292"]; - n_404 [id="249", shape=doublecircle, label="249"]; - n_405 [id="88", shape=doublecircle, label="88"]; - n_406 [id="516", shape=circle, label="516", fillcolor="#FF0000FF", style=filled]; - n_407 [id="205", shape=circle, label="205"]; - n_408 [id="344", shape=circle, label="344", fillcolor="#FF0000FF", style=filled]; - n_409 [id="484", shape=circle, label="484", fillcolor="#FF0000FF", style=filled]; - n_410 [id="391", shape=circle, label="391"]; - n_411 [id="116", shape=circle, label="116", fillcolor="#FF0000FF", style=filled]; - n_412 [id="213", shape=circle, label="213"]; - n_413 [id="373", shape=doublecircle, label="373"]; - n_414 [id="461", shape=circle, label="461", fillcolor="#FF0000FF", style=filled]; - n_415 [id="527", shape=circle, label="527", fillcolor="#FF0000FF", style=filled]; - n_416 [id="520", shape=circle, label="520"]; - n_417 [id="245", shape=circle, label="245"]; - n_418 [id="358", shape=circle, label="358"]; - n_419 [id="167", shape=doublecircle, label="167"]; - n_420 [id="73", shape=circle, label="73"]; - n_421 [id="362", shape=circle, label="362"]; - n_422 [id="428", shape=circle, label="428", fillcolor="#FF0000FF", style=filled]; - n_423 [id="264", shape=doublecircle, label="264"]; - n_424 [id="403", shape=circle, label="403", fillcolor="#FF0000FF", style=filled]; - n_425 [id="187", shape=doublecircle, label="187"]; - n_426 [id="104", shape=circle, label="104", fillcolor="#FF0000FF", style=filled]; - n_427 [id="192", shape=doublecircle, label="192"]; - n_428 [id="421", shape=doublecircle, label="421"]; - n_429 [id="19", shape=circle, label="19"]; - n_430 [id="492", shape=doublecircle, label="492"]; - n_431 [id="160", shape=doublecircle, label="160"]; - n_432 [id="495", shape=circle, label="495", fillcolor="#FF0000FF", style=filled]; - n_433 [id="433", shape=circle, label="433", fillcolor="#FF0000FF", style=filled]; - n_434 [id="387", shape=circle, label="387"]; - n_435 [id="280", shape=circle, label="280", fillcolor="#FF0000FF", style=filled]; - n_436 [id="148", shape=circle, label="148", fillcolor="#FF0000FF", style=filled]; - n_437 [id="272", shape=circle, label="272"]; - n_438 [id="6", shape=circle, label="6"]; - n_439 [id="478", shape=circle, label="478", fillcolor="#FF0000FF", style=filled]; - n_440 [id="35", shape=circle, label="35"]; - n_441 [id="440", shape=circle, label="440", fillcolor="#FF0000FF", style=filled]; - n_442 [id="431", shape=circle, label="431", fillcolor="#FF0000FF", style=filled]; - n_443 [id="380", shape=circle, label="380", fillcolor="#FF0000FF", style=filled]; - n_444 [id="311", shape=circle, label="311", fillcolor="#FF0000FF", style=filled]; - n_445 [id="298", shape=doublecircle, label="298"]; - n_446 [id="215", shape=circle, label="215"]; - n_447 [id="479", shape=circle, label="479", fillcolor="#FF0000FF", style=filled]; - n_448 [id="384", shape=circle, label="384", fillcolor="#FF0000FF", style=filled]; - n_449 [id="168", shape=circle, label="168", fillcolor="#FF0000FF", style=filled]; - n_450 [id="94", shape=circle, label="94"]; - n_451 [id="487", shape=doublecircle, label="487"]; - n_452 [id="69", shape=circle, label="69"]; - n_453 [id="59", shape=circle, label="59"]; - n_454 [id="221", shape=doublecircle, label="221"]; - n_455 [id="161", shape=doublecircle, label="161"]; - n_456 [id="119", shape=circle, label="119"]; - n_457 [id="184", shape=doublecircle, label="184"]; - n_458 [id="392", shape=doublecircle, label="392"]; - n_459 [id="254", shape=circle, label="254"]; - n_460 [id="141", shape=doublecircle, label="141"]; - n_461 [id="156", shape=circle, label="156"]; - n_462 [id="194", shape=doublecircle, label="194"]; - n_463 [id="96", shape=circle, label="96", fillcolor="#FF0000FF", style=filled]; - n_464 [id="414", shape=circle, label="414"]; - n_465 [id="432", shape=circle, label="432"]; - n_466 [id="257", shape=circle, label="257", fillcolor="#FF0000FF", style=filled]; - n_467 [id="81", shape=circle, label="81"]; - n_468 [id="87", shape=doublecircle, label="87"]; - n_469 [id="301", shape=circle, label="301"]; - n_470 [id="469", shape=circle, label="469", fillcolor="#FF0000FF", style=filled]; - n_471 [id="278", shape=doublecircle, label="278"]; - n_472 [id="117", shape=circle, label="117"]; - n_473 [id="224", shape=doublecircle, label="224"]; - n_474 [id="209", shape=circle, label="209"]; - n_475 [id="125", shape=circle, label="125"]; - n_476 [id="418", shape=circle, label="418", fillcolor="#FF0000FF", style=filled]; - n_477 [id="137", shape=doublecircle, label="137"]; - n_478 [id="316", shape=doublecircle, label="316"]; - n_479 [id="191", shape=circle, label="191"]; - n_480 [id="451", shape=circle, label="451", fillcolor="#FF0000FF", style=filled]; - n_481 [id="18", shape=circle, label="18"]; - n_482 [id="446", shape=circle, label="446", fillcolor="#FF0000FF", style=filled]; - n_483 [id="108", shape=circle, label="108", fillcolor="#FF0000FF", style=filled]; - n_484 [id="456", shape=circle, label="456", fillcolor="#FF0000FF", style=filled]; - n_485 [id="188", shape=doublecircle, label="188"]; - n_486 [id="23", shape=doublecircle, label="23"]; - n_487 [id="270", shape=doublecircle, label="270"]; - n_488 [id="250", shape=circle, label="250", fillcolor="#FF0000FF", style=filled]; - n_489 [id="372", shape=circle, label="372"]; - n_490 [id="317", shape=circle, label="317"]; - n_491 [id="55", shape=circle, label="55", fillcolor="#FF0000FF", style=filled]; - n_492 [id="123", shape=circle, label="123", fillcolor="#FF0000FF", style=filled]; - n_493 [id="319", shape=circle, label="319"]; - n_494 [id="22", shape=circle, label="22", fillcolor="#FF0000FF", style=filled]; - n_495 [id="367", shape=doublecircle, label="367"]; - n_496 [id="493", shape=circle, label="493"]; - n_497 [id="397", shape=circle, label="397", fillcolor="#FF0000FF", style=filled]; - n_498 [id="11", shape=circle, label="11"]; - n_499 [id="526", shape=circle, label="526"]; - n_500 [id="107", shape=circle, label="107"]; - n_501 [id="489", shape=circle, label="489", fillcolor="#FF0000FF", style=filled]; - n_502 [id="197", shape=circle, label="197"]; - n_503 [id="78", shape=circle, label="78"]; - n_504 [id="473", shape=circle, label="473", fillcolor="#FF0000FF", style=filled]; - n_505 [id="314", shape=circle, label="314", fillcolor="#FF0000FF", style=filled]; - n_506 [id="149", shape=circle, label="149"]; - n_507 [id="211", shape=circle, label="211", fillcolor="#FF0000FF", style=filled]; - n_508 [id="128", shape=circle, label="128", fillcolor="#FF0000FF", style=filled]; - n_509 [id="467", shape=doublecircle, label="467"]; - n_510 [id="443", shape=circle, label="443", fillcolor="#FF0000FF", style=filled]; - n_511 [id="293", shape=doublecircle, label="293"]; - n_512 [id="122", shape=doublecircle, label="122"]; - n_513 [id="158", shape=circle, label="158"]; - n_514 [id="151", shape=circle, label="151"]; - n_515 [id="58", shape=circle, label="58"]; - n_516 [id="106", shape=doublecircle, label="106"]; - n_517 [id="496", shape=circle, label="496"]; - n_518 [id="49", shape=doublecircle, label="49"]; - n_519 [id="410", shape=doublecircle, label="410"]; - n_520 [id="44", shape=circle, label="44", fillcolor="#FF0000FF", style=filled]; - n_521 [id="229", shape=circle, label="229"]; - n_522 [id="383", shape=doublecircle, label="383"]; - n_523 [id="406", shape=doublecircle, label="406"]; - n_524 [id="509", shape=circle, label="509", fillcolor="#FF0000FF", style=filled]; - n_525 [id="337", shape=doublecircle, label="337"]; - n_526 [id="466", shape=circle, label="466"]; - n_527 [id="349", shape=circle, label="349"]; - n_528 [id="477", shape=circle, label="477"]; - n_529 [id="153", shape=circle, label="153"]; - n_530 [id="56", shape=circle, label="56"]; - n_531 [id="471", shape=circle, label="471"]; - n_532 [id="235", shape=circle, label="235"]; - n_533 [id="226", shape=doublecircle, label="226"]; + n_1 [id="502", shape=circle, label="502", fillcolor="#FF0000FF", style=filled]; + n_2 [id="163", shape=doublecircle, label="163"]; + n_3 [id="288", shape=circle, label="288", fillcolor="#FF0000FF", style=filled]; + n_4 [id="41", shape=circle, label="41"]; + n_5 [id="454", shape=circle, label="454"]; + n_6 [id="154", shape=doublecircle, label="154"]; + n_7 [id="313", shape=circle, label="313", fillcolor="#FF0000FF", style=filled]; + n_8 [id="346", shape=doublecircle, label="346"]; + n_9 [id="244", shape=circle, label="244", fillcolor="#FF0000FF", style=filled]; + n_10 [id="186", shape=doublecircle, label="186"]; + n_11 [id="138", shape=circle, label="138"]; + n_12 [id="227", shape=doublecircle, label="227"]; + n_13 [id="165", shape=doublecircle, label="165"]; + n_14 [id="66", shape=circle, label="66"]; + n_15 [id="9", shape=doublecircle, label="9"]; + n_16 [id="361", shape=doublecircle, label="361"]; + n_17 [id="480", shape=circle, label="480", fillcolor="#FF0000FF", style=filled]; + n_18 [id="263", shape=doublecircle, label="263"]; + n_19 [id="130", shape=doublecircle, label="130"]; + n_20 [id="273", shape=circle, label="273", fillcolor="#FF0000FF", style=filled]; + n_21 [id="26", shape=circle, label="26"]; + n_22 [id="439", shape=circle, label="439"]; + n_23 [id="40", shape=circle, label="40", fillcolor="#FF0000FF", style=filled]; + n_24 [id="231", shape=circle, label="231"]; + n_25 [id="193", shape=doublecircle, label="193"]; + n_26 [id="25", shape=circle, label="25"]; + n_27 [id="390", shape=circle, label="390", fillcolor="#FF0000FF", style=filled]; + n_28 [id="175", shape=circle, label="175"]; + n_29 [id="238", shape=doublecircle, label="238"]; + n_30 [id="399", shape=circle, label="399"]; + n_31 [id="150", shape=doublecircle, label="150"]; + n_32 [id="416", shape=circle, label="416"]; + n_33 [id="289", shape=doublecircle, label="289"]; + n_34 [id="93", shape=circle, label="93"]; + n_35 [id="271", shape=doublecircle, label="271"]; + n_36 [id="189", shape=circle, label="189", fillcolor="#FF0000FF", style=filled]; + n_37 [id="256", shape=circle, label="256", fillcolor="#FF0000FF", style=filled]; + n_38 [id="129", shape=doublecircle, label="129"]; + n_39 [id="368", shape=circle, label="368"]; + n_40 [id="430", shape=circle, label="430", fillcolor="#FF0000FF", style=filled]; + n_41 [id="490", shape=circle, label="490", fillcolor="#FF0000FF", style=filled]; + n_42 [id="203", shape=circle, label="203"]; + n_43 [id="331", shape=circle, label="331"]; + n_44 [id="204", shape=doublecircle, label="204"]; + n_45 [id="178", shape=circle, label="178"]; + n_46 [id="462", shape=doublecircle, label="462"]; + n_47 [id="343", shape=doublecircle, label="343"]; + n_48 [id="90", shape=doublecircle, label="90"]; + n_49 [id="91", shape=doublecircle, label="91"]; + n_50 [id="415", shape=circle, label="415"]; + n_51 [id="306", shape=doublecircle, label="306"]; + n_52 [id="457", shape=circle, label="457", fillcolor="#FF0000FF", style=filled]; + n_53 [id="72", shape=doublecircle, label="72"]; + n_54 [id="402", shape=doublecircle, label="402"]; + n_55 [id="144", shape=circle, label="144"]; + n_56 [id="260", shape=doublecircle, label="260"]; + n_57 [id="198", shape=doublecircle, label="198"]; + n_58 [id="71", shape=circle, label="71"]; + n_59 [id="351", shape=circle, label="351"]; + n_60 [id="327", shape=doublecircle, label="327"]; + n_61 [id="259", shape=doublecircle, label="259"]; + n_62 [id="115", shape=circle, label="115"]; + n_63 [id="285", shape=circle, label="285"]; + n_64 [id="357", shape=circle, label="357", fillcolor="#FF0000FF", style=filled]; + n_65 [id="296", shape=doublecircle, label="296"]; + n_66 [id="370", shape=doublecircle, label="370"]; + n_67 [id="253", shape=circle, label="253"]; + n_68 [id="135", shape=doublecircle, label="135"]; + n_69 [id="464", shape=doublecircle, label="464"]; + n_70 [id="453", shape=circle, label="453"]; + n_71 [id="353", shape=circle, label="353"]; + n_72 [id="177", shape=circle, label="177"]; + n_73 [id="374", shape=circle, label="374", fillcolor="#FF0000FF", style=filled]; + n_74 [id="341", shape=circle, label="341"]; + n_75 [id="241", shape=doublecircle, label="241"]; + n_76 [id="333", shape=circle, label="333", fillcolor="#FF0000FF", style=filled]; + n_77 [id="491", shape=circle, label="491", fillcolor="#FF0000FF", style=filled]; + n_78 [id="45", shape=circle, label="45"]; + n_79 [id="85", shape=circle, label="85"]; + n_80 [id="47", shape=circle, label="47", fillcolor="#FF0000FF", style=filled]; + n_81 [id="411", shape=circle, label="411", fillcolor="#FF0000FF", style=filled]; + n_82 [id="214", shape=circle, label="214", fillcolor="#FF0000FF", style=filled]; + n_83 [id="199", shape=circle, label="199"]; + n_84 [id="294", shape=doublecircle, label="294"]; + n_85 [id="103", shape=circle, label="103", fillcolor="#FF0000FF", style=filled]; + n_86 [id="449", shape=circle, label="449", fillcolor="#FF0000FF", style=filled]; + n_87 [id="110", shape=doublecircle, label="110"]; + n_88 [id="132", shape=doublecircle, label="132"]; + n_89 [id="324", shape=circle, label="324"]; + n_90 [id="321", shape=circle, label="321"]; + n_91 [id="488", shape=circle, label="488", fillcolor="#FF0000FF", style=filled]; + n_92 [id="251", shape=circle, label="251"]; + n_93 [id="27", shape=circle, label="27"]; + n_94 [id="339", shape=circle, label="339", fillcolor="#FF0000FF", style=filled]; + n_95 [id="89", shape=circle, label="89"]; + n_96 [id="76", shape=circle, label="76"]; + n_97 [id="499", shape=circle, label="499"]; + n_98 [id="438", shape=circle, label="438"]; + n_99 [id="304", shape=circle, label="304", fillcolor="#FF0000FF", style=filled]; + n_100 [id="112", shape=doublecircle, label="112"]; + n_101 [id="459", shape=doublecircle, label="459"]; + n_102 [id="312", shape=circle, label="312", fillcolor="#FF0000FF", style=filled]; + n_103 [id="340", shape=doublecircle, label="340"]; + n_104 [id="460", shape=doublecircle, label="460"]; + n_105 [id="475", shape=circle, label="475", fillcolor="#FF0000FF", style=filled]; + n_106 [id="336", shape=doublecircle, label="336"]; + n_107 [id="62", shape=circle, label="62"]; + n_108 [id="30", shape=doublecircle, label="30"]; + n_109 [id="16", shape=circle, label="16"]; + n_110 [id="196", shape=doublecircle, label="196"]; + n_111 [id="463", shape=doublecircle, label="463"]; + n_112 [id="36", shape=circle, label="36", fillcolor="#FF0000FF", style=filled]; + n_113 [id="220", shape=circle, label="220"]; + n_114 [id="483", shape=circle, label="483", fillcolor="#FF0000FF", style=filled]; + n_115 [id="396", shape=doublecircle, label="396"]; + n_116 [id="246", shape=circle, label="246", fillcolor="#FF0000FF", style=filled]; + n_117 [id="233", shape=circle, label="233"]; + n_118 [id="422", shape=circle, label="422", fillcolor="#FF0000FF", style=filled]; + n_119 [id="345", shape=circle, label="345", fillcolor="#FF0000FF", style=filled]; + n_120 [id="436", shape=circle, label="436"]; + n_121 [id="388", shape=circle, label="388", fillcolor="#FF0000FF", style=filled]; + n_122 [id="136", shape=doublecircle, label="136"]; + n_123 [id="84", shape=doublecircle, label="84"]; + n_124 [id="4", shape=circle, label="4"]; + n_125 [id="363", shape=circle, label="363", fillcolor="#FF0000FF", style=filled]; + n_126 [id="232", shape=circle, label="232"]; + n_127 [id="218", shape=circle, label="218"]; + n_128 [id="258", shape=doublecircle, label="258"]; + n_129 [id="386", shape=doublecircle, label="386"]; + n_130 [id="236", shape=doublecircle, label="236"]; + n_131 [id="70", shape=doublecircle, label="70"]; + n_132 [id="315", shape=circle, label="315"]; + n_133 [id="230", shape=circle, label="230"]; + n_134 [id="182", shape=circle, label="182", fillcolor="#FF0000FF", style=filled]; + n_135 [id="269", shape=doublecircle, label="269"]; + n_136 [id="359", shape=doublecircle, label="359"]; + n_137 [id="382", shape=circle, label="382"]; + n_138 [id="352", shape=circle, label="352"]; + n_139 [id="3", shape=circle, label="3"]; + n_140 [id="255", shape=circle, label="255", fillcolor="#FF0000FF", style=filled]; + n_141 [id="216", shape=circle, label="216"]; + n_142 [id="180", shape=circle, label="180"]; + n_143 [id="401", shape=circle, label="401"]; + n_144 [id="147", shape=circle, label="147"]; + n_145 [id="427", shape=circle, label="427", fillcolor="#FF0000FF", style=filled]; + n_146 [id="308", shape=doublecircle, label="308"]; + n_147 [id="202", shape=circle, label="202"]; + n_148 [id="12", shape=circle, label="12", fillcolor="#FF0000FF", style=filled]; + n_149 [id="46", shape=circle, label="46"]; + n_150 [id="426", shape=circle, label="426", fillcolor="#FF0000FF", style=filled]; + n_151 [id="371", shape=doublecircle, label="371"]; + n_152 [id="50", shape=circle, label="50"]; + n_153 [id="342", shape=doublecircle, label="342"]; + n_154 [id="206", shape=doublecircle, label="206"]; + n_155 [id="366", shape=circle, label="366"]; + n_156 [id="442", shape=circle, label="442"]; + n_157 [id="133", shape=circle, label="133"]; + n_158 [id="424", shape=circle, label="424", fillcolor="#FF0000FF", style=filled]; + n_159 [id="322", shape=circle, label="322", fillcolor="#FF0000FF", style=filled]; + n_160 [id="261", shape=doublecircle, label="261"]; + n_161 [id="234", shape=circle, label="234", fillcolor="#FF0000FF", style=filled]; + n_162 [id="452", shape=circle, label="452"]; + n_163 [id="247", shape=circle, label="247"]; + n_164 [id="169", shape=doublecircle, label="169"]; + n_165 [id="356", shape=circle, label="356"]; + n_166 [id="20", shape=doublecircle, label="20"]; + n_167 [id="458", shape=circle, label="458", fillcolor="#FF0000FF", style=filled]; + n_168 [id="350", shape=circle, label="350", fillcolor="#FF0000FF", style=filled]; + n_169 [id="183", shape=circle, label="183"]; + n_170 [id="65", shape=doublecircle, label="65"]; + n_171 [id="146", shape=circle, label="146", fillcolor="#FF0000FF", style=filled]; + n_172 [id="2", shape=circle, label="2"]; + n_173 [id="252", shape=circle, label="252", fillcolor="#FF0000FF", style=filled]; + n_174 [id="77", shape=circle, label="77"]; + n_175 [id="159", shape=circle, label="159", fillcolor="#FF0000FF", style=filled]; + n_176 [id="291", shape=circle, label="291", fillcolor="#FF0000FF", style=filled]; + n_177 [id="60", shape=circle, label="60", fillcolor="#FF0000FF", style=filled]; + n_178 [id="80", shape=circle, label="80", fillcolor="#FF0000FF", style=filled]; + n_179 [id="15", shape=circle, label="15"]; + n_180 [id="79", shape=circle, label="79"]; + n_181 [id="101", shape=circle, label="101", fillcolor="#FF0000FF", style=filled]; + n_182 [id="10", shape=circle, label="10"]; + n_183 [id="42", shape=circle, label="42"]; + n_184 [id="13", shape=doublecircle, label="13"]; + n_185 [id="54", shape=circle, label="54", fillcolor="#FF0000FF", style=filled]; + n_186 [id="279", shape=doublecircle, label="279"]; + n_187 [id="455", shape=circle, label="455"]; + n_188 [id="5", shape=circle, label="5"]; + n_189 [id="243", shape=circle, label="243"]; + n_190 [id="57", shape=circle, label="57"]; + n_191 [id="377", shape=circle, label="377", fillcolor="#FF0000FF", style=filled]; + n_192 [id="145", shape=circle, label="145", fillcolor="#FF0000FF", style=filled]; + n_193 [id="208", shape=doublecircle, label="208"]; + n_194 [id="274", shape=doublecircle, label="274"]; + n_195 [id="176", shape=circle, label="176", fillcolor="#FF0000FF", style=filled]; + n_196 [id="237", shape=doublecircle, label="237"]; + n_197 [id="140", shape=doublecircle, label="140"]; + n_198 [id="240", shape=doublecircle, label="240"]; + n_199 [id="400", shape=circle, label="400", fillcolor="#FF0000FF", style=filled]; + n_200 [id="417", shape=circle, label="417", fillcolor="#FF0000FF", style=filled]; + n_201 [id="335", shape=doublecircle, label="335"]; + n_202 [id="102", shape=circle, label="102", fillcolor="#FF0000FF", style=filled]; + n_203 [id="423", shape=circle, label="423", fillcolor="#FF0000FF", style=filled]; + n_204 [id="21", shape=circle, label="21", fillcolor="#FF0000FF", style=filled]; + n_205 [id="43", shape=circle, label="43"]; + n_206 [id="275", shape=circle, label="275", fillcolor="#FF0000FF", style=filled]; + n_207 [id="419", shape=doublecircle, label="419"]; + n_208 [id="242", shape=doublecircle, label="242"]; + n_209 [id="481", shape=circle, label="481", fillcolor="#FF0000FF", style=filled]; + n_210 [id="131", shape=doublecircle, label="131"]; + n_211 [id="64", shape=circle, label="64", fillcolor="#FF0000FF", style=filled]; + n_212 [id="286", shape=circle, label="286"]; + n_213 [id="338", shape=doublecircle, label="338"]; + n_214 [id="127", shape=circle, label="127"]; + n_215 [id="113", shape=circle, label="113"]; + n_216 [id="434", shape=circle, label="434"]; + n_217 [id="365", shape=doublecircle, label="365"]; + n_218 [id="347", shape=doublecircle, label="347"]; + n_219 [id="92", shape=doublecircle, label="92"]; + n_220 [id="485", shape=circle, label="485", fillcolor="#FF0000FF", style=filled]; + n_221 [id="413", shape=doublecircle, label="413"]; + n_222 [id="310", shape=doublecircle, label="310"]; + n_223 [id="267", shape=doublecircle, label="267"]; + n_224 [id="166", shape=doublecircle, label="166"]; + n_225 [id="39", shape=circle, label="39", fillcolor="#FF0000FF", style=filled]; + n_226 [id="447", shape=circle, label="447", fillcolor="#FF0000FF", style=filled]; + n_227 [id="381", shape=doublecircle, label="381"]; + n_228 [id="170", shape=circle, label="170"]; + n_229 [id="67", shape=circle, label="67", fillcolor="#FF0000FF", style=filled]; + n_230 [id="472", shape=circle, label="472", fillcolor="#FF0000FF", style=filled]; + n_231 [id="450", shape=circle, label="450", fillcolor="#FF0000FF", style=filled]; + n_232 [id="217", shape=doublecircle, label="217"]; + n_233 [id="121", shape=doublecircle, label="121"]; + n_234 [id="482", shape=circle, label="482", fillcolor="#FF0000FF", style=filled]; + n_235 [id="389", shape=circle, label="389"]; + n_236 [id="354", shape=circle, label="354"]; + n_237 [id="407", shape=circle, label="407", fillcolor="#FF0000FF", style=filled]; + n_238 [id="190", shape=circle, label="190", fillcolor="#FF0000FF", style=filled]; + n_239 [id="162", shape=doublecircle, label="162"]; + n_240 [id="33", shape=circle, label="33"]; + n_241 [id="375", shape=circle, label="375", fillcolor="#FF0000FF", style=filled]; + n_242 [id="83", shape=doublecircle, label="83"]; + n_243 [id="435", shape=circle, label="435", fillcolor="#FF0000FF", style=filled]; + n_244 [id="223", shape=doublecircle, label="223"]; + n_245 [id="97", shape=circle, label="97", fillcolor="#FF0000FF", style=filled]; + n_246 [id="376", shape=circle, label="376", fillcolor="#FF0000FF", style=filled]; + n_247 [id="369", shape=circle, label="369", fillcolor="#FF0000FF", style=filled]; + n_248 [id="219", shape=circle, label="219"]; + n_249 [id="195", shape=doublecircle, label="195"]; + n_250 [id="109", shape=doublecircle, label="109"]; + n_251 [id="82", shape=circle, label="82", fillcolor="#FF0000FF", style=filled]; + n_252 [id="360", shape=doublecircle, label="360"]; + n_253 [id="284", shape=doublecircle, label="284"]; + n_254 [id="281", shape=circle, label="281"]; + n_255 [id="114", shape=circle, label="114"]; + n_256 [id="100", shape=doublecircle, label="100"]; + n_257 [id="34", shape=circle, label="34", fillcolor="#FF0000FF", style=filled]; + n_258 [id="474", shape=circle, label="474", fillcolor="#FF0000FF", style=filled]; + n_259 [id="409", shape=circle, label="409", fillcolor="#FF0000FF", style=filled]; + n_260 [id="51", shape=doublecircle, label="51"]; + n_261 [id="305", shape=doublecircle, label="305"]; + n_262 [id="210", shape=circle, label="210"]; + n_263 [id="14", shape=doublecircle, label="14"]; + n_264 [id="28", shape=circle, label="28", fillcolor="#FF0000FF", style=filled]; + n_265 [id="228", shape=circle, label="228", fillcolor="#FF0000FF", style=filled]; + n_266 [id="118", shape=circle, label="118", fillcolor="#FF0000FF", style=filled]; + n_267 [id="425", shape=circle, label="425", fillcolor="#FF0000FF", style=filled]; + n_268 [id="181", shape=circle, label="181"]; + n_269 [id="355", shape=circle, label="355"]; + n_270 [id="497", shape=circle, label="497", fillcolor="#FF0000FF", style=filled]; + n_271 [id="212", shape=circle, label="212"]; + n_272 [id="445", shape=circle, label="445", fillcolor="#FF0000FF", style=filled]; + n_273 [id="394", shape=doublecircle, label="394"]; + n_274 [id="500", shape=circle, label="500", fillcolor="#FF0000FF", style=filled]; + n_275 [id="498", shape=circle, label="498", fillcolor="#FF0000FF", style=filled]; + n_276 [id="318", shape=circle, label="318"]; + n_277 [id="120", shape=circle, label="120", fillcolor="#FF0000FF", style=filled]; + n_278 [id="412", shape=doublecircle, label="412"]; + n_279 [id="277", shape=circle, label="277"]; + n_280 [id="328", shape=circle, label="328"]; + n_281 [id="174", shape=circle, label="174"]; + n_282 [id="142", shape=circle, label="142", fillcolor="#FF0000FF", style=filled]; + n_283 [id="155", shape=circle, label="155", fillcolor="#FF0000FF", style=filled]; + n_284 [id="126", shape=circle, label="126"]; + n_285 [id="329", shape=doublecircle, label="329"]; + n_286 [id="320", shape=circle, label="320"]; + n_287 [id="303", shape=circle, label="303", fillcolor="#FF0000FF", style=filled]; + n_288 [id="266", shape=circle, label="266"]; + n_289 [id="444", shape=doublecircle, label="444"]; + n_290 [id="385", shape=doublecircle, label="385"]; + n_291 [id="326", shape=circle, label="326"]; + n_292 [id="325", shape=doublecircle, label="325"]; + n_293 [id="38", shape=circle, label="38", fillcolor="#FF0000FF", style=filled]; + n_294 [id="429", shape=circle, label="429", fillcolor="#FF0000FF", style=filled]; + n_295 [id="164", shape=doublecircle, label="164"]; + n_296 [id="139", shape=doublecircle, label="139"]; + n_297 [id="379", shape=circle, label="379", fillcolor="#FF0000FF", style=filled]; + n_298 [id="68", shape=doublecircle, label="68"]; + n_299 [id="222", shape=doublecircle, label="222"]; + n_300 [id="124", shape=circle, label="124"]; + n_301 [id="63", shape=circle, label="63", fillcolor="#FF0000FF", style=filled]; + n_302 [id="309", shape=doublecircle, label="309"]; + n_303 [id="185", shape=circle, label="185", fillcolor="#FF0000FF", style=filled]; + n_304 [id="86", shape=circle, label="86", fillcolor="#FF0000FF", style=filled]; + n_305 [id="295", shape=doublecircle, label="295"]; + n_306 [id="143", shape=circle, label="143"]; + n_307 [id="111", shape=doublecircle, label="111"]; + n_308 [id="8", shape=circle, label="8"]; + n_309 [id="408", shape=circle, label="408", fillcolor="#FF0000FF", style=filled]; + n_310 [id="239", shape=doublecircle, label="239"]; + n_311 [id="179", shape=circle, label="179"]; + n_312 [id="74", shape=doublecircle, label="74"]; + n_313 [id="248", shape=circle, label="248"]; + n_314 [id="37", shape=circle, label="37", fillcolor="#FF0000FF", style=filled]; + n_315 [id="24", shape=circle, label="24", fillcolor="#FF0000FF", style=filled]; + n_316 [id="95", shape=circle, label="95"]; + n_317 [id="225", shape=circle, label="225", fillcolor="#FF0000FF", style=filled]; + n_318 [id="404", shape=circle, label="404", fillcolor="#FF0000FF", style=filled]; + n_319 [id="468", shape=circle, label="468", fillcolor="#FF0000FF", style=filled]; + n_320 [id="172", shape=doublecircle, label="172"]; + n_321 [id="134", shape=circle, label="134"]; + n_322 [id="470", shape=circle, label="470", fillcolor="#FF0000FF", style=filled]; + n_323 [id="52", shape=doublecircle, label="52"]; + n_324 [id="503", shape=circle, label="503", fillcolor="#FF0000FF", style=filled]; + n_325 [id="476", shape=circle, label="476", fillcolor="#FF0000FF", style=filled]; + n_326 [id="393", shape=circle, label="393"]; + n_327 [id="307", shape=doublecircle, label="307"]; + n_328 [id="448", shape=circle, label="448", fillcolor="#FF0000FF", style=filled]; + n_329 [id="173", shape=doublecircle, label="173"]; + n_330 [id="282", shape=circle, label="282", fillcolor="#FF0000FF", style=filled]; + n_331 [id="17", shape=circle, label="17"]; + n_332 [id="1", shape=circle, label="1"]; + n_0 -> n_332 [arrowhead=none]; + n_333 [id="395", shape=circle, label="395"]; + n_334 [id="330", shape=doublecircle, label="330"]; + n_335 [id="268", shape=circle, label="268"]; + n_336 [id="302", shape=circle, label="302", fillcolor="#FF0000FF", style=filled]; + n_337 [id="290", shape=doublecircle, label="290"]; + n_338 [id="378", shape=circle, label="378", fillcolor="#FF0000FF", style=filled]; + n_339 [id="364", shape=doublecircle, label="364"]; + n_340 [id="297", shape=circle, label="297"]; + n_341 [id="105", shape=circle, label="105"]; + n_342 [id="398", shape=circle, label="398"]; + n_343 [id="98", shape=circle, label="98", fillcolor="#FF0000FF", style=filled]; + n_344 [id="7", shape=circle, label="7"]; + n_345 [id="441", shape=circle, label="441", fillcolor="#FF0000FF", style=filled]; + n_346 [id="348", shape=doublecircle, label="348"]; + n_347 [id="287", shape=circle, label="287"]; + n_348 [id="334", shape=circle, label="334"]; + n_349 [id="323", shape=circle, label="323", fillcolor="#FF0000FF", style=filled]; + n_350 [id="501", shape=circle, label="501", fillcolor="#FF0000FF", style=filled]; + n_351 [id="48", shape=doublecircle, label="48"]; + n_352 [id="405", shape=circle, label="405", fillcolor="#FF0000FF", style=filled]; + n_353 [id="332", shape=circle, label="332"]; + n_354 [id="262", shape=doublecircle, label="262"]; + n_355 [id="299", shape=circle, label="299", fillcolor="#FF0000FF", style=filled]; + n_356 [id="437", shape=doublecircle, label="437"]; + n_357 [id="283", shape=circle, label="283"]; + n_358 [id="31", shape=doublecircle, label="31"]; + n_359 [id="300", shape=doublecircle, label="300"]; + n_360 [id="265", shape=doublecircle, label="265"]; + n_361 [id="207", shape=doublecircle, label="207"]; + n_362 [id="292", shape=circle, label="292", fillcolor="#FF0000FF", style=filled]; + n_363 [id="249", shape=circle, label="249"]; + n_364 [id="88", shape=circle, label="88"]; + n_365 [id="205", shape=circle, label="205"]; + n_366 [id="344", shape=circle, label="344", fillcolor="#FF0000FF", style=filled]; + n_367 [id="484", shape=circle, label="484", fillcolor="#FF0000FF", style=filled]; + n_368 [id="391", shape=circle, label="391"]; + n_369 [id="116", shape=circle, label="116"]; + n_370 [id="213", shape=circle, label="213"]; + n_371 [id="373", shape=doublecircle, label="373"]; + n_372 [id="461", shape=circle, label="461"]; + n_373 [id="245", shape=circle, label="245"]; + n_374 [id="358", shape=circle, label="358", fillcolor="#FF0000FF", style=filled]; + n_375 [id="167", shape=doublecircle, label="167"]; + n_376 [id="73", shape=doublecircle, label="73"]; + n_377 [id="362", shape=circle, label="362", fillcolor="#FF0000FF", style=filled]; + n_378 [id="428", shape=circle, label="428", fillcolor="#FF0000FF", style=filled]; + n_379 [id="264", shape=circle, label="264"]; + n_380 [id="403", shape=doublecircle, label="403"]; + n_381 [id="187", shape=circle, label="187"]; + n_382 [id="104", shape=circle, label="104", fillcolor="#FF0000FF", style=filled]; + n_383 [id="192", shape=doublecircle, label="192"]; + n_384 [id="421", shape=doublecircle, label="421"]; + n_385 [id="19", shape=doublecircle, label="19"]; + n_386 [id="492", shape=circle, label="492"]; + n_387 [id="160", shape=doublecircle, label="160"]; + n_388 [id="495", shape=circle, label="495", fillcolor="#FF0000FF", style=filled]; + n_389 [id="433", shape=doublecircle, label="433"]; + n_390 [id="387", shape=circle, label="387"]; + n_391 [id="280", shape=circle, label="280", fillcolor="#FF0000FF", style=filled]; + n_392 [id="148", shape=doublecircle, label="148"]; + n_393 [id="272", shape=circle, label="272"]; + n_394 [id="6", shape=circle, label="6"]; + n_395 [id="478", shape=circle, label="478", fillcolor="#FF0000FF", style=filled]; + n_396 [id="35", shape=circle, label="35"]; + n_397 [id="440", shape=circle, label="440", fillcolor="#FF0000FF", style=filled]; + n_398 [id="431", shape=doublecircle, label="431"]; + n_399 [id="380", shape=doublecircle, label="380"]; + n_400 [id="311", shape=circle, label="311", fillcolor="#FF0000FF", style=filled]; + n_401 [id="298", shape=circle, label="298", fillcolor="#FF0000FF", style=filled]; + n_402 [id="215", shape=circle, label="215", fillcolor="#FF0000FF", style=filled]; + n_403 [id="479", shape=circle, label="479", fillcolor="#FF0000FF", style=filled]; + n_404 [id="384", shape=doublecircle, label="384"]; + n_405 [id="168", shape=circle, label="168"]; + n_406 [id="94", shape=circle, label="94", fillcolor="#FF0000FF", style=filled]; + n_407 [id="487", shape=circle, label="487", fillcolor="#FF0000FF", style=filled]; + n_408 [id="69", shape=doublecircle, label="69"]; + n_409 [id="59", shape=circle, label="59", fillcolor="#FF0000FF", style=filled]; + n_410 [id="221", shape=circle, label="221", fillcolor="#FF0000FF", style=filled]; + n_411 [id="161", shape=doublecircle, label="161"]; + n_412 [id="119", shape=circle, label="119"]; + n_413 [id="184", shape=circle, label="184"]; + n_414 [id="392", shape=doublecircle, label="392"]; + n_415 [id="254", shape=circle, label="254"]; + n_416 [id="141", shape=circle, label="141", fillcolor="#FF0000FF", style=filled]; + n_417 [id="156", shape=circle, label="156"]; + n_418 [id="194", shape=doublecircle, label="194"]; + n_419 [id="96", shape=circle, label="96"]; + n_420 [id="414", shape=circle, label="414"]; + n_421 [id="432", shape=doublecircle, label="432"]; + n_422 [id="257", shape=circle, label="257", fillcolor="#FF0000FF", style=filled]; + n_423 [id="81", shape=circle, label="81"]; + n_424 [id="87", shape=circle, label="87", fillcolor="#FF0000FF", style=filled]; + n_425 [id="301", shape=doublecircle, label="301"]; + n_426 [id="469", shape=circle, label="469", fillcolor="#FF0000FF", style=filled]; + n_427 [id="278", shape=doublecircle, label="278"]; + n_428 [id="117", shape=circle, label="117"]; + n_429 [id="224", shape=circle, label="224", fillcolor="#FF0000FF", style=filled]; + n_430 [id="209", shape=doublecircle, label="209"]; + n_431 [id="125", shape=circle, label="125"]; + n_432 [id="418", shape=doublecircle, label="418"]; + n_433 [id="137", shape=doublecircle, label="137"]; + n_434 [id="316", shape=circle, label="316"]; + n_435 [id="191", shape=doublecircle, label="191"]; + n_436 [id="451", shape=circle, label="451", fillcolor="#FF0000FF", style=filled]; + n_437 [id="18", shape=doublecircle, label="18"]; + n_438 [id="446", shape=circle, label="446", fillcolor="#FF0000FF", style=filled]; + n_439 [id="108", shape=circle, label="108", fillcolor="#FF0000FF", style=filled]; + n_440 [id="456", shape=circle, label="456", fillcolor="#FF0000FF", style=filled]; + n_441 [id="188", shape=circle, label="188"]; + n_442 [id="23", shape=doublecircle, label="23"]; + n_443 [id="270", shape=doublecircle, label="270"]; + n_444 [id="250", shape=circle, label="250"]; + n_445 [id="372", shape=doublecircle, label="372"]; + n_446 [id="317", shape=circle, label="317", fillcolor="#FF0000FF", style=filled]; + n_447 [id="55", shape=circle, label="55"]; + n_448 [id="123", shape=circle, label="123"]; + n_449 [id="319", shape=circle, label="319", fillcolor="#FF0000FF", style=filled]; + n_450 [id="22", shape=circle, label="22"]; + n_451 [id="367", shape=circle, label="367"]; + n_452 [id="493", shape=circle, label="493", fillcolor="#FF0000FF", style=filled]; + n_453 [id="397", shape=doublecircle, label="397"]; + n_454 [id="11", shape=circle, label="11", fillcolor="#FF0000FF", style=filled]; + n_455 [id="107", shape=circle, label="107"]; + n_456 [id="489", shape=circle, label="489", fillcolor="#FF0000FF", style=filled]; + n_457 [id="197", shape=circle, label="197"]; + n_458 [id="78", shape=circle, label="78"]; + n_459 [id="473", shape=circle, label="473", fillcolor="#FF0000FF", style=filled]; + n_460 [id="314", shape=circle, label="314"]; + n_461 [id="149", shape=circle, label="149"]; + n_462 [id="211", shape=circle, label="211"]; + n_463 [id="128", shape=circle, label="128", fillcolor="#FF0000FF", style=filled]; + n_464 [id="467", shape=circle, label="467", fillcolor="#FF0000FF", style=filled]; + n_465 [id="443", shape=doublecircle, label="443"]; + n_466 [id="293", shape=doublecircle, label="293"]; + n_467 [id="122", shape=doublecircle, label="122"]; + n_468 [id="158", shape=circle, label="158"]; + n_469 [id="151", shape=circle, label="151"]; + n_470 [id="58", shape=circle, label="58"]; + n_471 [id="106", shape=circle, label="106"]; + n_472 [id="496", shape=circle, label="496", fillcolor="#FF0000FF", style=filled]; + n_473 [id="49", shape=doublecircle, label="49"]; + n_474 [id="410", shape=circle, label="410", fillcolor="#FF0000FF", style=filled]; + n_475 [id="44", shape=circle, label="44"]; + n_476 [id="229", shape=circle, label="229", fillcolor="#FF0000FF", style=filled]; + n_477 [id="383", shape=doublecircle, label="383"]; + n_478 [id="201", shape=circle, label="201", fillcolor="#FF0000FF", style=filled]; + n_479 [id="171", shape=doublecircle, label="171"]; + n_480 [id="152", shape=circle, label="152", fillcolor="#FF0000FF", style=filled]; + n_481 [id="406", shape=circle, label="406", fillcolor="#FF0000FF", style=filled]; + n_482 [id="420", shape=doublecircle, label="420"]; + n_483 [id="276", shape=doublecircle, label="276"]; + n_484 [id="53", shape=circle, label="53"]; + n_485 [id="337", shape=doublecircle, label="337"]; + n_486 [id="200", shape=doublecircle, label="200"]; + n_487 [id="466", shape=circle, label="466", fillcolor="#FF0000FF", style=filled]; + n_488 [id="32", shape=circle, label="32", fillcolor="#FF0000FF", style=filled]; + n_489 [id="465", shape=doublecircle, label="465"]; + n_490 [id="75", shape=circle, label="75"]; + n_491 [id="494", shape=circle, label="494", fillcolor="#FF0000FF", style=filled]; + n_492 [id="157", shape=circle, label="157"]; + n_493 [id="349", shape=circle, label="349", fillcolor="#FF0000FF", style=filled]; + n_494 [id="477", shape=circle, label="477", fillcolor="#FF0000FF", style=filled]; + n_495 [id="153", shape=circle, label="153", fillcolor="#FF0000FF", style=filled]; + n_496 [id="99", shape=circle, label="99"]; + n_497 [id="61", shape=circle, label="61", fillcolor="#FF0000FF", style=filled]; + n_498 [id="56", shape=circle, label="56", fillcolor="#FF0000FF", style=filled]; + n_499 [id="471", shape=circle, label="471", fillcolor="#FF0000FF", style=filled]; + n_500 [id="29", shape=circle, label="29", fillcolor="#FF0000FF", style=filled]; + n_501 [id="486", shape=circle, label="486", fillcolor="#FF0000FF", style=filled]; + n_502 [id="235", shape=doublecircle, label="235"]; + n_503 [id="226", shape=doublecircle, label="226"]; - n_467 -> n_150 [id="[$e|194]", label="g/1.0Δfoo/0.0 args nil"]; - n_481 -> n_15 [id="[$e|59]", label="g/1.0Δfoo/0.0 args nil"]; - n_164 -> n_510 [id="[$e|441]", label="g/1.0Δfoo/0.0 args nil"]; - n_521 -> n_175 [id="[$e|228]", label="h/1.0Δfoo/0.0 args nil"]; - n_446 -> n_184 [id="[$e|214]", label="g/1.0Δfoo/0.0 args nil"]; - n_95 -> n_90 [id="[$e|70]", label="f/1.0Δfoo/0.0 args nil"]; - n_164 -> n_528 [id="[$e|475]", label="g/1.0Δfoo/0.0 args nil"]; - n_37 -> n_329 [id="[$e|162]", label="h/1.0Δfoo/0.0 args nil"]; - n_407 -> n_379 [id="[$e|362]", label="f/1.0Δfoo/0.0 args nil"]; - n_256 -> n_6 [id="[$e|274]", label="h/1.0Δfoo/0.0 args nil"]; - n_69 -> n_249 [id="[$e|415]", label="g/1.0Δfoo/0.0 args nil"]; - n_461 -> n_366 [id="[$e|305]", label="g/1.0Δfoo/0.0 args nil"]; - n_360 -> n_531 [id="[$e|469]", label="f/1.0Δfoo/0.0 args nil"]; - n_116 -> n_264 [id="[$e|125]", label="g/1.0Δfoo/0.0 args nil"]; - n_164 -> n_39 [id="[$e|39]", label="h/1.0Δfoo/0.0 args nil"]; - n_222 -> n_424 [id="[$e|401]", label="g/1.0Δfoo/0.0 args nil"]; - n_452 -> n_82 [id="[$e|176]", label="f/1.0Δfoo/0.0 args nil"]; - n_164 -> n_208 [id="[$e|232]", label="h/1.0Δfoo/0.0 args nil"]; - n_164 -> n_449 [id="[$e|166]", label="f/1.0Δfoo/0.0 args nil"]; - n_164 -> n_385 [id="[$e|439]", label="f/1.0Δfoo/0.0 args nil"]; - n_164 -> n_60 [id="[$e|38]", label="h/1.0Δfoo/0.0 args nil"]; - n_349 -> n_382 [id="[$e|396]", label="f/1.0Δfoo/0.0 args nil"]; - n_370 -> n_453 [id="[$e|57]", label="f/1.0Δfoo/0.0 args nil"]; - n_164 -> n_356 [id="[$e|466]", label="g/1.0Δfoo/0.0 args nil"]; - n_164 -> n_524 [id="[$e|507]", label="g/1.0Δfoo/0.0 args nil"]; - n_125 -> n_275 [id="[$e|448]", label="g/1.0Δfoo/0.0 args nil"]; - n_234 -> n_396 [id="[$e|297]", label="g/1.0Δfoo/0.0 args nil"]; - n_164 -> n_65 [id="[$e|173]", label="h/1.0Δfoo/0.0 args nil"]; - n_129 -> n_480 [id="[$e|449]", label="g/1.0Δfoo/0.0 args nil"]; - n_234 -> n_102 [id="[$e|294]", label="g/1.0Δfoo/0.0 args nil"]; - n_164 -> n_231 [id="[$e|8]", label="h/1.0Δfoo/0.0 args nil"]; - n_164 -> n_257 [id="[$e|417]", label="g/1.0Δfoo/0.0 args nil"]; - n_456 -> n_137 [id="[$e|497]", label="g/1.0Δfoo/0.0 args nil"]; - n_164 -> n_504 [id="[$e|471]", label="f/1.0Δfoo/0.0 args nil"]; - n_499 -> n_415 [id="[$e|525]", label="f/1.0Δfoo/0.0 args nil"]; - n_164 -> n_320 [id="[$e|318]", label="h/1.0Δfoo/0.0 args nil"]; - n_392 -> n_105 [id="[$e|133]", label="g/1.0Δfoo/0.0 args nil"]; - n_109 -> n_83 [id="[$e|460]", label="h/1.0Δfoo/0.0 args nil"]; - n_164 -> n_395 [id="[$e|260]", label="g/1.0Δfoo/0.0 args nil"]; - n_407 -> n_292 [id="[$e|472]", label="g/1.0Δfoo/0.0 args nil"]; - n_234 -> n_123 [id="[$e|292]", label="g/1.0Δfoo/0.0 args nil"]; - n_164 -> n_22 [id="[$e|164]", label="h/1.0Δfoo/0.0 args nil"]; - n_164 -> n_43 [id="[$e|344]", label="g/1.0Δfoo/0.0 args nil"]; - n_164 -> n_386 [id="[$e|346]", label="g/1.0Δfoo/0.0 args nil"]; - n_164 -> n_110 [id="[$e|175]", label="f/1.0Δfoo/0.0 args nil"]; - n_164 -> n_204 [id="[$e|422]", label="g/1.0Δfoo/0.0 args nil"]; - n_164 -> n_314 [id="[$e|326]", label="f/1.0Δfoo/0.0 args nil"]; - n_164 -> n_446 [id="[$e|213]", label="f/1.0Δfoo/0.0 args nil"]; - n_164 -> n_318 [id="[$e|124]", label="h/1.0Δfoo/0.0 args nil"]; - n_164 -> n_191 [id="[$e|10]", label="h/1.0Δfoo/0.0 args nil"]; - n_465 -> n_433 [id="[$e|431]", label="g/1.0Δfoo/0.0 args nil"]; - n_396 -> n_400 [id="[$e|298]", label="f/1.0Δfoo/0.0 args nil"]; - n_164 -> n_448 [id="[$e|382]", label="f/1.0Δfoo/0.0 args nil"]; - n_352 -> n_463 [id="[$e|94]", label="h/1.0Δfoo/0.0 args nil"]; - n_453 -> n_226 [id="[$e|58]", label="g/1.0Δfoo/0.0 args nil"]; - n_237 -> n_438 [id="[$e|4]", label="h/1.0Δfoo/0.0 args nil"]; - n_164 -> n_498 [id="[$e|9]", label="h/1.0Δfoo/0.0 args nil"]; - n_213 -> n_101 [id="[$e|355]", label="h/1.0Δfoo/0.0 args nil"]; - n_440 -> n_35 [id="[$e|107]", label="g/1.0Δfoo/0.0 args nil"]; - n_429 -> n_25 [id="[$e|65]", label="f/1.0Δfoo/0.0 args nil"]; - n_1 -> n_355 [id="[$e|510]", label="f/1.0Δfoo/0.0 args nil"]; - n_297 -> n_260 [id="[$e|129]", label="f/1.0Δfoo/0.0 args nil"]; - n_452 -> n_173 [id="[$e|68]", label="f/1.0Δfoo/0.0 args nil"]; - n_184 -> n_26 [id="[$e|215]", label="h/1.0Δfoo/0.0 args nil"]; - n_31 -> n_37 [id="[$e|161]", label="f/1.0Δfoo/0.0 args nil"]; - n_374 -> n_141 [id="[$e|457]", label="g/1.0Δfoo/0.0 args nil"]; - n_164 -> n_336 [id="[$e|307]", label="h/1.0Δfoo/0.0 args nil"]; - n_370 -> n_513 [id="[$e|156]", label="g/1.0Δfoo/0.0 args nil"]; - n_172 -> n_245 [id="[$e|235]", label="f/1.0Δfoo/0.0 args nil"]; - n_348 -> n_425 [id="[$e|185]", label="g/1.0Δfoo/0.0 args nil"]; - n_164 -> n_99 [id="[$e|113]", label="h/1.0Δfoo/0.0 args nil"]; - n_343 -> n_298 [id="[$e|26]", label="f/1.0Δfoo/0.0 args nil"]; - n_368 -> n_18 [id="[$e|512]", label="g/1.0Δfoo/0.0 args nil"]; - n_527 -> n_216 [id="[$e|348]", label="h/1.0Δfoo/0.0 args nil"]; - n_164 -> n_530 [id="[$e|54]", label="f/1.0Δfoo/0.0 args nil"]; - n_327 -> n_23 [id="[$e|37]", label="f/1.0Δfoo/0.0 args nil"]; - n_297 -> n_56 [id="[$e|128]", label="f/1.0Δfoo/0.0 args nil"]; - n_351 -> n_144 [id="[$e|458]", label="g/1.0Δfoo/0.0 args nil"]; - n_402 -> n_199 [id="[$e|364]", label="h/1.0Δfoo/0.0 args nil"]; - n_164 -> n_388 [id="[$e|332]", label="h/1.0Δfoo/0.0 args nil"]; - n_235 -> n_435 [id="[$e|278]", label="h/1.0Δfoo/0.0 args nil"]; - n_231 -> n_71 [id="[$e|91]", label="g/1.0Δfoo/0.0 args nil"]; - n_279 -> n_160 [id="[$e|434]", label="f/1.0Δfoo/0.0 args nil"]; - n_343 -> n_285 [id="[$e|80]", label="f/1.0Δfoo/0.0 args nil"]; - n_9 -> n_290 [id="[$e|98]", label="f/1.0Δfoo/0.0 args nil"]; - n_164 -> n_27 [id="[$e|119]", label="h/1.0Δfoo/0.0 args nil"]; - n_164 -> n_526 [id="[$e|464]", label="g/1.0Δfoo/0.0 args nil"]; - n_335 -> n_48 [id="[$e|163]", label="f/1.0Δfoo/0.0 args nil"]; - n_7 -> n_316 [id="[$e|140]", label="g/1.0Δfoo/0.0 args nil"]; - n_486 -> n_73 [id="[$e|187]", label="g/1.0Δfoo/0.0 args nil"]; - n_327 -> n_289 [id="[$e|112]", label="f/1.0Δfoo/0.0 args nil"]; - n_438 -> n_294 [id="[$e|49]", label="g/1.0Δfoo/0.0 args nil"]; - n_370 -> n_515 [id="[$e|56]", label="f/1.0Δfoo/0.0 args nil"]; - n_328 -> n_77 [id="[$e|428]", label="f/1.0Δfoo/0.0 args nil"]; - n_164 -> n_331 [id="[$e|377]", label="g/1.0Δfoo/0.0 args nil"]; - n_417 -> n_156 [id="[$e|244]", label="f/1.0Δfoo/0.0 args nil"]; - n_219 -> n_445 [id="[$e|296]", label="f/1.0Δfoo/0.0 args nil"]; - n_234 -> n_506 [id="[$e|147]", label="f/1.0Δfoo/0.0 args nil"]; - n_417 -> n_496 [id="[$e|491]", label="f/1.0Δfoo/0.0 args nil"]; - n_164 -> n_277 [id="[$e|405]", label="f/1.0Δfoo/0.0 args nil"]; - n_70 -> n_377 [id="[$e|288]", label="f/1.0Δfoo/0.0 args nil"]; - n_21 -> n_375 [id="[$e|266]", label="g/1.0Δfoo/0.0 args nil"]; - n_161 -> n_130 [id="[$e|486]", label="g/1.0Δfoo/0.0 args nil"]; - n_164 -> n_258 [id="[$e|240]", label="h/1.0Δfoo/0.0 args nil"]; - n_429 -> n_214 [id="[$e|18]", label="f/1.0Δfoo/0.0 args nil"]; - n_493 -> n_482 [id="[$e|444]", label="g/1.0Δfoo/0.0 args nil"]; - n_164 -> n_225 [id="[$e|289]", label="f/1.0Δfoo/0.0 args nil"]; - n_172 -> n_522 [id="[$e|381]", label="f/1.0Δfoo/0.0 args nil"]; - n_9 -> n_383 [id="[$e|96]", label="g/1.0Δfoo/0.0 args nil"]; - n_164 -> n_447 [id="[$e|477]", label="f/1.0Δfoo/0.0 args nil"]; - n_368 -> n_209 [id="[$e|450]", label="g/1.0Δfoo/0.0 args nil"]; - n_531 -> n_274 [id="[$e|470]", label="g/1.0Δfoo/0.0 args nil"]; - n_164 -> n_213 [id="[$e|354]", label="h/1.0Δfoo/0.0 args nil"]; - n_403 -> n_511 [id="[$e|291]", label="h/1.0Δfoo/0.0 args nil"]; - n_164 -> n_398 [id="[$e|281]", label="g/1.0Δfoo/0.0 args nil"]; - n_230 -> n_251 [id="[$e|100]", label="g/1.0Δfoo/0.0 args nil"]; - n_420 -> n_348 [id="[$e|72]", label="h/1.0Δfoo/0.0 args nil"]; - n_154 -> n_409 [id="[$e|482]", label="g/1.0Δfoo/0.0 args nil"]; - n_75 -> n_487 [id="[$e|268]", label="g/1.0Δfoo/0.0 args nil"]; - n_164 -> n_358 [id="[$e|170]", label="h/1.0Δfoo/0.0 args nil"]; - n_170 -> n_117 [id="[$e|503]", label="f/1.0Δfoo/0.0 args nil"]; - n_164 -> n_411 [id="[$e|114]", label="h/1.0Δfoo/0.0 args nil"]; - n_28 -> n_154 [id="[$e|481]", label="f/1.0Δfoo/0.0 args nil"]; - n_164 -> n_86 [id="[$e|89]", label="h/1.0Δfoo/0.0 args nil"]; - n_164 -> n_168 [id="[$e|530]", label="g/1.0Δfoo/0.0 args nil"]; - n_164 -> n_193 [id="[$e|520]", label="g/1.0Δfoo/0.0 args nil"]; - n_85 -> n_190 [id="[$e|200]", label="g/1.0Δfoo/0.0 args nil"]; - n_420 -> n_146 [id="[$e|334]", label="g/1.0Δfoo/0.0 args nil"]; - n_164 -> n_206 [id="[$e|517]", label="g/1.0Δfoo/0.0 args nil"]; - n_164 -> n_492 [id="[$e|121]", label="f/1.0Δfoo/0.0 args nil"]; - n_164 -> n_259 [id="[$e|479]", label="g/1.0Δfoo/0.0 args nil"]; - n_164 -> n_20 [id="[$e|308]", label="h/1.0Δfoo/0.0 args nil"]; - n_164 -> n_134 [id="[$e|87]", label="h/1.0Δfoo/0.0 args nil"]; - n_185 -> n_302 [id="[$e|179]", label="h/1.0Δfoo/0.0 args nil"]; - n_164 -> n_51 [id="[$e|522]", label="g/1.0Δfoo/0.0 args nil"]; - n_297 -> n_69 [id="[$e|414]", label="f/1.0Δfoo/0.0 args nil"]; - n_164 -> n_391 [id="[$e|499]", label="g/1.0Δfoo/0.0 args nil"]; - n_22 -> n_419 [id="[$e|165]", label="f/1.0Δfoo/0.0 args nil"]; - n_493 -> n_24 [id="[$e|445]", label="g/1.0Δfoo/0.0 args nil"]; - n_418 -> n_178 [id="[$e|357]", label="h/1.0Δfoo/0.0 args nil"]; - n_164 -> n_28 [id="[$e|480]", label="g/1.0Δfoo/0.0 args nil"]; - n_164 -> n_360 [id="[$e|468]", label="g/1.0Δfoo/0.0 args nil"]; - n_164 -> n_200 [id="[$e|440]", label="g/1.0Δfoo/0.0 args nil"]; - n_164 -> n_500 [id="[$e|105]", label="g/1.0Δfoo/0.0 args nil"]; - n_292 -> n_145 [id="[$e|473]", label="f/1.0Δfoo/0.0 args nil"]; - n_164 -> n_54 [id="[$e|478]", label="g/1.0Δfoo/0.0 args nil"]; - n_164 -> n_465 [id="[$e|430]", label="f/1.0Δfoo/0.0 args nil"]; - n_351 -> n_525 [id="[$e|335]", label="g/1.0Δfoo/0.0 args nil"]; - n_502 -> n_94 [id="[$e|196]", label="h/1.0Δfoo/0.0 args nil"]; - n_109 -> n_106 [id="[$e|515]", label="f/1.0Δfoo/0.0 args nil"]; - n_456 -> n_354 [id="[$e|402]", label="g/1.0Δfoo/0.0 args nil"]; - n_164 -> n_293 [id="[$e|407]", label="g/1.0Δfoo/0.0 args nil"]; - n_239 -> n_13 [id="[$e|155]", label="g/1.0Δfoo/0.0 args nil"]; - n_164 -> n_325 [id="[$e|324]", label="f/1.0Δfoo/0.0 args nil"]; - n_164 -> n_488 [id="[$e|248]", label="f/1.0Δfoo/0.0 args nil"]; - n_164 -> n_235 [id="[$e|277]", label="h/1.0Δfoo/0.0 args nil"]; - n_242 -> n_474 [id="[$e|207]", label="f/1.0Δfoo/0.0 args nil"]; - n_164 -> n_158 [id="[$e|420]", label="g/1.0Δfoo/0.0 args nil"]; - n_258 -> n_171 [id="[$e|384]", label="g/1.0Δfoo/0.0 args nil"]; - n_164 -> n_341 [id="[$e|141]", label="h/1.0Δfoo/0.0 args nil"]; - n_16 -> n_405 [id="[$e|86]", label="g/1.0Δfoo/0.0 args nil"]; - n_164 -> n_222 [id="[$e|250]", label="f/1.0Δfoo/0.0 args nil"]; - n_164 -> n_238 [id="[$e|241]", label="h/1.0Δfoo/0.0 args nil"]; - n_164 -> n_332 [id="[$e|66]", label="h/1.0Δfoo/0.0 args nil"]; - n_333 -> n_34 [id="[$e|221]", label="f/1.0Δfoo/0.0 args nil"]; - n_398 -> n_328 [id="[$e|427]", label="h/1.0Δfoo/0.0 args nil"]; - n_164 -> n_236 [id="[$e|453]", label="f/1.0Δfoo/0.0 args nil"]; - n_302 -> n_394 [id="[$e|330]", label="g/1.0Δfoo/0.0 args nil"]; - n_164 -> n_367 [id="[$e|446]", label="f/1.0Δfoo/0.0 args nil"]; - n_164 -> n_268 [id="[$e|345]", label="g/1.0Δfoo/0.0 args nil"]; - n_164 -> n_7 [id="[$e|51]", label="h/1.0Δfoo/0.0 args nil"]; - n_164 -> n_368 [id="[$e|171]", label="h/1.0Δfoo/0.0 args nil"]; - n_112 -> n_197 [id="[$e|340]", label="f/1.0Δfoo/0.0 args nil"]; - n_34 -> n_473 [id="[$e|222]", label="g/1.0Δfoo/0.0 args nil"]; - n_100 -> n_262 [id="[$e|284]", label="h/1.0Δfoo/0.0 args nil"]; - n_253 -> n_494 [id="[$e|20]", label="h/1.0Δfoo/0.0 args nil"]; - n_164 -> n_442 [id="[$e|429]", label="f/1.0Δfoo/0.0 args nil"]; - n_407 -> n_52 [id="[$e|359]", label="g/1.0Δfoo/0.0 args nil"]; - n_132 -> n_33 [id="[$e|81]", label="g/1.0Δfoo/0.0 args nil"]; - n_288 -> n_369 [id="[$e|280]", label="h/1.0Δfoo/0.0 args nil"]; - n_234 -> n_340 [id="[$e|293]", label="g/1.0Δfoo/0.0 args nil"]; - n_109 -> n_29 [id="[$e|352]", label="h/1.0Δfoo/0.0 args nil"]; - n_164 -> n_440 [id="[$e|33]", label="h/1.0Δfoo/0.0 args nil"]; - n_85 -> n_2 [id="[$e|199]", label="g/1.0Δfoo/0.0 args nil"]; - n_164 -> n_305 [id="[$e|210]", label="h/1.0Δfoo/0.0 args nil"]; - n_164 -> n_114 [id="[$e|331]", label="f/1.0Δfoo/0.0 args nil"]; - n_164 -> n_85 [id="[$e|88]", label="h/1.0Δfoo/0.0 args nil"]; - n_297 -> n_401 [id="[$e|263]", label="g/1.0Δfoo/0.0 args nil"]; - n_351 -> n_503 [id="[$e|76]", label="f/1.0Δfoo/0.0 args nil"]; - n_164 -> n_79 [id="[$e|201]", label="h/1.0Δfoo/0.0 args nil"]; - n_234 -> n_491 [id="[$e|53]", label="f/1.0Δfoo/0.0 args nil"]; - n_153 -> n_111 [id="[$e|372]", label="f/1.0Δfoo/0.0 args nil"]; - n_164 -> n_286 [id="[$e|358]", label="f/1.0Δfoo/0.0 args nil"]; - n_164 -> n_319 [id="[$e|327]", label="f/1.0Δfoo/0.0 args nil"]; - n_164 -> n_3 [id="[$e|169]", label="h/1.0Δfoo/0.0 args nil"]; - n_164 -> n_266 [id="[$e|432]", label="g/1.0Δfoo/0.0 args nil"]; - n_297 -> n_322 [id="[$e|264]", label="g/1.0Δfoo/0.0 args nil"]; - n_164 -> n_452 [id="[$e|67]", label="h/1.0Δfoo/0.0 args nil"]; - n_164 -> n_414 [id="[$e|459]", label="g/1.0Δfoo/0.0 args nil"]; - n_297 -> n_177 [id="[$e|267]", label="f/1.0Δfoo/0.0 args nil"]; - n_5 -> n_428 [id="[$e|419]", label="h/1.0Δfoo/0.0 args nil"]; - n_164 -> n_5 [id="[$e|418]", label="g/1.0Δfoo/0.0 args nil"]; - n_297 -> n_464 [id="[$e|412]", label="g/1.0Δfoo/0.0 args nil"]; - n_371 -> n_220 [id="[$e|0]", label="main/0.0Δf/1.0 args [3]"]; - n_389 -> n_128 [id="[$e|322]", label="g/1.0Δfoo/0.0 args nil"]; - n_456 -> n_311 [id="[$e|118]", label="f/1.0Δfoo/0.0 args nil"]; - n_297 -> n_476 [id="[$e|416]", label="g/1.0Δfoo/0.0 args nil"]; - n_297 -> n_162 [id="[$e|134]", label="f/1.0Δfoo/0.0 args nil"]; - n_351 -> n_462 [id="[$e|192]", label="f/1.0Δfoo/0.0 args nil"]; - n_343 -> n_467 [id="[$e|79]", label="f/1.0Δfoo/0.0 args nil"]; - n_164 -> n_295 [id="[$e|303]", label="f/1.0Δfoo/0.0 args nil"]; - n_164 -> n_38 [id="[$e|286]", label="h/1.0Δfoo/0.0 args nil"]; - n_515 -> n_431 [id="[$e|158]", label="g/1.0Δfoo/0.0 args nil"]; - n_164 -> n_157 [id="[$e|231]", label="g/1.0Δfoo/0.0 args nil"]; - n_297 -> n_519 [id="[$e|408]", label="g/1.0Δfoo/0.0 args nil"]; - n_398 -> n_287 [id="[$e|282]", label="h/1.0Δfoo/0.0 args nil"]; - n_116 -> n_508 [id="[$e|126]", label="g/1.0Δfoo/0.0 args nil"]; - n_109 -> n_107 [id="[$e|462]", label="f/1.0Δfoo/0.0 args nil"]; - n_164 -> n_374 [id="[$e|328]", label="h/1.0Δfoo/0.0 args nil"]; - n_349 -> n_404 [id="[$e|247]", label="f/1.0Δfoo/0.0 args nil"]; - n_41 -> n_317 [id="[$e|153]", label="h/1.0Δfoo/0.0 args nil"]; - n_16 -> n_468 [id="[$e|85]", label="g/1.0Δfoo/0.0 args nil"]; - n_297 -> n_120 [id="[$e|409]", label="g/1.0Δfoo/0.0 args nil"]; - n_164 -> n_469 [id="[$e|299]", label="g/1.0Δfoo/0.0 args nil"]; - n_9 -> n_47 [id="[$e|225]", label="g/1.0Δfoo/0.0 args nil"]; - n_291 -> n_381 [id="[$e|103]", label="g/1.0Δfoo/0.0 args nil"]; - n_370 -> n_481 [id="[$e|16]", label="f/1.0Δfoo/0.0 args nil"]; - n_164 -> n_248 [id="[$e|398]", label="f/1.0Δfoo/0.0 args nil"]; - n_44 -> n_417 [id="[$e|243]", label="h/1.0Δfoo/0.0 args nil"]; - n_164 -> n_444 [id="[$e|309]", label="f/1.0Δfoo/0.0 args nil"]; - n_181 -> n_164 [id="[$e|2]", label="main/0.0Δh/1.0 args [stop]"]; - n_528 -> n_439 [id="[$e|476]", label="f/1.0Δfoo/0.0 args nil"]; - n_186 -> n_91 [id="[$e|400]", label="g/1.0Δfoo/0.0 args nil"]; - n_295 -> n_59 [id="[$e|437]", label="g/1.0Δfoo/0.0 args nil"]; - n_410 -> n_458 [id="[$e|390]", label="g/1.0Δfoo/0.0 args nil"]; - n_161 -> n_451 [id="[$e|485]", label="g/1.0Δfoo/0.0 args nil"]; - n_164 -> n_271 [id="[$e|379]", label="h/1.0Δfoo/0.0 args nil"]; - n_164 -> n_129 [id="[$e|319]", label="f/1.0Δfoo/0.0 args nil"]; - n_7 -> n_460 [id="[$e|139]", label="g/1.0Δfoo/0.0 args nil"]; - n_402 -> n_364 [id="[$e|474]", label="f/1.0Δfoo/0.0 args nil"]; - n_258 -> n_324 [id="[$e|383]", label="g/1.0Δfoo/0.0 args nil"]; - n_217 -> n_457 [id="[$e|182]", label="h/1.0Δfoo/0.0 args nil"]; - n_343 -> n_159 [id="[$e|343]", label="g/1.0Δfoo/0.0 args nil"]; - n_234 -> n_219 [id="[$e|144]", label="g/1.0Δfoo/0.0 args nil"]; - n_164 -> n_67 [id="[$e|397]", label="f/1.0Δfoo/0.0 args nil"]; - n_164 -> n_155 [id="[$e|394]", label="h/1.0Δfoo/0.0 args nil"]; - n_212 -> n_174 [id="[$e|313]", label="g/1.0Δfoo/0.0 args nil"]; - n_127 -> n_243 [id="[$e|272]", label="g/1.0Δfoo/0.0 args nil"]; - n_164 -> n_122 [id="[$e|197]", label="g/1.0Δfoo/0.0 args nil"]; - n_370 -> n_189 [id="[$e|306]", label="g/1.0Δfoo/0.0 args nil"]; - n_351 -> n_63 [id="[$e|23]", label="f/1.0Δfoo/0.0 args nil"]; - n_202 -> n_359 [id="[$e|132]", label="g/1.0Δfoo/0.0 args nil"]; - n_164 -> n_218 [id="[$e|63]", label="f/1.0Δfoo/0.0 args nil"]; - n_164 -> n_55 [id="[$e|261]", label="g/1.0Δfoo/0.0 args nil"]; - n_417 -> n_64 [id="[$e|388]", label="g/1.0Δfoo/0.0 args nil"]; - n_164 -> n_126 [id="[$e|108]", label="h/1.0Δfoo/0.0 args nil"]; - n_164 -> n_505 [id="[$e|312]", label="f/1.0Δfoo/0.0 args nil"]; - n_472 -> n_131 [id="[$e|249]", label="f/1.0Δfoo/0.0 args nil"]; - n_199 -> n_495 [id="[$e|365]", label="f/1.0Δfoo/0.0 args nil"]; - n_164 -> n_490 [id="[$e|315]", label="h/1.0Δfoo/0.0 args nil"]; - n_354 -> n_393 [id="[$e|403]", label="f/1.0Δfoo/0.0 args nil"]; - n_346 -> n_247 [id="[$e|238]", label="f/1.0Δfoo/0.0 args nil"]; - n_417 -> n_372 [id="[$e|528]", label="g/1.0Δfoo/0.0 args nil"]; - n_156 -> n_307 [id="[$e|392]", label="g/1.0Δfoo/0.0 args nil"]; - n_469 -> n_397 [id="[$e|435]", label="f/1.0Δfoo/0.0 args nil"]; - n_164 -> n_373 [id="[$e|393]", label="f/1.0Δfoo/0.0 args nil"]; - n_164 -> n_443 [id="[$e|378]", label="f/1.0Δfoo/0.0 args nil"]; - n_164 -> n_455 [id="[$e|159]", label="h/1.0Δfoo/0.0 args nil"]; - n_234 -> n_380 [id="[$e|295]", label="g/1.0Δfoo/0.0 args nil"]; - n_398 -> n_422 [id="[$e|426]", label="f/1.0Δfoo/0.0 args nil"]; - n_65 -> n_97 [id="[$e|325]", label="f/1.0Δfoo/0.0 args nil"]; - n_164 -> n_390 [id="[$e|523]", label="g/1.0Δfoo/0.0 args nil"]; - n_164 -> n_532 [id="[$e|233]", label="h/1.0Δfoo/0.0 args nil"]; - n_65 -> n_244 [id="[$e|174]", label="f/1.0Δfoo/0.0 args nil"]; - n_29 -> n_303 [id="[$e|353]", label="f/1.0Δfoo/0.0 args nil"]; - n_459 -> n_182 [id="[$e|253]", label="g/1.0Δfoo/0.0 args nil"]; - n_195 -> n_489 [id="[$e|370]", label="h/1.0Δfoo/0.0 args nil"]; - n_343 -> n_50 [id="[$e|7]", label="f/1.0Δfoo/0.0 args nil"]; - n_297 -> n_518 [id="[$e|47]", label="f/1.0Δfoo/0.0 args nil"]; - n_164 -> n_16 [id="[$e|27]", label="h/1.0Δfoo/0.0 args nil"]; - n_164 -> n_497 [id="[$e|395]", label="h/1.0Δfoo/0.0 args nil"]; - n_164 -> n_507 [id="[$e|209]", label="f/1.0Δfoo/0.0 args nil"]; - n_164 -> n_418 [id="[$e|356]", label="h/1.0Δfoo/0.0 args nil"]; - n_164 -> n_36 [id="[$e|500]", label="g/1.0Δfoo/0.0 args nil"]; - n_231 -> n_269 [id="[$e|90]", label="g/1.0Δfoo/0.0 args nil"]; - n_376 -> n_321 [id="[$e|301]", label="f/1.0Δfoo/0.0 args nil"]; - n_164 -> n_232 [id="[$e|40]", label="h/1.0Δfoo/0.0 args nil"]; - n_357 -> n_201 [id="[$e|527]", label="g/1.0Δfoo/0.0 args nil"]; - n_351 -> n_263 [id="[$e|336]", label="g/1.0Δfoo/0.0 args nil"]; - n_305 -> n_412 [id="[$e|211]", label="h/1.0Δfoo/0.0 args nil"]; - n_503 -> n_62 [id="[$e|191]", label="g/1.0Δfoo/0.0 args nil"]; - n_341 -> n_92 [id="[$e|142]", label="f/1.0Δfoo/0.0 args nil"]; - n_438 -> n_361 [id="[$e|50]", label="g/1.0Δfoo/0.0 args nil"]; - n_351 -> n_112 [id="[$e|339]", label="g/1.0Δfoo/0.0 args nil"]; - n_164 -> n_148 [id="[$e|28]", label="h/1.0Δfoo/0.0 args nil"]; - n_164 -> n_351 [id="[$e|22]", label="h/1.0Δfoo/0.0 args nil"]; - n_319 -> n_89 [id="[$e|455]", label="g/1.0Δfoo/0.0 args nil"]; - n_164 -> n_527 [id="[$e|347]", label="g/1.0Δfoo/0.0 args nil"]; - n_164 -> n_387 [id="[$e|285]", label="f/1.0Δfoo/0.0 args nil"]; - n_164 -> n_514 [id="[$e|149]", label="h/1.0Δfoo/0.0 args nil"]; - n_297 -> n_196 [id="[$e|48]", label="f/1.0Δfoo/0.0 args nil"]; - n_164 -> n_486 [id="[$e|21]", label="h/1.0Δfoo/0.0 args nil"]; - n_398 -> n_362 [id="[$e|501]", label="f/1.0Δfoo/0.0 args nil"]; - n_498 -> n_350 [id="[$e|35]", label="g/1.0Δfoo/0.0 args nil"]; - n_164 -> n_195 [id="[$e|369]", label="g/1.0Δfoo/0.0 args nil"]; - n_311 -> n_74 [id="[$e|254]", label="g/1.0Δfoo/0.0 args nil"]; - n_164 -> n_223 [id="[$e|75]", label="f/1.0Δfoo/0.0 args nil"]; - n_115 -> n_430 [id="[$e|490]", label="f/1.0Δfoo/0.0 args nil"]; - n_469 -> n_376 [id="[$e|300]", label="h/1.0Δfoo/0.0 args nil"]; - n_164 -> n_330 [id="[$e|137]", label="h/1.0Δfoo/0.0 args nil"]; - n_164 -> n_406 [id="[$e|514]", label="g/1.0Δfoo/0.0 args nil"]; - n_164 -> n_344 [id="[$e|406]", label="g/1.0Δfoo/0.0 args nil"]; - n_164 -> n_96 [id="[$e|349]", label="g/1.0Δfoo/0.0 args nil"]; - n_315 -> n_326 [id="[$e|323]", label="g/1.0Δfoo/0.0 args nil"]; - n_164 -> n_288 [id="[$e|279]", label="h/1.0Δfoo/0.0 args nil"]; - n_164 -> n_416 [id="[$e|518]", label="g/1.0Δfoo/0.0 args nil"]; - n_9 -> n_153 [id="[$e|218]", label="g/1.0Δfoo/0.0 args nil"]; - n_9 -> n_230 [id="[$e|99]", label="f/1.0Δfoo/0.0 args nil"]; - n_514 -> n_441 [id="[$e|438]", label="g/1.0Δfoo/0.0 args nil"]; - n_225 -> n_403 [id="[$e|290]", label="g/1.0Δfoo/0.0 args nil"]; - n_356 -> n_470 [id="[$e|467]", label="h/1.0Δfoo/0.0 args nil"]; - n_164 -> n_179 [id="[$e|380]", label="h/1.0Δfoo/0.0 args nil"]; - n_164 -> n_11 [id="[$e|73]", label="f/1.0Δfoo/0.0 args nil"]; - n_474 -> n_296 [id="[$e|208]", label="h/1.0Δfoo/0.0 args nil"]; - n_343 -> n_132 [id="[$e|25]", label="f/1.0Δfoo/0.0 args nil"]; - n_164 -> n_517 [id="[$e|494]", label="g/1.0Δfoo/0.0 args nil"]; - n_164 -> n_450 [id="[$e|92]", label="h/1.0Δfoo/0.0 args nil"]; - n_297 -> n_127 [id="[$e|130]", label="f/1.0Δfoo/0.0 args nil"]; - n_164 -> n_203 [id="[$e|521]", label="g/1.0Δfoo/0.0 args nil"]; - n_420 -> n_250 [id="[$e|333]", label="g/1.0Δfoo/0.0 args nil"]; - n_297 -> n_423 [id="[$e|262]", label="g/1.0Δfoo/0.0 args nil"]; - n_287 -> n_100 [id="[$e|283]", label="f/1.0Δfoo/0.0 args nil"]; - n_475 -> n_93 [id="[$e|258]", label="g/1.0Δfoo/0.0 args nil"]; - n_490 -> n_323 [id="[$e|442]", label="g/1.0Δfoo/0.0 args nil"]; - n_164 -> n_407 [id="[$e|203]", label="h/1.0Δfoo/0.0 args nil"]; - n_479 -> n_427 [id="[$e|190]", label="g/1.0Δfoo/0.0 args nil"]; - n_402 -> n_242 [id="[$e|206]", label="h/1.0Δfoo/0.0 args nil"]; - n_232 -> n_255 [id="[$e|41]", label="f/1.0Δfoo/0.0 args nil"]; - n_204 -> n_301 [id="[$e|423]", label="h/1.0Δfoo/0.0 args nil"]; - n_164 -> n_61 [id="[$e|229]", label="g/1.0Δfoo/0.0 args nil"]; - n_164 -> n_253 [id="[$e|19]", label="f/1.0Δfoo/0.0 args nil"]; - n_351 -> n_133 [id="[$e|337]", label="g/1.0Δfoo/0.0 args nil"]; - n_282 -> n_103 [id="[$e|368]", label="g/1.0Δfoo/0.0 args nil"]; - n_351 -> n_30 [id="[$e|188]", label="f/1.0Δfoo/0.0 args nil"]; - n_297 -> n_119 [id="[$e|45]", label="f/1.0Δfoo/0.0 args nil"]; - n_498 -> n_152 [id="[$e|34]", label="g/1.0Δfoo/0.0 args nil"]; - n_513 -> n_224 [id="[$e|157]", label="f/1.0Δfoo/0.0 args nil"]; - n_164 -> n_420 [id="[$e|71]", label="f/1.0Δfoo/0.0 args nil"]; - n_469 -> n_138 [id="[$e|436]", label="h/1.0Δfoo/0.0 args nil"]; - n_417 -> n_365 [id="[$e|391]", label="f/1.0Δfoo/0.0 args nil"]; - n_456 -> n_104 [id="[$e|251]", label="f/1.0Δfoo/0.0 args nil"]; - n_164 -> n_529 [id="[$e|151]", label="f/1.0Δfoo/0.0 args nil"]; - n_9 -> n_32 [id="[$e|31]", label="f/1.0Δfoo/0.0 args nil"]; - n_164 -> n_282 [id="[$e|367]", label="f/1.0Δfoo/0.0 args nil"]; - n_417 -> n_115 [id="[$e|489]", label="g/1.0Δfoo/0.0 args nil"]; - n_164 -> n_335 [id="[$e|61]", label="h/1.0Δfoo/0.0 args nil"]; - n_164 -> n_1 [id="[$e|509]", label="g/1.0Δfoo/0.0 args nil"]; - n_9 -> n_281 [id="[$e|374]", label="g/1.0Δfoo/0.0 args nil"]; - n_297 -> n_308 [id="[$e|498]", label="g/1.0Δfoo/0.0 args nil"]; - n_321 -> n_139 [id="[$e|302]", label="h/1.0Δfoo/0.0 args nil"]; - n_164 -> n_502 [id="[$e|195]", label="g/1.0Δfoo/0.0 args nil"]; - n_319 -> n_484 [id="[$e|454]", label="g/1.0Δfoo/0.0 args nil"]; - n_266 -> n_279 [id="[$e|433]", label="h/1.0Δfoo/0.0 args nil"]; - n_164 -> n_147 [id="[$e|60]", label="h/1.0Δfoo/0.0 args nil"]; - n_164 -> n_116 [id="[$e|43]", label="h/1.0Δfoo/0.0 args nil"]; - n_164 -> n_237 [id="[$e|3]", label="h/1.0Δfoo/0.0 args nil"]; - n_500 -> n_483 [id="[$e|106]", label="h/1.0Δfoo/0.0 args nil"]; - n_164 -> n_357 [id="[$e|526]", label="f/1.0Δfoo/0.0 args nil"]; - n_164 -> n_186 [id="[$e|399]", label="f/1.0Δfoo/0.0 args nil"]; - n_164 -> n_346 [id="[$e|237]", label="h/1.0Δfoo/0.0 args nil"]; - n_313 -> n_471 [id="[$e|276]", label="h/1.0Δfoo/0.0 args nil"]; - n_456 -> n_459 [id="[$e|252]", label="f/1.0Δfoo/0.0 args nil"]; - n_124 -> n_426 [id="[$e|102]", label="h/1.0Δfoo/0.0 args nil"]; - n_164 -> n_233 [id="[$e|11]", label="h/1.0Δfoo/0.0 args nil"]; - n_416 -> n_345 [id="[$e|519]", label="f/1.0Δfoo/0.0 args nil"]; - n_402 -> n_267 [id="[$e|363]", label="f/1.0Δfoo/0.0 args nil"]; - n_142 -> n_42 [id="[$e|311]", label="f/1.0Δfoo/0.0 args nil"]; - n_122 -> n_8 [id="[$e|198]", label="h/1.0Δfoo/0.0 args nil"]; - n_342 -> n_140 [id="[$e|110]", label="h/1.0Δfoo/0.0 args nil"]; - n_164 -> n_118 [id="[$e|83]", label="h/1.0Δfoo/0.0 args nil"]; - n_276 -> n_78 [id="[$e|488]", label="g/1.0Δfoo/0.0 args nil"]; - n_368 -> n_315 [id="[$e|172]", label="f/1.0Δfoo/0.0 args nil"]; - n_118 -> n_338 [id="[$e|84]", label="h/1.0Δfoo/0.0 args nil"]; - n_164 -> n_521 [id="[$e|227]", label="g/1.0Δfoo/0.0 args nil"]; - n_343 -> n_58 [id="[$e|24]", label="f/1.0Δfoo/0.0 args nil"]; - n_489 -> n_413 [id="[$e|371]", label="f/1.0Δfoo/0.0 args nil"]; - n_64 -> n_410 [id="[$e|389]", label="f/1.0Δfoo/0.0 args nil"]; - n_164 -> n_44 [id="[$e|242]", label="h/1.0Δfoo/0.0 args nil"]; - n_164 -> n_142 [id="[$e|310]", label="h/1.0Δfoo/0.0 args nil"]; - n_9 -> n_240 [id="[$e|375]", label="g/1.0Δfoo/0.0 args nil"]; - n_351 -> n_479 [id="[$e|189]", label="f/1.0Δfoo/0.0 args nil"]; - n_164 -> n_176 [id="[$e|180]", label="h/1.0Δfoo/0.0 args nil"]; - n_164 -> n_9 [id="[$e|30]", label="h/1.0Δfoo/0.0 args nil"]; - n_412 -> n_121 [id="[$e|212]", label="f/1.0Δfoo/0.0 args nil"]; - n_472 -> n_300 [id="[$e|116]", label="f/1.0Δfoo/0.0 args nil"]; - n_220 -> n_181 [id="[$e|1]", label="main/0.0Δg/1.0 args [c]"]; - n_164 -> n_109 [id="[$e|351]", label="g/1.0Δfoo/0.0 args nil"]; - n_164 -> n_402 [id="[$e|205]", label="g/1.0Δfoo/0.0 args nil"]; - n_164 -> n_399 [id="[$e|29]", label="h/1.0Δfoo/0.0 args nil"]; - n_164 -> n_66 [id="[$e|236]", label="f/1.0Δfoo/0.0 args nil"]; - n_126 -> n_342 [id="[$e|109]", label="f/1.0Δfoo/0.0 args nil"]; - n_164 -> n_456 [id="[$e|117]", label="h/1.0Δfoo/0.0 args nil"]; - n_517 -> n_304 [id="[$e|495]", label="f/1.0Δfoo/0.0 args nil"]; - n_351 -> n_229 [id="[$e|77]", label="f/1.0Δfoo/0.0 args nil"]; - n_421 -> n_165 [id="[$e|361]", label="g/1.0Δfoo/0.0 args nil"]; - n_490 -> n_306 [id="[$e|443]", label="g/1.0Δfoo/0.0 args nil"]; - n_164 -> n_210 [id="[$e|245]", label="h/1.0Δfoo/0.0 args nil"]; - n_514 -> n_4 [id="[$e|150]", label="f/1.0Δfoo/0.0 args nil"]; - n_330 -> n_246 [id="[$e|138]", label="h/1.0Δfoo/0.0 args nil"]; - n_164 -> n_347 [id="[$e|177]", label="h/1.0Δfoo/0.0 args nil"]; - n_109 -> n_151 [id="[$e|461]", label="h/1.0Δfoo/0.0 args nil"]; - n_164 -> n_234 [id="[$e|52]", label="h/1.0Δfoo/0.0 args nil"]; - n_61 -> n_166 [id="[$e|230]", label="h/1.0Δfoo/0.0 args nil"]; - n_9 -> n_278 [id="[$e|373]", label="g/1.0Δfoo/0.0 args nil"]; - n_351 -> n_227 [id="[$e|78]", label="f/1.0Δfoo/0.0 args nil"]; - n_218 -> n_49 [id="[$e|64]", label="h/1.0Δfoo/0.0 args nil"]; - n_164 -> n_297 [id="[$e|12]", label="h/1.0Δfoo/0.0 args nil"]; - n_164 -> n_19 [id="[$e|483]", label="f/1.0Δfoo/0.0 args nil"]; - n_164 -> n_124 [id="[$e|101]", label="h/1.0Δfoo/0.0 args nil"]; - n_374 -> n_215 [id="[$e|456]", label="g/1.0Δfoo/0.0 args nil"]; - n_164 -> n_291 [id="[$e|32]", label="h/1.0Δfoo/0.0 args nil"]; - n_437 -> n_57 [id="[$e|271]", label="f/1.0Δfoo/0.0 args nil"]; - n_164 -> n_273 [id="[$e|513]", label="g/1.0Δfoo/0.0 args nil"]; - n_164 -> n_384 [id="[$e|5]", label="h/1.0Δfoo/0.0 args nil"]; - n_384 -> n_343 [id="[$e|6]", label="h/1.0Δfoo/0.0 args nil"]; - n_351 -> n_143 [id="[$e|338]", label="g/1.0Δfoo/0.0 args nil"]; - n_9 -> n_333 [id="[$e|220]", label="g/1.0Δfoo/0.0 args nil"]; - n_164 -> n_212 [id="[$e|167]", label="h/1.0Δfoo/0.0 args nil"]; - n_164 -> n_461 [id="[$e|154]", label="f/1.0Δfoo/0.0 args nil"]; - n_291 -> n_516 [id="[$e|104]", label="g/1.0Δfoo/0.0 args nil"]; - n_164 -> n_272 [id="[$e|168]", label="h/1.0Δfoo/0.0 args nil"]; - n_164 -> n_256 [id="[$e|273]", label="g/1.0Δfoo/0.0 args nil"]; - n_9 -> n_353 [id="[$e|223]", label="f/1.0Δfoo/0.0 args nil"]; - n_297 -> n_392 [id="[$e|46]", label="f/1.0Δfoo/0.0 args nil"]; - n_234 -> n_436 [id="[$e|146]", label="f/1.0Δfoo/0.0 args nil"]; - n_164 -> n_432 [id="[$e|493]", label="f/1.0Δfoo/0.0 args nil"]; - n_434 -> n_17 [id="[$e|484]", label="g/1.0Δfoo/0.0 args nil"]; - n_240 -> n_378 [id="[$e|376]", label="f/1.0Δfoo/0.0 args nil"]; - n_164 -> n_161 [id="[$e|386]", label="h/1.0Δfoo/0.0 args nil"]; - n_348 -> n_45 [id="[$e|184]", label="g/1.0Δfoo/0.0 args nil"]; - n_297 -> n_75 [id="[$e|127]", label="f/1.0Δfoo/0.0 args nil"]; - n_232 -> n_334 [id="[$e|122]", label="f/1.0Δfoo/0.0 args nil"]; - n_29 -> n_10 [id="[$e|463]", label="f/1.0Δfoo/0.0 args nil"]; - n_367 -> n_211 [id="[$e|511]", label="g/1.0Δfoo/0.0 args nil"]; - n_47 -> n_299 [id="[$e|226]", label="f/1.0Δfoo/0.0 args nil"]; - n_92 -> n_241 [id="[$e|143]", label="h/1.0Δfoo/0.0 args nil"]; - n_164 -> n_276 [id="[$e|387]", label="h/1.0Δfoo/0.0 args nil"]; - n_38 -> n_70 [id="[$e|287]", label="h/1.0Δfoo/0.0 args nil"]; - n_164 -> n_429 [id="[$e|17]", label="h/1.0Δfoo/0.0 args nil"]; - n_209 -> n_108 [id="[$e|451]", label="f/1.0Δfoo/0.0 args nil"]; - n_164 -> n_125 [id="[$e|447]", label="f/1.0Δfoo/0.0 args nil"]; - n_164 -> n_254 [id="[$e|506]", label="g/1.0Δfoo/0.0 args nil"]; - n_104 -> n_523 [id="[$e|404]", label="g/1.0Δfoo/0.0 args nil"]; - n_496 -> n_12 [id="[$e|492]", label="g/1.0Δfoo/0.0 args nil"]; - n_149 -> n_477 [id="[$e|135]", label="g/1.0Δfoo/0.0 args nil"]; - n_205 -> n_40 [id="[$e|452]", label="g/1.0Δfoo/0.0 args nil"]; - n_297 -> n_202 [id="[$e|131]", label="f/1.0Δfoo/0.0 args nil"]; - n_450 -> n_352 [id="[$e|93]", label="f/1.0Δfoo/0.0 args nil"]; - n_164 -> n_95 [id="[$e|69]", label="h/1.0Δfoo/0.0 args nil"]; - n_164 -> n_475 [id="[$e|123]", label="h/1.0Δfoo/0.0 args nil"]; - n_383 -> n_14 [id="[$e|97]", label="f/1.0Δfoo/0.0 args nil"]; - n_164 -> n_472 [id="[$e|115]", label="h/1.0Δfoo/0.0 args nil"]; - n_27 -> n_512 [id="[$e|120]", label="f/1.0Δfoo/0.0 args nil"]; - n_464 -> n_87 [id="[$e|413]", label="f/1.0Δfoo/0.0 args nil"]; - n_383 -> n_533 [id="[$e|224]", label="f/1.0Δfoo/0.0 args nil"]; - n_327 -> n_265 [id="[$e|111]", label="f/1.0Δfoo/0.0 args nil"]; - n_368 -> n_389 [id="[$e|321]", label="f/1.0Δfoo/0.0 args nil"]; - n_164 -> n_466 [id="[$e|255]", label="f/1.0Δfoo/0.0 args nil"]; - n_164 -> n_310 [id="[$e|316]", label="h/1.0Δfoo/0.0 args nil"]; - n_297 -> n_312 [id="[$e|410]", label="g/1.0Δfoo/0.0 args nil"]; - n_30 -> n_84 [id="[$e|341]", label="g/1.0Δfoo/0.0 args nil"]; - n_302 -> n_80 [id="[$e|329]", label="g/1.0Δfoo/0.0 args nil"]; - n_164 -> n_327 [id="[$e|36]", label="h/1.0Δfoo/0.0 args nil"]; - n_176 -> n_217 [id="[$e|181]", label="f/1.0Δfoo/0.0 args nil"]; - n_248 -> n_309 [id="[$e|496]", label="g/1.0Δfoo/0.0 args nil"]; - n_164 -> n_194 [id="[$e|424]", label="g/1.0Δfoo/0.0 args nil"]; - n_79 -> n_81 [id="[$e|202]", label="h/1.0Δfoo/0.0 args nil"]; - n_164 -> n_370 [id="[$e|15]", label="h/1.0Δfoo/0.0 args nil"]; - n_219 -> n_187 [id="[$e|145]", label="f/1.0Δfoo/0.0 args nil"]; - n_297 -> n_270 [id="[$e|411]", label="g/1.0Δfoo/0.0 args nil"]; - n_194 -> n_188 [id="[$e|425]", label="h/1.0Δfoo/0.0 args nil"]; - n_9 -> n_167 [id="[$e|216]", label="g/1.0Δfoo/0.0 args nil"]; - n_27 -> n_169 [id="[$e|256]", label="f/1.0Δfoo/0.0 args nil"]; - n_347 -> n_185 [id="[$e|178]", label="f/1.0Δfoo/0.0 args nil"]; - n_149 -> n_46 [id="[$e|136]", label="g/1.0Δfoo/0.0 args nil"]; - n_297 -> n_437 [id="[$e|270]", label="g/1.0Δfoo/0.0 args nil"]; - n_506 -> n_68 [id="[$e|148]", label="g/1.0Δfoo/0.0 args nil"]; - n_407 -> n_198 [id="[$e|204]", label="f/1.0Δfoo/0.0 args nil"]; - n_11 -> n_135 [id="[$e|74]", label="h/1.0Δfoo/0.0 args nil"]; - n_164 -> n_493 [id="[$e|317]", label="h/1.0Δfoo/0.0 args nil"]; - n_486 -> n_485 [id="[$e|186]", label="g/1.0Δfoo/0.0 args nil"]; - n_276 -> n_501 [id="[$e|487]", label="g/1.0Δfoo/0.0 args nil"]; - n_164 -> n_183 [id="[$e|516]", label="g/1.0Δfoo/0.0 args nil"]; - n_475 -> n_207 [id="[$e|259]", label="g/1.0Δfoo/0.0 args nil"]; - n_132 -> n_163 [id="[$e|82]", label="g/1.0Δfoo/0.0 args nil"]; - n_164 -> n_53 [id="[$e|504]", label="g/1.0Δfoo/0.0 args nil"]; - n_164 -> n_170 [id="[$e|502]", label="g/1.0Δfoo/0.0 args nil"]; - n_532 -> n_172 [id="[$e|234]", label="h/1.0Δfoo/0.0 args nil"]; - n_153 -> n_454 [id="[$e|219]", label="f/1.0Δfoo/0.0 args nil"]; - n_526 -> n_509 [id="[$e|465]", label="h/1.0Δfoo/0.0 args nil"]; - n_4 -> n_88 [id="[$e|304]", label="g/1.0Δfoo/0.0 args nil"]; - n_164 -> n_313 [id="[$e|275]", label="g/1.0Δfoo/0.0 args nil"]; - n_335 -> n_261 [id="[$e|62]", label="f/1.0Δfoo/0.0 args nil"]; - n_322 -> n_21 [id="[$e|265]", label="f/1.0Δfoo/0.0 args nil"]; - n_9 -> n_283 [id="[$e|217]", label="g/1.0Δfoo/0.0 args nil"]; - n_164 -> n_337 [id="[$e|183]", label="f/1.0Δfoo/0.0 args nil"]; - n_529 -> n_41 [id="[$e|152]", label="g/1.0Δfoo/0.0 args nil"]; - n_96 -> n_180 [id="[$e|350]", label="h/1.0Δfoo/0.0 args nil"]; - n_164 -> n_98 [id="[$e|257]", label="f/1.0Δfoo/0.0 args nil"]; - n_327 -> n_113 [id="[$e|239]", label="f/1.0Δfoo/0.0 args nil"]; - n_467 -> n_284 [id="[$e|193]", label="g/1.0Δfoo/0.0 args nil"]; - n_343 -> n_408 [id="[$e|342]", label="g/1.0Δfoo/0.0 args nil"]; - n_210 -> n_349 [id="[$e|246]", label="h/1.0Δfoo/0.0 args nil"]; - n_297 -> n_228 [id="[$e|13]", label="f/1.0Δfoo/0.0 args nil"]; - n_164 -> n_499 [id="[$e|524]", label="g/1.0Δfoo/0.0 args nil"]; - n_212 -> n_478 [id="[$e|314]", label="g/1.0Δfoo/0.0 args nil"]; - n_9 -> n_280 [id="[$e|95]", label="f/1.0Δfoo/0.0 args nil"]; - n_158 -> n_252 [id="[$e|421]", label="h/1.0Δfoo/0.0 args nil"]; - n_164 -> n_192 [id="[$e|44]", label="h/1.0Δfoo/0.0 args nil"]; - n_164 -> n_31 [id="[$e|160]", label="h/1.0Δfoo/0.0 args nil"]; - n_164 -> n_136 [id="[$e|508]", label="g/1.0Δfoo/0.0 args nil"]; - n_297 -> n_72 [id="[$e|269]", label="f/1.0Δfoo/0.0 args nil"]; - n_164 -> n_339 [id="[$e|505]", label="g/1.0Δfoo/0.0 args nil"]; - n_164 -> n_76 [id="[$e|366]", label="f/1.0Δfoo/0.0 args nil"]; - n_164 -> n_149 [id="[$e|14]", label="h/1.0Δfoo/0.0 args nil"]; - n_164 -> n_363 [id="[$e|531]", label="g/1.0Δfoo/0.0 args nil"]; - n_530 -> n_239 [id="[$e|55]", label="h/1.0Δfoo/0.0 args nil"]; - n_368 -> n_205 [id="[$e|320]", label="f/1.0Δfoo/0.0 args nil"]; - n_164 -> n_434 [id="[$e|385]", label="f/1.0Δfoo/0.0 args nil"]; - n_52 -> n_421 [id="[$e|360]", label="f/1.0Δfoo/0.0 args nil"]; - n_164 -> n_221 [id="[$e|529]", label="g/1.0Δfoo/0.0 args nil"]; - n_164 -> n_520 [id="[$e|42]", label="h/1.0Δfoo/0.0 args nil"]; + n_124 -> n_355 [id="[$e|297]", label="g/1.0Δfoo/0.0 args nil"]; + n_183 -> n_233 [id="[$e|119]", label="g/1.0Δfoo/0.0 args nil"]; + n_124 -> n_326 [id="[$e|391]", label="g/1.0Δfoo/0.0 args nil"]; + n_316 -> n_248 [id="[$e|217]", label="g/1.0Δfoo/0.0 args nil"]; + n_58 -> n_329 [id="[$e|171]", label="g/1.0Δfoo/0.0 args nil"]; + n_124 -> n_319 [id="[$e|466]", label="g/1.0Δfoo/0.0 args nil"]; + n_4 -> n_369 [id="[$e|114]", label="f/1.0Δfoo/0.0 args nil"]; + n_182 -> n_500 [id="[$e|27]", label="g/1.0Δfoo/0.0 args nil"]; + n_184 -> n_126 [id="[$e|230]", label="f/1.0Δfoo/0.0 args nil"]; + n_124 -> n_478 [id="[$e|199]", label="g/1.0Δfoo/0.0 args nil"]; + n_26 -> n_180 [id="[$e|77]", label="g/1.0Δfoo/0.0 args nil"]; + n_98 -> n_22 [id="[$e|437]", label="g/1.0Δfoo/0.0 args nil"]; + n_124 -> n_203 [id="[$e|421]", label="f/1.0Δfoo/0.0 args nil"]; + n_124 -> n_390 [id="[$e|385]", label="g/1.0Δfoo/0.0 args nil"]; + n_469 -> n_359 [id="[$e|298]", label="g/1.0Δfoo/0.0 args nil"]; + n_124 -> n_340 [id="[$e|295]", label="f/1.0Δfoo/0.0 args nil"]; + n_92 -> n_173 [id="[$e|250]", label="h/1.0Δfoo/0.0 args nil"]; + n_268 -> n_134 [id="[$e|180]", label="h/1.0Δfoo/0.0 args nil"]; + n_124 -> n_14 [id="[$e|64]", label="h/1.0Δfoo/0.0 args nil"]; + n_22 -> n_491 [id="[$e|492]", label="f/1.0Δfoo/0.0 args nil"]; + n_124 -> n_241 [id="[$e|373]", label="f/1.0Δfoo/0.0 args nil"]; + n_420 -> n_220 [id="[$e|483]", label="g/1.0Δfoo/0.0 args nil"]; + n_124 -> n_393 [id="[$e|270]", label="f/1.0Δfoo/0.0 args nil"]; + n_107 -> n_224 [id="[$e|164]", label="g/1.0Δfoo/0.0 args nil"]; + n_385 -> n_239 [id="[$e|160]", label="g/1.0Δfoo/0.0 args nil"]; + n_124 -> n_440 [id="[$e|454]", label="g/1.0Δfoo/0.0 args nil"]; + n_124 -> n_206 [id="[$e|273]", label="h/1.0Δfoo/0.0 args nil"]; + n_124 -> n_423 [id="[$e|79]", label="h/1.0Δfoo/0.0 args nil"]; + n_364 -> n_95 [id="[$e|87]", label="h/1.0Δfoo/0.0 args nil"]; + n_437 -> n_177 [id="[$e|58]", label="f/1.0Δfoo/0.0 args nil"]; + n_179 -> n_149 [id="[$e|44]", label="f/1.0Δfoo/0.0 args nil"]; + n_190 -> n_469 [id="[$e|149]", label="f/1.0Δfoo/0.0 args nil"]; + n_124 -> n_342 [id="[$e|396]", label="f/1.0Δfoo/0.0 args nil"]; + n_124 -> n_182 [id="[$e|8]", label="h/1.0Δfoo/0.0 args nil"]; + n_124 -> n_254 [id="[$e|279]", label="h/1.0Δfoo/0.0 args nil"]; + n_124 -> n_396 [id="[$e|33]", label="h/1.0Δfoo/0.0 args nil"]; + n_127 -> n_151 [id="[$e|369]", label="g/1.0Δfoo/0.0 args nil"]; + n_214 -> n_194 [id="[$e|272]", label="g/1.0Δfoo/0.0 args nil"]; + n_124 -> n_473 [id="[$e|47]", label="h/1.0Δfoo/0.0 args nil"]; + n_306 -> n_3 [id="[$e|286]", label="g/1.0Δfoo/0.0 args nil"]; + n_124 -> n_7 [id="[$e|311]", label="g/1.0Δfoo/0.0 args nil"]; + n_460 -> n_40 [id="[$e|428]", label="h/1.0Δfoo/0.0 args nil"]; + n_184 -> n_293 [id="[$e|36]", label="f/1.0Δfoo/0.0 args nil"]; + n_124 -> n_353 [id="[$e|330]", label="g/1.0Δfoo/0.0 args nil"]; + n_419 -> n_244 [id="[$e|221]", label="f/1.0Δfoo/0.0 args nil"]; + n_124 -> n_316 [id="[$e|93]", label="h/1.0Δfoo/0.0 args nil"]; + n_262 -> n_462 [id="[$e|209]", label="h/1.0Δfoo/0.0 args nil"]; + n_183 -> n_467 [id="[$e|120]", label="g/1.0Δfoo/0.0 args nil"]; + n_124 -> n_131 [id="[$e|68]", label="h/1.0Δfoo/0.0 args nil"]; + n_124 -> n_246 [id="[$e|374]", label="g/1.0Δfoo/0.0 args nil"]; + n_281 -> n_159 [id="[$e|320]", label="f/1.0Δfoo/0.0 args nil"]; + n_32 -> n_407 [id="[$e|485]", label="g/1.0Δfoo/0.0 args nil"]; + n_72 -> n_45 [id="[$e|176]", label="h/1.0Δfoo/0.0 args nil"]; + n_236 -> n_111 [id="[$e|461]", label="f/1.0Δfoo/0.0 args nil"]; + n_124 -> n_364 [id="[$e|86]", label="h/1.0Δfoo/0.0 args nil"]; + n_255 -> n_140 [id="[$e|253]", label="f/1.0Δfoo/0.0 args nil"]; + n_184 -> n_502 [id="[$e|233]", label="f/1.0Δfoo/0.0 args nil"]; + n_428 -> n_18 [id="[$e|261]", label="f/1.0Δfoo/0.0 args nil"]; + n_448 -> n_352 [id="[$e|403]", label="g/1.0Δfoo/0.0 args nil"]; + n_124 -> n_231 [id="[$e|448]", label="f/1.0Δfoo/0.0 args nil"]; + n_179 -> n_78 [id="[$e|43]", label="g/1.0Δfoo/0.0 args nil"]; + n_72 -> n_438 [id="[$e|444]", label="f/1.0Δfoo/0.0 args nil"]; + n_308 -> n_301 [id="[$e|61]", label="g/1.0Δfoo/0.0 args nil"]; + n_124 -> n_275 [id="[$e|496]", label="g/1.0Δfoo/0.0 args nil"]; + n_124 -> n_345 [id="[$e|439]", label="f/1.0Δfoo/0.0 args nil"]; + n_326 -> n_273 [id="[$e|392]", label="h/1.0Δfoo/0.0 args nil"]; + n_444 -> n_92 [id="[$e|249]", label="h/1.0Δfoo/0.0 args nil"]; + n_462 -> n_71 [id="[$e|351]", label="g/1.0Δfoo/0.0 args nil"]; + n_437 -> n_287 [id="[$e|301]", label="g/1.0Δfoo/0.0 args nil"]; + n_393 -> n_237 [id="[$e|405]", label="g/1.0Δfoo/0.0 args nil"]; + n_331 -> n_409 [id="[$e|57]", label="f/1.0Δfoo/0.0 args nil"]; + n_124 -> n_366 [id="[$e|342]", label="g/1.0Δfoo/0.0 args nil"]; + n_124 -> n_358 [id="[$e|29]", label="h/1.0Δfoo/0.0 args nil"]; + n_335 -> n_135 [id="[$e|267]", label="h/1.0Δfoo/0.0 args nil"]; + n_26 -> n_381 [id="[$e|185]", label="g/1.0Δfoo/0.0 args nil"]; + n_15 -> n_376 [id="[$e|71]", label="g/1.0Δfoo/0.0 args nil"]; + n_281 -> n_156 [id="[$e|440]", label="f/1.0Δfoo/0.0 args nil"]; + n_124 -> n_437 [id="[$e|16]", label="h/1.0Δfoo/0.0 args nil"]; + n_124 -> n_152 [id="[$e|48]", label="h/1.0Δfoo/0.0 args nil"]; + n_124 -> n_420 [id="[$e|412]", label="f/1.0Δfoo/0.0 args nil"]; + n_306 -> n_212 [id="[$e|284]", label="g/1.0Δfoo/0.0 args nil"]; + n_59 -> n_167 [id="[$e|456]", label="g/1.0Δfoo/0.0 args nil"]; + n_124 -> n_283 [id="[$e|153]", label="f/1.0Δfoo/0.0 args nil"]; + n_108 -> n_48 [id="[$e|88]", label="f/1.0Δfoo/0.0 args nil"]; + n_63 -> n_432 [id="[$e|416]", label="g/1.0Δfoo/0.0 args nil"]; + n_451 -> n_230 [id="[$e|470]", label="f/1.0Δfoo/0.0 args nil"]; + n_124 -> n_351 [id="[$e|46]", label="h/1.0Δfoo/0.0 args nil"]; + n_124 -> n_232 [id="[$e|215]", label="h/1.0Δfoo/0.0 args nil"]; + n_174 -> n_418 [id="[$e|192]", label="f/1.0Δfoo/0.0 args nil"]; + n_147 -> n_42 [id="[$e|201]", label="h/1.0Δfoo/0.0 args nil"]; + n_180 -> n_110 [id="[$e|194]", label="f/1.0Δfoo/0.0 args nil"]; + n_184 -> n_341 [id="[$e|103]", label="f/1.0Δfoo/0.0 args nil"]; + n_124 -> n_416 [id="[$e|139]", label="h/1.0Δfoo/0.0 args nil"]; + n_455 -> n_208 [id="[$e|240]", label="g/1.0Δfoo/0.0 args nil"]; + n_124 -> n_215 [id="[$e|111]", label="h/1.0Δfoo/0.0 args nil"]; + n_124 -> n_76 [id="[$e|331]", label="f/1.0Δfoo/0.0 args nil"]; + n_437 -> n_497 [id="[$e|59]", label="f/1.0Δfoo/0.0 args nil"]; + n_184 -> n_297 [id="[$e|377]", label="g/1.0Δfoo/0.0 args nil"]; + n_162 -> n_70 [id="[$e|451]", label="g/1.0Δfoo/0.0 args nil"]; + n_50 -> n_501 [id="[$e|484]", label="f/1.0Δfoo/0.0 args nil"]; + n_316 -> n_127 [id="[$e|216]", label="f/1.0Δfoo/0.0 args nil"]; + n_468 -> n_222 [id="[$e|308]", label="g/1.0Δfoo/0.0 args nil"]; + n_133 -> n_24 [id="[$e|229]", label="g/1.0Δfoo/0.0 args nil"]; + n_357 -> n_278 [id="[$e|410]", label="g/1.0Δfoo/0.0 args nil"]; + n_124 -> n_8 [id="[$e|344]", label="h/1.0Δfoo/0.0 args nil"]; + n_4 -> n_422 [id="[$e|255]", label="g/1.0Δfoo/0.0 args nil"]; + n_58 -> n_320 [id="[$e|170]", label="g/1.0Δfoo/0.0 args nil"]; + n_155 -> n_322 [id="[$e|468]", label="g/1.0Δfoo/0.0 args nil"]; + n_280 -> n_285 [id="[$e|327]", label="h/1.0Δfoo/0.0 args nil"]; + n_95 -> n_361 [id="[$e|205]", label="f/1.0Δfoo/0.0 args nil"]; + n_143 -> n_54 [id="[$e|400]", label="h/1.0Δfoo/0.0 args nil"]; + n_70 -> n_350 [id="[$e|499]", label="f/1.0Δfoo/0.0 args nil"]; + n_34 -> n_402 [id="[$e|213]", label="f/1.0Δfoo/0.0 args nil"]; + n_4 -> n_62 [id="[$e|113]", label="g/1.0Δfoo/0.0 args nil"]; + n_79 -> n_304 [id="[$e|84]", label="h/1.0Δfoo/0.0 args nil"]; + n_187 -> n_324 [id="[$e|501]", label="g/1.0Δfoo/0.0 args nil"]; + n_26 -> n_10 [id="[$e|184]", label="g/1.0Δfoo/0.0 args nil"]; + n_10 -> n_485 [id="[$e|335]", label="f/1.0Δfoo/0.0 args nil"]; + n_124 -> n_472 [id="[$e|494]", label="g/1.0Δfoo/0.0 args nil"]; + n_124 -> n_98 [id="[$e|436]", label="g/1.0Δfoo/0.0 args nil"]; + n_184 -> n_137 [id="[$e|380]", label="f/1.0Δfoo/0.0 args nil"]; + n_124 -> n_262 [id="[$e|208]", label="h/1.0Δfoo/0.0 args nil"]; + n_124 -> n_336 [id="[$e|300]", label="f/1.0Δfoo/0.0 args nil"]; + n_124 -> n_219 [id="[$e|90]", label="h/1.0Δfoo/0.0 args nil"]; + n_124 -> n_484 [id="[$e|51]", label="h/1.0Δfoo/0.0 args nil"]; + n_447 -> n_150 [id="[$e|424]", label="g/1.0Δfoo/0.0 args nil"]; + n_124 -> n_487 [id="[$e|464]", label="f/1.0Δfoo/0.0 args nil"]; + n_42 -> n_346 [id="[$e|346]", label="f/1.0Δfoo/0.0 args nil"]; + n_124 -> n_43 [id="[$e|329]", label="f/1.0Δfoo/0.0 args nil"]; + n_419 -> n_299 [id="[$e|220]", label="f/1.0Δfoo/0.0 args nil"]; + n_179 -> n_475 [id="[$e|42]", label="f/1.0Δfoo/0.0 args nil"]; + n_124 -> n_235 [id="[$e|387]", label="g/1.0Δfoo/0.0 args nil"]; + n_124 -> n_77 [id="[$e|489]", label="g/1.0Δfoo/0.0 args nil"]; + n_437 -> n_468 [id="[$e|156]", label="f/1.0Δfoo/0.0 args nil"]; + n_124 -> n_330 [id="[$e|280]", label="h/1.0Δfoo/0.0 args nil"]; + n_4 -> n_428 [id="[$e|115]", label="g/1.0Δfoo/0.0 args nil"]; + n_124 -> n_144 [id="[$e|145]", label="h/1.0Δfoo/0.0 args nil"]; + n_412 -> n_277 [id="[$e|118]", label="h/1.0Δfoo/0.0 args nil"]; + n_26 -> n_178 [id="[$e|78]", label="f/1.0Δfoo/0.0 args nil"]; + n_124 -> n_451 [id="[$e|365]", label="g/1.0Δfoo/0.0 args nil"]; + n_184 -> n_314 [id="[$e|35]", label="f/1.0Δfoo/0.0 args nil"]; + n_165 -> n_489 [id="[$e|463]", label="g/1.0Δfoo/0.0 args nil"]; + n_189 -> n_9 [id="[$e|242]", label="h/1.0Δfoo/0.0 args nil"]; + n_460 -> n_91 [id="[$e|486]", label="f/1.0Δfoo/0.0 args nil"]; + n_107 -> n_375 [id="[$e|165]", label="g/1.0Δfoo/0.0 args nil"]; + n_124 -> n_450 [id="[$e|20]", label="h/1.0Δfoo/0.0 args nil"]; + n_124 -> n_496 [id="[$e|97]", label="h/1.0Δfoo/0.0 args nil"]; + n_394 -> n_225 [id="[$e|37]", label="g/1.0Δfoo/0.0 args nil"]; + n_492 -> n_302 [id="[$e|307]", label="f/1.0Δfoo/0.0 args nil"]; + n_124 -> n_55 [id="[$e|142]", label="h/1.0Δfoo/0.0 args nil"]; + n_184 -> n_471 [id="[$e|104]", label="g/1.0Δfoo/0.0 args nil"]; + n_341 -> n_198 [id="[$e|238]", label="g/1.0Δfoo/0.0 args nil"]; + n_124 -> n_108 [id="[$e|28]", label="h/1.0Δfoo/0.0 args nil"]; + n_124 -> n_11 [id="[$e|136]", label="f/1.0Δfoo/0.0 args nil"]; + n_368 -> n_414 [id="[$e|390]", label="h/1.0Δfoo/0.0 args nil"]; + n_124 -> n_464 [id="[$e|465]", label="f/1.0Δfoo/0.0 args nil"]; + n_62 -> n_160 [id="[$e|259]", label="f/1.0Δfoo/0.0 args nil"]; + n_124 -> n_185 [id="[$e|52]", label="h/1.0Δfoo/0.0 args nil"]; + n_124 -> n_406 [id="[$e|92]", label="h/1.0Δfoo/0.0 args nil"]; + n_71 -> n_236 [id="[$e|352]", label="g/1.0Δfoo/0.0 args nil"]; + n_124 -> n_309 [id="[$e|406]", label="f/1.0Δfoo/0.0 args nil"]; + n_124 -> n_318 [id="[$e|402]", label="g/1.0Δfoo/0.0 args nil"]; + n_184 -> n_29 [id="[$e|236]", label="g/1.0Δfoo/0.0 args nil"]; + n_124 -> n_454 [id="[$e|9]", label="h/1.0Δfoo/0.0 args nil"]; + n_124 -> n_228 [id="[$e|168]", label="g/1.0Δfoo/0.0 args nil"]; + n_141 -> n_217 [id="[$e|363]", label="g/1.0Δfoo/0.0 args nil"]; + n_124 -> n_67 [id="[$e|251]", label="g/1.0Δfoo/0.0 args nil"]; + n_124 -> n_392 [id="[$e|146]", label="h/1.0Δfoo/0.0 args nil"]; + n_26 -> n_174 [id="[$e|75]", label="g/1.0Δfoo/0.0 args nil"]; + n_369 -> n_354 [id="[$e|260]", label="g/1.0Δfoo/0.0 args nil"]; + n_496 -> n_503 [id="[$e|224]", label="g/1.0Δfoo/0.0 args nil"]; + n_26 -> n_103 [id="[$e|338]", label="g/1.0Δfoo/0.0 args nil"]; + n_469 -> n_425 [id="[$e|299]", label="g/1.0Δfoo/0.0 args nil"]; + n_124 -> n_365 [id="[$e|203]", label="f/1.0Δfoo/0.0 args nil"]; + n_184 -> n_382 [id="[$e|102]", label="f/1.0Δfoo/0.0 args nil"]; + n_124 -> n_125 [id="[$e|361]", label="f/1.0Δfoo/0.0 args nil"]; + n_124 -> n_105 [id="[$e|473]", label="g/1.0Δfoo/0.0 args nil"]; + n_96 -> n_303 [id="[$e|183]", label="f/1.0Δfoo/0.0 args nil"]; + n_179 -> n_80 [id="[$e|45]", label="g/1.0Δfoo/0.0 args nil"]; + n_461 -> n_305 [id="[$e|293]", label="g/1.0Δfoo/0.0 args nil"]; + n_363 -> n_453 [id="[$e|395]", label="f/1.0Δfoo/0.0 args nil"]; + n_124 -> n_89 [id="[$e|322]", label="g/1.0Δfoo/0.0 args nil"]; + n_4 -> n_266 [id="[$e|116]", label="f/1.0Δfoo/0.0 args nil"]; + n_137 -> n_477 [id="[$e|381]", label="g/1.0Δfoo/0.0 args nil"]; + n_141 -> n_339 [id="[$e|362]", label="g/1.0Δfoo/0.0 args nil"]; + n_89 -> n_292 [id="[$e|323]", label="h/1.0Δfoo/0.0 args nil"]; + n_124 -> n_179 [id="[$e|13]", label="h/1.0Δfoo/0.0 args nil"]; + n_139 -> n_124 [id="[$e|2]", label="main/0.0Δh/1.0 args [stop]"]; + n_172 -> n_139 [id="[$e|1]", label="main/0.0Δg/1.0 args [c]"]; + n_415 -> n_380 [id="[$e|401]", label="f/1.0Δfoo/0.0 args nil"]; + n_450 -> n_298 [id="[$e|66]", label="g/1.0Δfoo/0.0 args nil"]; + n_124 -> n_388 [id="[$e|493]", label="g/1.0Δfoo/0.0 args nil"]; + n_42 -> n_218 [id="[$e|345]", label="f/1.0Δfoo/0.0 args nil"]; + n_156 -> n_465 [id="[$e|441]", label="g/1.0Δfoo/0.0 args nil"]; + n_484 -> n_171 [id="[$e|144]", label="f/1.0Δfoo/0.0 args nil"]; + n_124 -> n_306 [id="[$e|141]", label="h/1.0Δfoo/0.0 args nil"]; + n_169 -> n_413 [id="[$e|182]", label="h/1.0Δfoo/0.0 args nil"]; + n_124 -> n_429 [id="[$e|222]", label="f/1.0Δfoo/0.0 args nil"]; + n_126 -> n_290 [id="[$e|383]", label="g/1.0Δfoo/0.0 args nil"]; + n_124 -> n_136 [id="[$e|357]", label="h/1.0Δfoo/0.0 args nil"]; + n_394 -> n_23 [id="[$e|38]", label="g/1.0Δfoo/0.0 args nil"]; + n_55 -> n_337 [id="[$e|288]", label="f/1.0Δfoo/0.0 args nil"]; + n_5 -> n_1 [id="[$e|500]", label="g/1.0Δfoo/0.0 args nil"]; + n_333 -> n_115 [id="[$e|394]", label="h/1.0Δfoo/0.0 args nil"]; + n_313 -> n_363 [id="[$e|247]", label="h/1.0Δfoo/0.0 args nil"]; + n_124 -> n_434 [id="[$e|314]", label="h/1.0Δfoo/0.0 args nil"]; + n_184 -> n_117 [id="[$e|231]", label="f/1.0Δfoo/0.0 args nil"]; + n_124 -> n_72 [id="[$e|175]", label="g/1.0Δfoo/0.0 args nil"]; + n_190 -> n_495 [id="[$e|151]", label="g/1.0Δfoo/0.0 args nil"]; + n_124 -> n_490 [id="[$e|73]", label="h/1.0Δfoo/0.0 args nil"]; + n_124 -> n_93 [id="[$e|25]", label="h/1.0Δfoo/0.0 args nil"]; + n_461 -> n_65 [id="[$e|294]", label="g/1.0Δfoo/0.0 args nil"]; + n_370 -> n_252 [id="[$e|358]", label="f/1.0Δfoo/0.0 args nil"]; + n_74 -> n_153 [id="[$e|340]", label="g/1.0Δfoo/0.0 args nil"]; + n_124 -> n_476 [id="[$e|227]", label="g/1.0Δfoo/0.0 args nil"]; + n_166 -> n_13 [id="[$e|163]", label="g/1.0Δfoo/0.0 args nil"]; + n_124 -> n_17 [id="[$e|478]", label="g/1.0Δfoo/0.0 args nil"]; + n_124 -> n_315 [id="[$e|22]", label="h/1.0Δfoo/0.0 args nil"]; + n_132 -> n_389 [id="[$e|431]", label="f/1.0Δfoo/0.0 args nil"]; + n_124 -> n_362 [id="[$e|290]", label="f/1.0Δfoo/0.0 args nil"]; + n_174 -> n_25 [id="[$e|191]", label="f/1.0Δfoo/0.0 args nil"]; + n_124 -> n_433 [id="[$e|135]", label="h/1.0Δfoo/0.0 args nil"]; + n_124 -> n_247 [id="[$e|367]", label="g/1.0Δfoo/0.0 args nil"]; + n_284 -> n_35 [id="[$e|269]", label="f/1.0Δfoo/0.0 args nil"]; + n_124 -> n_184 [id="[$e|11]", label="h/1.0Δfoo/0.0 args nil"]; + n_26 -> n_94 [id="[$e|337]", label="g/1.0Δfoo/0.0 args nil"]; + n_63 -> n_207 [id="[$e|417]", label="g/1.0Δfoo/0.0 args nil"]; + n_144 -> n_84 [id="[$e|292]", label="g/1.0Δfoo/0.0 args nil"]; + n_288 -> n_223 [id="[$e|265]", label="h/1.0Δfoo/0.0 args nil"]; + n_4 -> n_61 [id="[$e|257]", label="g/1.0Δfoo/0.0 args nil"]; + n_124 -> n_379 [id="[$e|262]", label="g/1.0Δfoo/0.0 args nil"]; + n_124 -> n_168 [id="[$e|348]", label="f/1.0Δfoo/0.0 args nil"]; + n_26 -> n_238 [id="[$e|188]", label="f/1.0Δfoo/0.0 args nil"]; + n_142 -> n_268 [id="[$e|179]", label="h/1.0Δfoo/0.0 args nil"]; + n_124 -> n_447 [id="[$e|53]", label="f/1.0Δfoo/0.0 args nil"]; + n_365 -> n_154 [id="[$e|204]", label="h/1.0Δfoo/0.0 args nil"]; + n_124 -> n_200 [id="[$e|415]", label="g/1.0Δfoo/0.0 args nil"]; + n_248 -> n_445 [id="[$e|370]", label="f/1.0Δfoo/0.0 args nil"]; + n_205 -> n_214 [id="[$e|125]", label="f/1.0Δfoo/0.0 args nil"]; + n_347 -> n_384 [id="[$e|419]", label="g/1.0Δfoo/0.0 args nil"]; + n_124 -> n_44 [id="[$e|202]", label="h/1.0Δfoo/0.0 args nil"]; + n_124 -> n_142 [id="[$e|178]", label="f/1.0Δfoo/0.0 args nil"]; + n_240 -> n_245 [id="[$e|95]", label="f/1.0Δfoo/0.0 args nil"]; + n_72 -> n_226 [id="[$e|445]", label="f/1.0Δfoo/0.0 args nil"]; + n_90 -> n_289 [id="[$e|442]", label="f/1.0Δfoo/0.0 args nil"]; + n_124 -> n_176 [id="[$e|289]", label="f/1.0Δfoo/0.0 args nil"]; + n_124 -> n_357 [id="[$e|281]", label="h/1.0Δfoo/0.0 args nil"]; + n_321 -> n_186 [id="[$e|277]", label="f/1.0Δfoo/0.0 args nil"]; + n_124 -> n_183 [id="[$e|40]", label="h/1.0Δfoo/0.0 args nil"]; + n_155 -> n_499 [id="[$e|469]", label="g/1.0Δfoo/0.0 args nil"]; + n_124 -> n_216 [id="[$e|432]", label="g/1.0Δfoo/0.0 args nil"]; + n_124 -> n_120 [id="[$e|434]", label="g/1.0Δfoo/0.0 args nil"]; + n_124 -> n_448 [id="[$e|121]", label="f/1.0Δfoo/0.0 args nil"]; + n_184 -> n_338 [id="[$e|376]", label="g/1.0Δfoo/0.0 args nil"]; + n_124 -> n_279 [id="[$e|275]", label="f/1.0Δfoo/0.0 args nil"]; + n_308 -> n_170 [id="[$e|63]", label="f/1.0Δfoo/0.0 args nil"]; + n_124 -> n_15 [id="[$e|7]", label="h/1.0Δfoo/0.0 args nil"]; + n_132 -> n_421 [id="[$e|430]", label="f/1.0Δfoo/0.0 args nil"]; + n_117 -> n_129 [id="[$e|384]", label="g/1.0Δfoo/0.0 args nil"]; + n_124 -> n_190 [id="[$e|55]", label="h/1.0Δfoo/0.0 args nil"]; + n_306 -> n_347 [id="[$e|285]", label="f/1.0Δfoo/0.0 args nil"]; + n_4 -> n_37 [id="[$e|254]", label="g/1.0Δfoo/0.0 args nil"]; + n_26 -> n_435 [id="[$e|189]", label="g/1.0Δfoo/0.0 args nil"]; + n_124 -> n_209 [id="[$e|479]", label="g/1.0Δfoo/0.0 args nil"]; + n_437 -> n_99 [id="[$e|302]", label="g/1.0Δfoo/0.0 args nil"]; + n_124 -> n_483 [id="[$e|274]", label="h/1.0Δfoo/0.0 args nil"]; + n_311 -> n_334 [id="[$e|328]", label="f/1.0Δfoo/0.0 args nil"]; + n_67 -> n_415 [id="[$e|252]", label="h/1.0Δfoo/0.0 args nil"]; + n_190 -> n_480 [id="[$e|150]", label="g/1.0Δfoo/0.0 args nil"]; + n_124 -> n_59 [id="[$e|349]", label="h/1.0Δfoo/0.0 args nil"]; + n_271 -> n_370 [id="[$e|211]", label="h/1.0Δfoo/0.0 args nil"]; + n_390 -> n_121 [id="[$e|386]", label="h/1.0Δfoo/0.0 args nil"]; + n_124 -> n_118 [id="[$e|420]", label="f/1.0Δfoo/0.0 args nil"]; + n_437 -> n_417 [id="[$e|154]", label="f/1.0Δfoo/0.0 args nil"]; + n_124 -> n_234 [id="[$e|480]", label="g/1.0Δfoo/0.0 args nil"]; + n_124 -> n_271 [id="[$e|210]", label="h/1.0Δfoo/0.0 args nil"]; + n_124 -> n_431 [id="[$e|123]", label="g/1.0Δfoo/0.0 args nil"]; + n_308 -> n_166 [id="[$e|18]", label="f/1.0Δfoo/0.0 args nil"]; + n_124 -> n_41 [id="[$e|488]", label="g/1.0Δfoo/0.0 args nil"]; + n_460 -> n_132 [id="[$e|313]", label="h/1.0Δfoo/0.0 args nil"]; + n_381 -> n_441 [id="[$e|186]", label="g/1.0Δfoo/0.0 args nil"]; + n_448 -> n_300 [id="[$e|122]", label="h/1.0Δfoo/0.0 args nil"]; + n_15 -> n_312 [id="[$e|72]", label="g/1.0Δfoo/0.0 args nil"]; + n_447 -> n_31 [id="[$e|148]", label="h/1.0Δfoo/0.0 args nil"]; + n_24 -> n_404 [id="[$e|382]", label="f/1.0Δfoo/0.0 args nil"]; + n_124 -> n_20 [id="[$e|271]", label="g/1.0Δfoo/0.0 args nil"]; + n_386 -> n_452 [id="[$e|491]", label="g/1.0Δfoo/0.0 args nil"]; + n_124 -> n_385 [id="[$e|17]", label="h/1.0Δfoo/0.0 args nil"]; + n_462 -> n_64 [id="[$e|355]", label="g/1.0Δfoo/0.0 args nil"]; + n_62 -> n_56 [id="[$e|258]", label="f/1.0Δfoo/0.0 args nil"]; + n_124 -> n_377 [id="[$e|360]", label="f/1.0Δfoo/0.0 args nil"]; + n_124 -> n_374 [id="[$e|356]", label="h/1.0Δfoo/0.0 args nil"]; + n_124 -> n_331 [id="[$e|15]", label="h/1.0Δfoo/0.0 args nil"]; + n_300 -> n_443 [id="[$e|268]", label="g/1.0Δfoo/0.0 args nil"]; + n_184 -> n_227 [id="[$e|379]", label="g/1.0Δfoo/0.0 args nil"]; + n_127 -> n_66 [id="[$e|368]", label="g/1.0Δfoo/0.0 args nil"]; + n_124 -> n_30 [id="[$e|397]", label="g/1.0Δfoo/0.0 args nil"]; + n_306 -> n_63 [id="[$e|283]", label="f/1.0Δfoo/0.0 args nil"]; + n_144 -> n_466 [id="[$e|291]", label="g/1.0Δfoo/0.0 args nil"]; + n_124 -> n_157 [id="[$e|131]", label="h/1.0Δfoo/0.0 args nil"]; + n_124 -> n_58 [id="[$e|69]", label="h/1.0Δfoo/0.0 args nil"]; + n_124 -> n_493 [id="[$e|347]", label="f/1.0Δfoo/0.0 args nil"]; + n_124 -> n_50 [id="[$e|413]", label="g/1.0Δfoo/0.0 args nil"]; + n_441 -> n_47 [id="[$e|341]", label="f/1.0Δfoo/0.0 args nil"]; + n_405 -> n_164 [id="[$e|167]", label="h/1.0Δfoo/0.0 args nil"]; + n_281 -> n_349 [id="[$e|321]", label="f/1.0Δfoo/0.0 args nil"]; + n_163 -> n_333 [id="[$e|393]", label="f/1.0Δfoo/0.0 args nil"]; + n_93 -> n_424 [id="[$e|85]", label="g/1.0Δfoo/0.0 args nil"]; + n_149 -> n_88 [id="[$e|130]", label="g/1.0Δfoo/0.0 args nil"]; + n_10 -> n_213 [id="[$e|336]", label="f/1.0Δfoo/0.0 args nil"]; + n_124 -> n_253 [id="[$e|282]", label="h/1.0Δfoo/0.0 args nil"]; + n_184 -> n_85 [id="[$e|101]", label="f/1.0Δfoo/0.0 args nil"]; + n_396 -> n_202 [id="[$e|100]", label="g/1.0Δfoo/0.0 args nil"]; + n_28 -> n_195 [id="[$e|174]", label="h/1.0Δfoo/0.0 args nil"]; + n_286 -> n_90 [id="[$e|319]", label="g/1.0Δfoo/0.0 args nil"]; + n_124 -> n_191 [id="[$e|375]", label="g/1.0Δfoo/0.0 args nil"]; + n_138 -> n_104 [id="[$e|458]", label="g/1.0Δfoo/0.0 args nil"]; + n_124 -> n_155 [id="[$e|364]", label="f/1.0Δfoo/0.0 args nil"]; + n_448 -> n_335 [id="[$e|266]", label="g/1.0Δfoo/0.0 args nil"]; + n_124 -> n_147 [id="[$e|200]", label="h/1.0Δfoo/0.0 args nil"]; + n_120 -> n_356 [id="[$e|435]", label="h/1.0Δfoo/0.0 args nil"]; + n_417 -> n_146 [id="[$e|306]", label="g/1.0Δfoo/0.0 args nil"]; + n_124 -> n_163 [id="[$e|245]", label="g/1.0Δfoo/0.0 args nil"]; + n_83 -> n_486 [id="[$e|198]", label="h/1.0Δfoo/0.0 args nil"]; + n_124 -> n_281 [id="[$e|172]", label="h/1.0Δfoo/0.0 args nil"]; + n_437 -> n_411 [id="[$e|159]", label="f/1.0Δfoo/0.0 args nil"]; + n_124 -> n_267 [id="[$e|423]", label="g/1.0Δfoo/0.0 args nil"]; + n_124 -> n_412 [id="[$e|117]", label="h/1.0Δfoo/0.0 args nil"]; + n_39 -> n_459 [id="[$e|471]", label="g/1.0Δfoo/0.0 args nil"]; + n_450 -> n_408 [id="[$e|67]", label="g/1.0Δfoo/0.0 args nil"]; + n_109 -> n_260 [id="[$e|49]", label="f/1.0Δfoo/0.0 args nil"]; + n_341 -> n_310 [id="[$e|237]", label="g/1.0Δfoo/0.0 args nil"]; + n_109 -> n_323 [id="[$e|50]", label="f/1.0Δfoo/0.0 args nil"]; + n_113 -> n_371 [id="[$e|371]", label="g/1.0Δfoo/0.0 args nil"]; + n_55 -> n_33 [id="[$e|287]", label="f/1.0Δfoo/0.0 args nil"]; + n_458 -> n_249 [id="[$e|193]", label="g/1.0Δfoo/0.0 args nil"]; + n_124 -> n_460 [id="[$e|312]", label="g/1.0Δfoo/0.0 args nil"]; + n_215 -> n_255 [id="[$e|112]", label="h/1.0Δfoo/0.0 args nil"]; + n_124 -> n_53 [id="[$e|70]", label="h/1.0Δfoo/0.0 args nil"]; + n_124 -> n_391 [id="[$e|278]", label="f/1.0Δfoo/0.0 args nil"]; + n_423 -> n_251 [id="[$e|80]", label="h/1.0Δfoo/0.0 args nil"]; + n_308 -> n_204 [id="[$e|19]", label="f/1.0Δfoo/0.0 args nil"]; + n_124 -> n_442 [id="[$e|21]", label="h/1.0Δfoo/0.0 args nil"]; + n_124 -> n_119 [id="[$e|343]", label="h/1.0Δfoo/0.0 args nil"]; + n_351 -> n_122 [id="[$e|134]", label="f/1.0Δfoo/0.0 args nil"]; + n_373 -> n_116 [id="[$e|244]", label="h/1.0Δfoo/0.0 args nil"]; + n_413 -> n_106 [id="[$e|334]", label="f/1.0Δfoo/0.0 args nil"]; + n_124 -> n_344 [id="[$e|5]", label="h/1.0Δfoo/0.0 args nil"]; + n_124 -> n_39 [id="[$e|366]", label="f/1.0Δfoo/0.0 args nil"]; + n_124 -> n_79 [id="[$e|83]", label="g/1.0Δfoo/0.0 args nil"]; + n_235 -> n_27 [id="[$e|388]", label="h/1.0Δfoo/0.0 args nil"]; + n_124 -> n_169 [id="[$e|181]", label="g/1.0Δfoo/0.0 args nil"]; + n_470 -> n_6 [id="[$e|152]", label="f/1.0Δfoo/0.0 args nil"]; + n_184 -> n_439 [id="[$e|106]", label="g/1.0Δfoo/0.0 args nil"]; + n_124 -> n_257 [id="[$e|32]", label="h/1.0Δfoo/0.0 args nil"]; + n_353 -> n_86 [id="[$e|447]", label="f/1.0Δfoo/0.0 args nil"]; + n_344 -> n_308 [id="[$e|6]", label="h/1.0Δfoo/0.0 args nil"]; + n_342 -> n_395 [id="[$e|476]", label="g/1.0Δfoo/0.0 args nil"]; + n_254 -> n_474 [id="[$e|408]", label="g/1.0Δfoo/0.0 args nil"]; + n_124 -> n_288 [id="[$e|264]", label="g/1.0Δfoo/0.0 args nil"]; + n_184 -> n_133 [id="[$e|228]", label="g/1.0Δfoo/0.0 args nil"]; + n_108 -> n_430 [id="[$e|207]", label="f/1.0Δfoo/0.0 args nil"]; + n_166 -> n_295 [id="[$e|162]", label="g/1.0Δfoo/0.0 args nil"]; + n_460 -> n_398 [id="[$e|429]", label="h/1.0Δfoo/0.0 args nil"]; + n_240 -> n_343 [id="[$e|96]", label="f/1.0Δfoo/0.0 args nil"]; + n_447 -> n_498 [id="[$e|54]", label="h/1.0Δfoo/0.0 args nil"]; + n_124 -> n_368 [id="[$e|389]", label="g/1.0Δfoo/0.0 args nil"]; + n_332 -> n_172 [id="[$e|0]", label="main/0.0Δf/1.0 args [3]"]; + n_30 -> n_403 [id="[$e|477]", label="f/1.0Δfoo/0.0 args nil"]; + n_124 -> n_426 [id="[$e|467]", label="g/1.0Δfoo/0.0 args nil"]; + n_152 -> n_197 [id="[$e|138]", label="f/1.0Δfoo/0.0 args nil"]; + n_124 -> n_397 [id="[$e|438]", label="f/1.0Δfoo/0.0 args nil"]; + n_138 -> n_101 [id="[$e|457]", label="g/1.0Δfoo/0.0 args nil"]; + n_351 -> n_68 [id="[$e|133]", label="f/1.0Δfoo/0.0 args nil"]; + n_263 -> n_307 [id="[$e|109]", label="g/1.0Δfoo/0.0 args nil"]; + n_431 -> n_481 [id="[$e|404]", label="f/1.0Δfoo/0.0 args nil"]; + n_462 -> n_165 [id="[$e|354]", label="f/1.0Δfoo/0.0 args nil"]; + n_124 -> n_205 [id="[$e|41]", label="h/1.0Δfoo/0.0 args nil"]; + n_228 -> n_479 [id="[$e|169]", label="h/1.0Δfoo/0.0 args nil"]; + n_184 -> n_87 [id="[$e|108]", label="f/1.0Δfoo/0.0 args nil"]; + n_4 -> n_128 [id="[$e|256]", label="g/1.0Δfoo/0.0 args nil"]; + n_34 -> n_82 [id="[$e|212]", label="f/1.0Δfoo/0.0 args nil"]; + n_184 -> n_196 [id="[$e|235]", label="g/1.0Δfoo/0.0 args nil"]; + n_124 -> n_488 [id="[$e|30]", label="h/1.0Δfoo/0.0 args nil"]; + n_124 -> n_263 [id="[$e|12]", label="h/1.0Δfoo/0.0 args nil"]; + n_124 -> n_373 [id="[$e|243]", label="h/1.0Δfoo/0.0 args nil"]; + n_163 -> n_494 [id="[$e|475]", label="f/1.0Δfoo/0.0 args nil"]; + n_372 -> n_46 [id="[$e|460]", label="g/1.0Δfoo/0.0 args nil"]; + n_124 -> n_28 [id="[$e|173]", label="h/1.0Δfoo/0.0 args nil"]; + n_431 -> n_284 [id="[$e|124]", label="h/1.0Δfoo/0.0 args nil"]; + n_124 -> n_102 [id="[$e|310]", label="g/1.0Δfoo/0.0 args nil"]; + n_216 -> n_243 [id="[$e|433]", label="h/1.0Δfoo/0.0 args nil"]; + n_279 -> n_427 [id="[$e|276]", label="h/1.0Δfoo/0.0 args nil"]; + n_124 -> n_276 [id="[$e|316]", label="h/1.0Δfoo/0.0 args nil"]; + n_124 -> n_400 [id="[$e|309]", label="g/1.0Δfoo/0.0 args nil"]; + n_471 -> n_75 [id="[$e|239]", label="f/1.0Δfoo/0.0 args nil"]; + n_281 -> n_286 [id="[$e|318]", label="g/1.0Δfoo/0.0 args nil"]; + n_316 -> n_113 [id="[$e|218]", label="f/1.0Δfoo/0.0 args nil"]; + n_340 -> n_294 [id="[$e|427]", label="g/1.0Δfoo/0.0 args nil"]; + n_184 -> n_250 [id="[$e|107]", label="f/1.0Δfoo/0.0 args nil"]; + n_124 -> n_141 [id="[$e|214]", label="h/1.0Δfoo/0.0 args nil"]; + n_184 -> n_161 [id="[$e|232]", label="g/1.0Δfoo/0.0 args nil"]; + n_124 -> n_138 [id="[$e|350]", label="h/1.0Δfoo/0.0 args nil"]; + n_97 -> n_274 [id="[$e|498]", label="g/1.0Δfoo/0.0 args nil"]; + n_434 -> n_446 [id="[$e|315]", label="h/1.0Δfoo/0.0 args nil"]; + n_124 -> n_386 [id="[$e|490]", label="f/1.0Δfoo/0.0 args nil"]; + n_124 -> n_436 [id="[$e|449]", label="f/1.0Δfoo/0.0 args nil"]; + n_124 -> n_34 [id="[$e|91]", label="h/1.0Δfoo/0.0 args nil"]; + n_108 -> n_193 [id="[$e|206]", label="f/1.0Δfoo/0.0 args nil"]; + n_124 -> n_256 [id="[$e|98]", label="h/1.0Δfoo/0.0 args nil"]; + n_124 -> n_162 [id="[$e|450]", label="g/1.0Δfoo/0.0 args nil"]; + n_124 -> n_259 [id="[$e|407]", label="f/1.0Δfoo/0.0 args nil"]; + n_124 -> n_265 [id="[$e|226]", label="g/1.0Δfoo/0.0 args nil"]; + n_370 -> n_16 [id="[$e|359]", label="f/1.0Δfoo/0.0 args nil"]; + n_348 -> n_201 [id="[$e|333]", label="h/1.0Δfoo/0.0 args nil"]; + n_417 -> n_327 [id="[$e|305]", label="g/1.0Δfoo/0.0 args nil"]; + n_269 -> n_69 [id="[$e|462]", label="g/1.0Δfoo/0.0 args nil"]; + n_308 -> n_107 [id="[$e|60]", label="f/1.0Δfoo/0.0 args nil"]; + n_59 -> n_52 [id="[$e|455]", label="g/1.0Δfoo/0.0 args nil"]; + n_124 -> n_401 [id="[$e|296]", label="g/1.0Δfoo/0.0 args nil"]; + n_124 -> n_240 [id="[$e|31]", label="h/1.0Δfoo/0.0 args nil"]; + n_124 -> n_405 [id="[$e|166]", label="g/1.0Δfoo/0.0 args nil"]; + n_308 -> n_211 [id="[$e|62]", label="g/1.0Δfoo/0.0 args nil"]; + n_124 -> n_188 [id="[$e|3]", label="h/1.0Δfoo/0.0 args nil"]; + n_124 -> n_187 [id="[$e|453]", label="f/1.0Δfoo/0.0 args nil"]; + n_124 -> n_470 [id="[$e|56]", label="h/1.0Δfoo/0.0 args nil"]; + n_124 -> n_21 [id="[$e|24]", label="h/1.0Δfoo/0.0 args nil"]; + n_124 -> n_291 [id="[$e|324]", label="g/1.0Δfoo/0.0 args nil"]; + n_457 -> n_57 [id="[$e|196]", label="h/1.0Δfoo/0.0 args nil"]; + n_124 -> n_419 [id="[$e|94]", label="h/1.0Δfoo/0.0 args nil"]; + n_43 -> n_328 [id="[$e|446]", label="g/1.0Δfoo/0.0 args nil"]; + n_263 -> n_100 [id="[$e|110]", label="g/1.0Δfoo/0.0 args nil"]; + n_124 -> n_32 [id="[$e|414]", label="f/1.0Δfoo/0.0 args nil"]; + n_124 -> n_5 [id="[$e|452]", label="f/1.0Δfoo/0.0 args nil"]; + n_184 -> n_399 [id="[$e|378]", label="g/1.0Δfoo/0.0 args nil"]; + n_163 -> n_313 [id="[$e|246]", label="h/1.0Δfoo/0.0 args nil"]; + n_78 -> n_210 [id="[$e|129]", label="f/1.0Δfoo/0.0 args nil"]; + n_205 -> n_463 [id="[$e|126]", label="g/1.0Δfoo/0.0 args nil"]; + n_254 -> n_81 [id="[$e|409]", label="g/1.0Δfoo/0.0 args nil"]; + n_437 -> n_175 [id="[$e|157]", label="g/1.0Δfoo/0.0 args nil"]; + n_21 -> n_242 [id="[$e|81]", label="g/1.0Δfoo/0.0 args nil"]; + n_124 -> n_270 [id="[$e|495]", label="g/1.0Δfoo/0.0 args nil"]; + n_124 -> n_444 [id="[$e|248]", label="f/1.0Δfoo/0.0 args nil"]; + n_11 -> n_296 [id="[$e|137]", label="h/1.0Δfoo/0.0 args nil"]; + n_108 -> n_49 [id="[$e|89]", label="f/1.0Δfoo/0.0 args nil"]; + n_124 -> n_83 [id="[$e|197]", label="g/1.0Δfoo/0.0 args nil"]; + n_357 -> n_221 [id="[$e|411]", label="g/1.0Δfoo/0.0 args nil"]; + n_444 -> n_143 [id="[$e|399]", label="g/1.0Δfoo/0.0 args nil"]; + n_26 -> n_383 [id="[$e|190]", label="g/1.0Δfoo/0.0 args nil"]; + n_124 -> n_109 [id="[$e|14]", label="h/1.0Δfoo/0.0 args nil"]; + n_462 -> n_372 [id="[$e|459]", label="f/1.0Δfoo/0.0 args nil"]; + n_124 -> n_258 [id="[$e|472]", label="g/1.0Δfoo/0.0 args nil"]; + n_142 -> n_348 [id="[$e|332]", label="g/1.0Δfoo/0.0 args nil"]; + n_124 -> n_199 [id="[$e|398]", label="f/1.0Δfoo/0.0 args nil"]; + n_462 -> n_269 [id="[$e|353]", label="f/1.0Δfoo/0.0 args nil"]; + n_72 -> n_280 [id="[$e|326]", label="f/1.0Δfoo/0.0 args nil"]; + n_26 -> n_74 [id="[$e|339]", label="f/1.0Δfoo/0.0 args nil"]; + n_124 -> n_457 [id="[$e|195]", label="g/1.0Δfoo/0.0 args nil"]; + n_163 -> n_325 [id="[$e|474]", label="f/1.0Δfoo/0.0 args nil"]; + n_124 -> n_272 [id="[$e|443]", label="g/1.0Δfoo/0.0 args nil"]; + n_184 -> n_130 [id="[$e|234]", label="f/1.0Δfoo/0.0 args nil"]; + n_316 -> n_410 [id="[$e|219]", label="g/1.0Δfoo/0.0 args nil"]; + n_385 -> n_2 [id="[$e|161]", label="g/1.0Δfoo/0.0 args nil"]; + n_124 -> n_73 [id="[$e|372]", label="f/1.0Δfoo/0.0 args nil"]; + n_124 -> n_189 [id="[$e|241]", label="h/1.0Δfoo/0.0 args nil"]; + n_496 -> n_12 [id="[$e|225]", label="g/1.0Δfoo/0.0 args nil"]; + n_447 -> n_461 [id="[$e|147]", label="h/1.0Δfoo/0.0 args nil"]; + n_437 -> n_492 [id="[$e|155]", label="g/1.0Δfoo/0.0 args nil"]; + n_124 -> n_26 [id="[$e|23]", label="h/1.0Δfoo/0.0 args nil"]; + n_437 -> n_387 [id="[$e|158]", label="f/1.0Δfoo/0.0 args nil"]; + n_124 -> n_148 [id="[$e|10]", label="h/1.0Δfoo/0.0 args nil"]; + n_26 -> n_36 [id="[$e|187]", label="f/1.0Δfoo/0.0 args nil"]; + n_45 -> n_311 [id="[$e|177]", label="h/1.0Δfoo/0.0 args nil"]; + n_396 -> n_181 [id="[$e|99]", label="g/1.0Δfoo/0.0 args nil"]; + n_490 -> n_96 [id="[$e|74]", label="h/1.0Δfoo/0.0 args nil"]; + n_182 -> n_264 [id="[$e|26]", label="g/1.0Δfoo/0.0 args nil"]; + n_188 -> n_394 [id="[$e|4]", label="h/1.0Δfoo/0.0 args nil"]; + n_420 -> n_367 [id="[$e|482]", label="g/1.0Δfoo/0.0 args nil"]; + n_124 -> n_282 [id="[$e|140]", label="h/1.0Δfoo/0.0 args nil"]; + n_124 -> n_112 [id="[$e|34]", label="h/1.0Δfoo/0.0 args nil"]; + n_447 -> n_145 [id="[$e|425]", label="g/1.0Δfoo/0.0 args nil"]; + n_437 -> n_51 [id="[$e|304]", label="g/1.0Δfoo/0.0 args nil"]; + n_124 -> n_4 [id="[$e|39]", label="h/1.0Δfoo/0.0 args nil"]; + n_184 -> n_455 [id="[$e|105]", label="f/1.0Δfoo/0.0 args nil"]; + n_340 -> n_378 [id="[$e|426]", label="g/1.0Δfoo/0.0 args nil"]; + n_157 -> n_321 [id="[$e|132]", label="h/1.0Δfoo/0.0 args nil"]; + n_475 -> n_38 [id="[$e|127]", label="g/1.0Δfoo/0.0 args nil"]; + n_21 -> n_123 [id="[$e|82]", label="g/1.0Δfoo/0.0 args nil"]; + n_475 -> n_19 [id="[$e|128]", label="g/1.0Δfoo/0.0 args nil"]; + n_26 -> n_458 [id="[$e|76]", label="f/1.0Δfoo/0.0 args nil"]; + n_276 -> n_449 [id="[$e|317]", label="h/1.0Δfoo/0.0 args nil"]; + n_124 -> n_97 [id="[$e|497]", label="f/1.0Δfoo/0.0 args nil"]; + n_379 -> n_360 [id="[$e|263]", label="h/1.0Δfoo/0.0 args nil"]; + n_291 -> n_60 [id="[$e|325]", label="h/1.0Δfoo/0.0 args nil"]; + n_124 -> n_158 [id="[$e|422]", label="g/1.0Δfoo/0.0 args nil"]; + n_437 -> n_261 [id="[$e|303]", label="g/1.0Δfoo/0.0 args nil"]; + n_124 -> n_317 [id="[$e|223]", label="f/1.0Δfoo/0.0 args nil"]; + n_124 -> n_114 [id="[$e|481]", label="g/1.0Δfoo/0.0 args nil"]; + n_460 -> n_456 [id="[$e|487]", label="f/1.0Δfoo/0.0 args nil"]; + n_212 -> n_482 [id="[$e|418]", label="f/1.0Δfoo/0.0 args nil"]; + n_484 -> n_192 [id="[$e|143]", label="f/1.0Δfoo/0.0 args nil"]; + n_14 -> n_229 [id="[$e|65]", label="h/1.0Δfoo/0.0 args nil"]; } diff --git a/examples/test/foo8/main_0_local_view.dot b/examples/test/foo8/main_0_local_view.dot index 307117f..4811e93 100644 --- a/examples/test/foo8/main_0_local_view.dot +++ b/examples/test/foo8/main_0_local_view.dot @@ -7,7 +7,7 @@ digraph main_0 { n_3 [id="3", shape=doublecircle, label="4"]; n_4 [id="2", shape=circle, label="2"]; - n_1 -> n_4 [id="[$e|1]", label="spawn f/1.0 args [3]"]; n_2 -> n_3 [id="[$e|0]", label="spawn h/1.0 args [stop]"]; n_4 -> n_2 [id="[$e|2]", label="spawn g/1.0 args [c]"]; + n_1 -> n_4 [id="[$e|1]", label="spawn f/1.0 args [3]"]; } diff --git a/examples/test/foo8/output.csv b/examples/test/foo8/output.csv new file mode 100644 index 0000000..9a6b3e4 --- /dev/null +++ b/examples/test/foo8/output.csv @@ -0,0 +1,13 @@ +line,29 +lv_foo/0_nodes,1 +lv_foo/0_edges,0 +lv_main/0_nodes,4 +lv_main/0_edges,3 +lv_g/1_nodes,2 +lv_g/1_edges,1 +lv_f/1_nodes,2 +lv_f/1_edges,1 +lv_h/1_nodes,2 +lv_h/1_edges,1 +gv_nodes,27 +gv_edges,95 diff --git a/examples/test/foo9/main_0_global_view.dot b/examples/test/foo9/main_0_global_view.dot index 9ddde97..f972562 100644 --- a/examples/test/foo9/main_0_global_view.dot +++ b/examples/test/foo9/main_0_global_view.dot @@ -7,7 +7,7 @@ digraph global { n_3 [id="3", shape=circle, label="3", fillcolor="#FF0000FF", style=filled]; n_4 [id="2", shape=circle, label="2", fillcolor="#FF0000FF", style=filled]; - n_1 -> n_3 [id="[$e|1]", label="main/0.0Δfoo/0.0 args nil"]; n_1 -> n_4 [id="[$e|0]", label="main/0.0Δfoo/0.0 args nil"]; n_1 -> n_2 [id="[$e|2]", label="main/0.0Δfoo/0.0 args nil"]; + n_1 -> n_3 [id="[$e|1]", label="main/0.0Δfoo/0.0 args nil"]; } diff --git a/examples/test/foo9/main_0_local_view.dot b/examples/test/foo9/main_0_local_view.dot index 33de575..310d72f 100644 --- a/examples/test/foo9/main_0_local_view.dot +++ b/examples/test/foo9/main_0_local_view.dot @@ -5,6 +5,6 @@ digraph main_0 { n_0 -> n_1 [arrowhead=none]; n_2 [id="2", shape=doublecircle, label="2"]; - n_1 -> n_2 [id="[$e|1]", label="foo/0.0 ! ok"]; n_1 -> n_2 [id="[$e|2]", label="spawn foo/0.0 args nil"]; + n_1 -> n_2 [id="[$e|1]", label="foo/0.0 ! ok"]; } diff --git a/examples/test/foo9/output.csv b/examples/test/foo9/output.csv new file mode 100644 index 0000000..0510f01 --- /dev/null +++ b/examples/test/foo9/output.csv @@ -0,0 +1,11 @@ +line,14 +lv_foo/0_nodes,2 +lv_foo/0_edges,1 +lv_main/0_nodes,2 +lv_main/0_edges,2 +lv_g/1_nodes,2 +lv_g/1_edges,1 +lv_f/1_nodes,2 +lv_f/1_edges,1 +gv_nodes,2 +gv_edges,3 diff --git a/examples/test/foo9b/g_2_local_view.dot b/examples/test/foo9b/g_2_local_view.dot index 75280ea..847a017 100644 --- a/examples/test/foo9b/g_2_local_view.dot +++ b/examples/test/foo9b/g_2_local_view.dot @@ -5,6 +5,6 @@ digraph g_2 { n_0 -> n_1 [arrowhead=none]; n_2 [id="2", shape=doublecircle, label="2"]; - n_1 -> n_1 [id="[$e|4]", label="foo/0.0 ! 3"]; n_1 -> n_2 [id="[$e|0]", label="S ! 0"]; + n_1 -> n_1 [id="[$e|4]", label="foo/0.0 ! 3"]; } diff --git a/examples/test/foo9b/main_0_global_view.dot b/examples/test/foo9b/main_0_global_view.dot index 9be1804..645af6d 100644 --- a/examples/test/foo9b/main_0_global_view.dot +++ b/examples/test/foo9b/main_0_global_view.dot @@ -7,8 +7,8 @@ digraph global { n_3 [id="3", shape=circle, label="3", fillcolor="#FF0000FF", style=filled]; n_4 [id="2", shape=circle, label="2"]; - n_2 -> n_3 [id="[$e|3]", label="main/0.0→foo/0.0:3"]; - n_4 -> n_3 [id="[$e|1]", label="main/0.0→foo/0.0:3"]; n_1 -> n_4 [id="[$e|0]", label="main/0.0Δfoo/0.0 args nil"]; + n_2 -> n_3 [id="[$e|3]", label="main/0.0→foo/0.0:3"]; n_4 -> n_2 [id="[$e|2]", label="main/0.0→foo/0.0:3"]; + n_4 -> n_3 [id="[$e|1]", label="main/0.0→foo/0.0:3"]; } diff --git a/examples/test/foo9b/main_0_local_view.dot b/examples/test/foo9b/main_0_local_view.dot index 216bfbf..556a056 100644 --- a/examples/test/foo9b/main_0_local_view.dot +++ b/examples/test/foo9b/main_0_local_view.dot @@ -8,9 +8,9 @@ digraph main_0 { n_4 [id="5", shape=circle, label="2"]; n_2 -> n_3 [id="[$e|7]", label="S ! 0"]; - n_2 -> n_2 [id="[$e|4]", label="foo/0.0 ! 3"]; n_4 -> n_3 [id="[$e|5]", label="Pid ! ok"]; n_4 -> n_3 [id="[$e|6]", label="S ! 0"]; n_4 -> n_2 [id="[$e|0]", label="foo/0.0 ! 3"]; n_1 -> n_4 [id="[$e|2]", label="spawn foo/0.0 args nil"]; + n_2 -> n_2 [id="[$e|4]", label="foo/0.0 ! 3"]; } diff --git a/examples/test/foo9b/output.csv b/examples/test/foo9b/output.csv new file mode 100644 index 0000000..da1f203 --- /dev/null +++ b/examples/test/foo9b/output.csv @@ -0,0 +1,11 @@ +line,21 +lv_foo/0_nodes,2 +lv_foo/0_edges,2 +lv_main/0_nodes,4 +lv_main/0_edges,6 +lv_f/1_nodes,2 +lv_f/1_edges,1 +lv_g/2_nodes,2 +lv_g/2_edges,2 +gv_nodes,4 +gv_edges,4 diff --git a/examples/test/foo9c/f_2_local_view.dot b/examples/test/foo9c/f_2_local_view.dot index e7c8619..c8d1deb 100644 --- a/examples/test/foo9c/f_2_local_view.dot +++ b/examples/test/foo9c/f_2_local_view.dot @@ -5,6 +5,6 @@ digraph f_2 { n_0 -> n_1 [arrowhead=none]; n_2 [id="3", shape=doublecircle, label="2"]; - n_1 -> n_2 [id="[$e|1]", label="foo/0.0 ! 0"]; n_1 -> n_1 [id="[$e|4]", label="foo/0.0 ! 3"]; + n_1 -> n_2 [id="[$e|1]", label="foo/0.0 ! 0"]; } diff --git a/examples/test/foo9c/main_0_global_view.dot b/examples/test/foo9c/main_0_global_view.dot index 6489d56..6f97808 100644 --- a/examples/test/foo9c/main_0_global_view.dot +++ b/examples/test/foo9c/main_0_global_view.dot @@ -1,31 +1,31 @@ digraph global { rankdir="LR"; n_0 [label="global", shape="plaintext"]; - n_1 [id="9", shape=circle, label="9"]; - n_2 [id="8", shape=doublecircle, label="8"]; + n_1 [id="9", shape=doublecircle, label="9"]; + n_2 [id="8", shape=circle, label="8"]; n_3 [id="1", shape=circle, label="1"]; n_0 -> n_3 [arrowhead=none]; n_4 [id="7", shape=doublecircle, label="7"]; - n_5 [id="4", shape=doublecircle, label="4"]; + n_5 [id="4", shape=circle, label="4"]; n_6 [id="6", shape=circle, label="6"]; n_7 [id="3", shape=circle, label="3"]; n_8 [id="2", shape=circle, label="2"]; n_9 [id="10", shape=doublecircle, label="10"]; - n_10 [id="5", shape=circle, label="5"]; + n_10 [id="5", shape=doublecircle, label="5"]; - n_1 -> n_10 [id="[$e|12]", label="main/0.0→foo/0.0:3"]; - n_8 -> n_7 [id="[$e|1]", label="main/0.0→foo/0.0:0"]; - n_6 -> n_9 [id="[$e|11]", label="main/0.0→foo/0.0:ok"]; - n_1 -> n_6 [id="[$e|13]", label="main/0.0→foo/0.0:0"]; - n_10 -> n_5 [id="[$e|9]", label="main/0.0→foo/0.0:ok"]; - n_7 -> n_2 [id="[$e|6]", label="main/0.0→foo/0.0:ok"]; - n_8 -> n_6 [id="[$e|4]", label="main/0.0→foo/0.0:0"]; - n_1 -> n_4 [id="[$e|14]", label="main/0.0→foo/0.0:ok"]; - n_10 -> n_7 [id="[$e|8]", label="main/0.0→foo/0.0:0"]; - n_8 -> n_1 [id="[$e|7]", label="main/0.0→foo/0.0:3"]; - n_8 -> n_10 [id="[$e|3]", label="main/0.0→foo/0.0:3"]; - n_8 -> n_5 [id="[$e|2]", label="main/0.0→foo/0.0:ok"]; + n_7 -> n_5 [id="[$e|8]", label="main/0.0→foo/0.0:0"]; + n_2 -> n_6 [id="[$e|13]", label="main/0.0→foo/0.0:0"]; + n_7 -> n_2 [id="[$e|7]", label="main/0.0→foo/0.0:3"]; + n_5 -> n_1 [id="[$e|11]", label="main/0.0→foo/0.0:ok"]; + n_8 -> n_5 [id="[$e|2]", label="main/0.0→foo/0.0:0"]; n_3 -> n_8 [id="[$e|0]", label="main/0.0Δfoo/0.0 args nil"]; + n_8 -> n_6 [id="[$e|4]", label="main/0.0→foo/0.0:0"]; n_8 -> n_4 [id="[$e|5]", label="main/0.0→foo/0.0:ok"]; - n_6 -> n_7 [id="[$e|10]", label="main/0.0→foo/0.0:3"]; + n_7 -> n_10 [id="[$e|9]", label="main/0.0→foo/0.0:ok"]; + n_6 -> n_9 [id="[$e|12]", label="main/0.0→foo/0.0:ok"]; + n_8 -> n_2 [id="[$e|6]", label="main/0.0→foo/0.0:3"]; + n_5 -> n_5 [id="[$e|10]", label="main/0.0→foo/0.0:3"]; + n_8 -> n_7 [id="[$e|1]", label="main/0.0→foo/0.0:3"]; + n_2 -> n_4 [id="[$e|14]", label="main/0.0→foo/0.0:ok"]; + n_8 -> n_10 [id="[$e|3]", label="main/0.0→foo/0.0:ok"]; } diff --git a/examples/test/foo9c/main_0_local_view.dot b/examples/test/foo9c/main_0_local_view.dot index 9f52a4a..e6ee4d9 100644 --- a/examples/test/foo9c/main_0_local_view.dot +++ b/examples/test/foo9c/main_0_local_view.dot @@ -7,8 +7,8 @@ digraph main_0 { n_3 [id="3", shape=doublecircle, label="4"]; n_4 [id="2", shape=circle, label="2"]; - n_2 -> n_3 [id="[$e|1]", label="foo/0.0 ! ok"]; n_4 -> n_4 [id="[$e|7]", label="foo/0.0 ! 3"]; - n_4 -> n_2 [id="[$e|3]", label="foo/0.0 ! 0"]; n_1 -> n_4 [id="[$e|0]", label="spawn foo/0.0 args nil"]; + n_2 -> n_3 [id="[$e|1]", label="foo/0.0 ! ok"]; + n_4 -> n_2 [id="[$e|3]", label="foo/0.0 ! 0"]; } diff --git a/examples/test/foo9c/output.csv b/examples/test/foo9c/output.csv new file mode 100644 index 0000000..d49ed47 --- /dev/null +++ b/examples/test/foo9c/output.csv @@ -0,0 +1,9 @@ +line,15 +lv_foo/0_nodes,2 +lv_foo/0_edges,2 +lv_main/0_nodes,4 +lv_main/0_edges,4 +lv_f/2_nodes,2 +lv_f/2_edges,2 +gv_nodes,6 +gv_edges,11 diff --git a/examples/test/foo9d/foo_0_local_view.dot b/examples/test/foo9d/foo_0_local_view.dot index a32a2b7..c35d6d0 100644 --- a/examples/test/foo9d/foo_0_local_view.dot +++ b/examples/test/foo9d/foo_0_local_view.dot @@ -5,6 +5,6 @@ digraph foo_0 { n_0 -> n_1 [arrowhead=none]; n_2 [id="3", shape=doublecircle, label="2"]; - n_1 -> n_2 [id="[$e|1]", label="0#receive stop"]; n_1 -> n_1 [id="[$e|5]", label="1#receive _"]; + n_1 -> n_2 [id="[$e|1]", label="0#receive stop"]; } diff --git a/examples/test/foo9d/output.csv b/examples/test/foo9d/output.csv new file mode 100644 index 0000000..ebfed71 --- /dev/null +++ b/examples/test/foo9d/output.csv @@ -0,0 +1,9 @@ +line,16 +lv_foo/0_nodes,2 +lv_foo/0_edges,2 +lv_main/0_nodes,3 +lv_main/0_edges,2 +lv_f/2_nodes,2 +lv_f/2_edges,1 +gv_nodes,3 +gv_edges,2 diff --git a/examples/test/foo9e/f_1_local_view.dot b/examples/test/foo9e/f_1_local_view.dot index f8c74fa..f04fe49 100644 --- a/examples/test/foo9e/f_1_local_view.dot +++ b/examples/test/foo9e/f_1_local_view.dot @@ -6,8 +6,8 @@ digraph f_1 { n_2 [id="3", shape=circle, label="2"]; n_3 [id="2", shape=doublecircle, label="3"]; - n_1 -> n_2 [id="[$e|0]", label="foo/0.0 ! msg1"]; + n_2 -> n_3 [id="[$e|7]", label="spawn foo/0.2 args nil"]; n_1 -> n_2 [id="[$e|8]", label="spawn foo/0.1 args nil"]; + n_1 -> n_2 [id="[$e|0]", label="foo/0.0 ! msg1"]; n_2 -> n_3 [id="[$e|1]", label="foo/0.0 ! msg2"]; - n_2 -> n_3 [id="[$e|7]", label="spawn foo/0.2 args nil"]; } diff --git a/examples/test/foo9e/foo_0_local_view.dot b/examples/test/foo9e/foo_0_local_view.dot index 55b2a6d..5004b19 100644 --- a/examples/test/foo9e/foo_0_local_view.dot +++ b/examples/test/foo9e/foo_0_local_view.dot @@ -5,6 +5,6 @@ digraph foo_0 { n_0 -> n_1 [arrowhead=none]; n_2 [id="3", shape=doublecircle, label="2"]; - n_1 -> n_2 [id="[$e|2]", label="0#receive ok"]; n_1 -> n_1 [id="[$e|5]", label="1#receive _"]; + n_1 -> n_2 [id="[$e|2]", label="0#receive ok"]; } diff --git a/examples/test/foo9e/h_2_local_view.dot b/examples/test/foo9e/h_2_local_view.dot index 3dea43d..713bceb 100644 --- a/examples/test/foo9e/h_2_local_view.dot +++ b/examples/test/foo9e/h_2_local_view.dot @@ -5,6 +5,6 @@ digraph h_2 { n_0 -> n_1 [arrowhead=none]; n_2 [id="2", shape=doublecircle, label="2"]; - n_1 -> n_2 [id="[$e|2]", label="spawn foo/0.2 args nil"]; n_1 -> n_2 [id="[$e|1]", label="foo/0.0 ! msg2"]; + n_1 -> n_2 [id="[$e|2]", label="spawn foo/0.2 args nil"]; } diff --git a/examples/test/foo9e/main_0_global_view.dot b/examples/test/foo9e/main_0_global_view.dot index bdbabdc..5ad8854 100644 --- a/examples/test/foo9e/main_0_global_view.dot +++ b/examples/test/foo9e/main_0_global_view.dot @@ -18,17 +18,17 @@ digraph global { n_14 [id="5", shape=circle, label="5"]; n_11 -> n_1 [id="[$e|13]", label="main/0.0→foo/0.0:ok"]; - n_4 -> n_10 [id="[$e|0]", label="main/0.0Δfoo/0.0 args nil"]; - n_10 -> n_9 [id="[$e|11]", label="main/0.0→foo/0.0:ok"]; n_14 -> n_7 [id="[$e|4]", label="main/0.0→foo/0.0:msg2"]; - n_10 -> n_6 [id="[$e|2]", label="main/0.0→foo/0.0:msg2"]; - n_6 -> n_2 [id="[$e|8]", label="main/0.0→foo/0.0:msg1"]; + n_14 -> n_12 [id="[$e|9]", label="main/0.0Δfoo/0.2 args nil"]; + n_10 -> n_11 [id="[$e|10]", label="main/0.0→foo/0.0:msg1"]; n_10 -> n_5 [id="[$e|5]", label="main/0.0Δfoo/0.2 args nil"]; n_5 -> n_3 [id="[$e|6]", label="main/0.0→foo/0.0:msg1"]; - n_10 -> n_8 [id="[$e|1]", label="main/0.0→foo/0.0:msg1"]; - n_10 -> n_11 [id="[$e|10]", label="main/0.0→foo/0.0:msg1"]; - n_10 -> n_14 [id="[$e|3]", label="main/0.0Δfoo/0.1 args nil"]; + n_10 -> n_9 [id="[$e|11]", label="main/0.0→foo/0.0:ok"]; n_8 -> n_2 [id="[$e|7]", label="main/0.0→foo/0.0:msg2"]; + n_6 -> n_2 [id="[$e|8]", label="main/0.0→foo/0.0:msg1"]; n_14 -> n_13 [id="[$e|12]", label="main/0.0→foo/0.0:ok"]; - n_14 -> n_12 [id="[$e|9]", label="main/0.0Δfoo/0.2 args nil"]; + n_4 -> n_10 [id="[$e|0]", label="main/0.0Δfoo/0.0 args nil"]; + n_10 -> n_14 [id="[$e|3]", label="main/0.0Δfoo/0.1 args nil"]; + n_10 -> n_8 [id="[$e|1]", label="main/0.0→foo/0.0:msg1"]; + n_10 -> n_6 [id="[$e|2]", label="main/0.0→foo/0.0:msg2"]; } diff --git a/examples/test/foo9e/main_0_local_view.dot b/examples/test/foo9e/main_0_local_view.dot index 23d813f..7dfd2e6 100644 --- a/examples/test/foo9e/main_0_local_view.dot +++ b/examples/test/foo9e/main_0_local_view.dot @@ -7,10 +7,10 @@ digraph main_0 { n_3 [id="3", shape=doublecircle, label="4"]; n_4 [id="2", shape=circle, label="3"]; - n_4 -> n_3 [id="[$e|11]", label="foo/0.0 ! ok"]; n_1 -> n_2 [id="[$e|4]", label="spawn foo/0.0 args nil"]; + n_2 -> n_4 [id="[$e|9]", label="spawn foo/0.1 args nil"]; n_4 -> n_3 [id="[$e|6]", label="foo/0.0 ! msg2"]; - n_2 -> n_4 [id="[$e|3]", label="foo/0.0 ! msg1"]; + n_4 -> n_3 [id="[$e|11]", label="foo/0.0 ! ok"]; n_4 -> n_3 [id="[$e|12]", label="spawn foo/0.2 args nil"]; - n_2 -> n_4 [id="[$e|9]", label="spawn foo/0.1 args nil"]; + n_2 -> n_4 [id="[$e|3]", label="foo/0.0 ! msg1"]; } diff --git a/examples/test/foo9e/output.csv b/examples/test/foo9e/output.csv new file mode 100644 index 0000000..1ec1ef5 --- /dev/null +++ b/examples/test/foo9e/output.csv @@ -0,0 +1,13 @@ +line,24 +lv_foo/0_nodes,2 +lv_foo/0_edges,2 +lv_main/0_nodes,4 +lv_main/0_edges,6 +lv_h/2_nodes,2 +lv_h/2_edges,2 +lv_f/1_nodes,3 +lv_f/1_edges,4 +lv_g/2_nodes,2 +lv_g/2_edges,2 +gv_nodes,9 +gv_edges,13 diff --git a/examples/test/foo9f/f_1_local_view.dot b/examples/test/foo9f/f_1_local_view.dot index 200641c..60e42a6 100644 --- a/examples/test/foo9f/f_1_local_view.dot +++ b/examples/test/foo9f/f_1_local_view.dot @@ -7,6 +7,6 @@ digraph f_1 { n_1 -> n_2 [id="[$e|5]", label="spawn foo/0.2 args nil"]; n_1 -> n_2 [id="[$e|6]", label="foo/0.0 ! msg1"]; - n_1 -> n_2 [id="[$e|3]", label="foo/0.0 ! msg2"]; n_1 -> n_2 [id="[$e|7]", label="spawn foo/0.1 args nil"]; + n_1 -> n_2 [id="[$e|3]", label="foo/0.0 ! msg2"]; } diff --git a/examples/test/foo9f/foo_0_local_view.dot b/examples/test/foo9f/foo_0_local_view.dot index 55b2a6d..5004b19 100644 --- a/examples/test/foo9f/foo_0_local_view.dot +++ b/examples/test/foo9f/foo_0_local_view.dot @@ -5,6 +5,6 @@ digraph foo_0 { n_0 -> n_1 [arrowhead=none]; n_2 [id="3", shape=doublecircle, label="2"]; - n_1 -> n_2 [id="[$e|2]", label="0#receive ok"]; n_1 -> n_1 [id="[$e|5]", label="1#receive _"]; + n_1 -> n_2 [id="[$e|2]", label="0#receive ok"]; } diff --git a/examples/test/foo9f/h_2_local_view.dot b/examples/test/foo9f/h_2_local_view.dot index 3dea43d..713bceb 100644 --- a/examples/test/foo9f/h_2_local_view.dot +++ b/examples/test/foo9f/h_2_local_view.dot @@ -5,6 +5,6 @@ digraph h_2 { n_0 -> n_1 [arrowhead=none]; n_2 [id="2", shape=doublecircle, label="2"]; - n_1 -> n_2 [id="[$e|2]", label="spawn foo/0.2 args nil"]; n_1 -> n_2 [id="[$e|1]", label="foo/0.0 ! msg2"]; + n_1 -> n_2 [id="[$e|2]", label="spawn foo/0.2 args nil"]; } diff --git a/examples/test/foo9f/main_0_global_view.dot b/examples/test/foo9f/main_0_global_view.dot index d92bce4..b3aae8b 100644 --- a/examples/test/foo9f/main_0_global_view.dot +++ b/examples/test/foo9f/main_0_global_view.dot @@ -10,10 +10,10 @@ digraph global { n_6 [id="2", shape=circle, label="2"]; n_7 [id="5", shape=circle, label="5", fillcolor="#FF0000FF", style=filled]; - n_1 -> n_6 [id="[$e|0]", label="main/0.0Δfoo/0.0 args nil"]; - n_6 -> n_4 [id="[$e|4]", label="main/0.0Δfoo/0.2 args nil"]; - n_6 -> n_3 [id="[$e|2]", label="main/0.0→foo/0.0:msg2"]; + n_6 -> n_4 [id="[$e|4]", label="main/0.0Δfoo/0.1 args nil"]; n_6 -> n_2 [id="[$e|5]", label="main/0.0→foo/0.0:ok"]; - n_6 -> n_5 [id="[$e|1]", label="main/0.0→foo/0.0:msg1"]; - n_6 -> n_7 [id="[$e|3]", label="main/0.0Δfoo/0.1 args nil"]; + n_1 -> n_6 [id="[$e|0]", label="main/0.0Δfoo/0.0 args nil"]; + n_6 -> n_7 [id="[$e|3]", label="main/0.0Δfoo/0.2 args nil"]; + n_6 -> n_5 [id="[$e|1]", label="main/0.0→foo/0.0:msg2"]; + n_6 -> n_3 [id="[$e|2]", label="main/0.0→foo/0.0:msg1"]; } diff --git a/examples/test/foo9f/main_0_local_view.dot b/examples/test/foo9f/main_0_local_view.dot index 3e89f51..6d97c99 100644 --- a/examples/test/foo9f/main_0_local_view.dot +++ b/examples/test/foo9f/main_0_local_view.dot @@ -6,9 +6,9 @@ digraph main_0 { n_2 [id="2", shape=doublecircle, label="3"]; n_3 [id="5", shape=circle, label="2"]; - n_3 -> n_2 [id="[$e|8]", label="spawn foo/0.2 args nil"]; - n_3 -> n_2 [id="[$e|5]", label="spawn foo/0.1 args nil"]; n_3 -> n_2 [id="[$e|10]", label="foo/0.0 ! msg1"]; - n_1 -> n_3 [id="[$e|3]", label="spawn foo/0.0 args nil"]; + n_3 -> n_2 [id="[$e|5]", label="spawn foo/0.1 args nil"]; n_3 -> n_2 [id="[$e|7]", label="foo/0.0 ! msg2"]; + n_3 -> n_2 [id="[$e|8]", label="spawn foo/0.2 args nil"]; + n_1 -> n_3 [id="[$e|3]", label="spawn foo/0.0 args nil"]; } diff --git a/examples/test/foo9f/output.csv b/examples/test/foo9f/output.csv new file mode 100644 index 0000000..83030cb --- /dev/null +++ b/examples/test/foo9f/output.csv @@ -0,0 +1,13 @@ +line,25 +lv_foo/0_nodes,2 +lv_foo/0_edges,2 +lv_main/0_nodes,3 +lv_main/0_edges,5 +lv_h/2_nodes,2 +lv_h/2_edges,2 +lv_f/1_nodes,2 +lv_f/1_edges,4 +lv_g/2_nodes,2 +lv_g/2_edges,2 +gv_nodes,4 +gv_edges,6 diff --git a/examples/test/foo9g/f_1_local_view.dot b/examples/test/foo9g/f_1_local_view.dot index 413a3dc..34a9afb 100644 --- a/examples/test/foo9g/f_1_local_view.dot +++ b/examples/test/foo9g/f_1_local_view.dot @@ -6,8 +6,8 @@ digraph f_1 { n_2 [id="2", shape=circle, label="2"]; n_3 [id="5", shape=doublecircle, label="3"]; - n_1 -> n_2 [id="[$e|2]", label="foo/0.0 ! msg1"]; - n_2 -> n_2 [id="[$e|9]", label="foo/0.0 ! msg2"]; n_1 -> n_1 [id="[$e|10]", label="spawn foo/0.1 args nil"]; + n_2 -> n_2 [id="[$e|9]", label="foo/0.0 ! msg2"]; + n_1 -> n_2 [id="[$e|2]", label="foo/0.0 ! msg1"]; n_2 -> n_3 [id="[$e|1]", label="spawn foo/0.2 args nil"]; } diff --git a/examples/test/foo9g/foo_0_local_view.dot b/examples/test/foo9g/foo_0_local_view.dot index 55b2a6d..5004b19 100644 --- a/examples/test/foo9g/foo_0_local_view.dot +++ b/examples/test/foo9g/foo_0_local_view.dot @@ -5,6 +5,6 @@ digraph foo_0 { n_0 -> n_1 [arrowhead=none]; n_2 [id="3", shape=doublecircle, label="2"]; - n_1 -> n_2 [id="[$e|2]", label="0#receive ok"]; n_1 -> n_1 [id="[$e|5]", label="1#receive _"]; + n_1 -> n_2 [id="[$e|2]", label="0#receive ok"]; } diff --git a/examples/test/foo9g/g_2_local_view.dot b/examples/test/foo9g/g_2_local_view.dot index 586d350..e4ac6f3 100644 --- a/examples/test/foo9g/g_2_local_view.dot +++ b/examples/test/foo9g/g_2_local_view.dot @@ -5,6 +5,6 @@ digraph g_2 { n_0 -> n_1 [arrowhead=none]; n_2 [id="3", shape=doublecircle, label="2"]; - n_1 -> n_2 [id="[$e|2]", label="foo/0.0 ! msg1"]; n_1 -> n_1 [id="[$e|4]", label="spawn foo/0.1 args nil"]; + n_1 -> n_2 [id="[$e|2]", label="foo/0.0 ! msg1"]; } diff --git a/examples/test/foo9g/h_2_local_view.dot b/examples/test/foo9g/h_2_local_view.dot index e53ad0b..6a6afe7 100644 --- a/examples/test/foo9g/h_2_local_view.dot +++ b/examples/test/foo9g/h_2_local_view.dot @@ -5,6 +5,6 @@ digraph h_2 { n_0 -> n_1 [arrowhead=none]; n_2 [id="3", shape=doublecircle, label="2"]; - n_1 -> n_2 [id="[$e|2]", label="spawn foo/0.2 args nil"]; n_1 -> n_1 [id="[$e|5]", label="foo/0.0 ! msg2"]; + n_1 -> n_2 [id="[$e|2]", label="spawn foo/0.2 args nil"]; } diff --git a/examples/test/foo9g/main_0_global_view.dot b/examples/test/foo9g/main_0_global_view.dot index 3b15c7b..806d58f 100644 --- a/examples/test/foo9g/main_0_global_view.dot +++ b/examples/test/foo9g/main_0_global_view.dot @@ -47,87 +47,87 @@ digraph global { n_43 [id="32", shape=circle, label="32"]; n_44 [id="29", shape=circle, label="29", fillcolor="#FF0000FF", style=filled]; - n_7 -> n_36 [id="[$e|8]", label="main/0.0→foo/0.0:msg1"]; - n_37 -> n_35 [id="[$e|75]", label="main/0.0→foo/0.0:msg1"]; - n_21 -> n_12 [id="[$e|31]", label="main/0.0→foo/0.0:msg1"]; - n_5 -> n_35 [id="[$e|13]", label="main/0.0→foo/0.0:msg1"]; - n_8 -> n_3 [id="[$e|65]", label="main/0.0Δfoo/0.2 args nil"]; - n_3 -> n_37 [id="[$e|67]", label="main/0.0→foo/0.0:msg2"]; n_8 -> n_6 [id="[$e|69]", label="main/0.0→foo/0.0:msg2"]; - n_41 -> n_2 [id="[$e|39]", label="main/0.0→foo/0.0:ok"]; - n_27 -> n_8 [id="[$e|26]", label="main/0.0→foo/0.0:msg2"]; - n_32 -> n_33 [id="[$e|20]", label="main/0.0→foo/0.0:msg2"]; - n_32 -> n_41 [id="[$e|19]", label="main/0.0→foo/0.0:msg1"]; + n_32 -> n_28 [id="[$e|10]", label="main/0.0→foo/0.0:msg1"]; + n_1 -> n_34 [id="[$e|73]", label="main/0.0→foo/0.0:msg2"]; + n_26 -> n_35 [id="[$e|45]", label="main/0.0→foo/0.0:msg1"]; + n_43 -> n_36 [id="[$e|36]", label="main/0.0→foo/0.0:msg1"]; + n_27 -> n_15 [id="[$e|15]", label="main/0.0→foo/0.0:msg1"]; n_8 -> n_44 [id="[$e|70]", label="main/0.0→foo/0.0:ok"]; - n_32 -> n_7 [id="[$e|7]", label="main/0.0Δfoo/0.2 args nil"]; - n_26 -> n_21 [id="[$e|46]", label="main/0.0→foo/0.0:msg2"]; + n_27 -> n_8 [id="[$e|26]", label="main/0.0→foo/0.0:msg2"]; + n_23 -> n_41 [id="[$e|53]", label="main/0.0→foo/0.0:msg2"]; + n_40 -> n_6 [id="[$e|81]", label="main/0.0→foo/0.0:msg2"]; + n_6 -> n_29 [id="[$e|50]", label="main/0.0→foo/0.0:ok"]; + n_19 -> n_22 [id="[$e|48]", label="main/0.0→foo/0.0:ok"]; + n_27 -> n_17 [id="[$e|5]", label="main/0.0Δfoo/0.2 args nil"]; n_33 -> n_28 [id="[$e|40]", label="main/0.0→foo/0.0:msg1"]; - n_27 -> n_6 [id="[$e|28]", label="main/0.0→foo/0.0:msg2"]; - n_41 -> n_28 [id="[$e|38]", label="main/0.0→foo/0.0:msg2"]; - n_43 -> n_36 [id="[$e|36]", label="main/0.0→foo/0.0:msg1"]; - n_11 -> n_36 [id="[$e|56]", label="main/0.0→foo/0.0:msg1"]; n_23 -> n_13 [id="[$e|51]", label="main/0.0Δfoo/0.2 args nil"]; + n_23 -> n_2 [id="[$e|54]", label="main/0.0→foo/0.0:ok"]; + n_4 -> n_35 [id="[$e|43]", label="main/0.0→foo/0.0:msg2"]; + n_17 -> n_12 [id="[$e|6]", label="main/0.0→foo/0.0:msg1"]; + n_7 -> n_36 [id="[$e|8]", label="main/0.0→foo/0.0:msg1"]; + n_10 -> n_19 [id="[$e|63]", label="main/0.0→foo/0.0:msg2"]; + n_42 -> n_33 [id="[$e|78]", label="main/0.0→foo/0.0:msg2"]; n_30 -> n_41 [id="[$e|58]", label="main/0.0→foo/0.0:msg1"]; - n_33 -> n_38 [id="[$e|41]", label="main/0.0→foo/0.0:ok"]; + n_32 -> n_33 [id="[$e|20]", label="main/0.0→foo/0.0:msg2"]; + n_9 -> n_35 [id="[$e|62]", label="main/0.0→foo/0.0:msg2"]; + n_40 -> n_19 [id="[$e|80]", label="main/0.0→foo/0.0:msg1"]; n_23 -> n_18 [id="[$e|33]", label="main/0.0Δfoo/0.2 args nil"]; + n_27 -> n_29 [id="[$e|16]", label="main/0.0→foo/0.0:ok"]; + n_7 -> n_34 [id="[$e|9]", label="main/0.0→foo/0.0:msg2"]; + n_32 -> n_31 [id="[$e|21]", label="main/0.0→foo/0.0:ok"]; n_32 -> n_38 [id="[$e|11]", label="main/0.0→foo/0.0:ok"]; - n_18 -> n_36 [id="[$e|34]", label="main/0.0→foo/0.0:msg2"]; + n_26 -> n_21 [id="[$e|46]", label="main/0.0→foo/0.0:msg2"]; + n_3 -> n_35 [id="[$e|66]", label="main/0.0→foo/0.0:msg1"]; + n_32 -> n_23 [id="[$e|17]", label="main/0.0→foo/0.0:msg1"]; + n_32 -> n_39 [id="[$e|3]", label="main/0.0Δfoo/0.2 args nil"]; + n_42 -> n_31 [id="[$e|79]", label="main/0.0→foo/0.0:ok"]; + n_30 -> n_43 [id="[$e|35]", label="main/0.0Δfoo/0.2 args nil"]; + n_37 -> n_35 [id="[$e|75]", label="main/0.0→foo/0.0:msg1"]; + n_39 -> n_25 [id="[$e|4]", label="main/0.0→foo/0.0:msg1"]; n_27 -> n_24 [id="[$e|2]", label="main/0.0Δfoo/0.1 args nil"]; - n_10 -> n_19 [id="[$e|63]", label="main/0.0→foo/0.0:msg2"]; - n_1 -> n_34 [id="[$e|73]", label="main/0.0→foo/0.0:msg2"]; - n_37 -> n_21 [id="[$e|76]", label="main/0.0→foo/0.0:msg2"]; - n_9 -> n_35 [id="[$e|62]", label="main/0.0→foo/0.0:msg2"]; - n_11 -> n_1 [id="[$e|57]", label="main/0.0→foo/0.0:msg2"]; - n_16 -> n_32 [id="[$e|0]", label="main/0.0Δfoo/0.0 args nil"]; + n_15 -> n_20 [id="[$e|32]", label="main/0.0→foo/0.0:ok"]; + n_28 -> n_14 [id="[$e|24]", label="main/0.0→foo/0.0:ok"]; + n_41 -> n_28 [id="[$e|38]", label="main/0.0→foo/0.0:msg2"]; + n_5 -> n_35 [id="[$e|13]", label="main/0.0→foo/0.0:msg1"]; + n_32 -> n_41 [id="[$e|19]", label="main/0.0→foo/0.0:msg1"]; + n_5 -> n_21 [id="[$e|14]", label="main/0.0→foo/0.0:msg2"]; + n_27 -> n_44 [id="[$e|29]", label="main/0.0→foo/0.0:ok"]; + n_36 -> n_25 [id="[$e|22]", label="main/0.0→foo/0.0:msg2"]; + n_27 -> n_6 [id="[$e|28]", label="main/0.0→foo/0.0:msg2"]; + n_41 -> n_2 [id="[$e|39]", label="main/0.0→foo/0.0:ok"]; + n_42 -> n_41 [id="[$e|77]", label="main/0.0→foo/0.0:msg1"]; + n_32 -> n_7 [id="[$e|7]", label="main/0.0Δfoo/0.2 args nil"]; n_13 -> n_36 [id="[$e|52]", label="main/0.0→foo/0.0:msg2"]; - n_32 -> n_30 [id="[$e|18]", label="main/0.0→foo/0.0:msg2"]; - n_39 -> n_25 [id="[$e|4]", label="main/0.0→foo/0.0:msg1"]; - n_30 -> n_11 [id="[$e|55]", label="main/0.0Δfoo/0.2 args nil"]; - n_30 -> n_33 [id="[$e|59]", label="main/0.0→foo/0.0:msg2"]; - n_40 -> n_6 [id="[$e|81]", label="main/0.0→foo/0.0:msg2"]; - n_6 -> n_29 [id="[$e|50]", label="main/0.0→foo/0.0:ok"]; n_8 -> n_26 [id="[$e|44]", label="main/0.0Δfoo/0.2 args nil"]; - n_27 -> n_15 [id="[$e|15]", label="main/0.0→foo/0.0:msg1"]; - n_8 -> n_19 [id="[$e|68]", label="main/0.0→foo/0.0:msg1"]; n_40 -> n_44 [id="[$e|82]", label="main/0.0→foo/0.0:ok"]; + n_16 -> n_32 [id="[$e|0]", label="main/0.0Δfoo/0.0 args nil"]; + n_10 -> n_4 [id="[$e|42]", label="main/0.0Δfoo/0.2 args nil"]; n_30 -> n_31 [id="[$e|60]", label="main/0.0→foo/0.0:ok"]; - n_27 -> n_17 [id="[$e|5]", label="main/0.0Δfoo/0.2 args nil"]; - n_7 -> n_34 [id="[$e|9]", label="main/0.0→foo/0.0:msg2"]; - n_28 -> n_14 [id="[$e|24]", label="main/0.0→foo/0.0:ok"]; - n_36 -> n_25 [id="[$e|22]", label="main/0.0→foo/0.0:msg2"]; n_27 -> n_5 [id="[$e|12]", label="main/0.0Δfoo/0.2 args nil"]; - n_32 -> n_23 [id="[$e|17]", label="main/0.0→foo/0.0:msg1"]; - n_27 -> n_29 [id="[$e|16]", label="main/0.0→foo/0.0:ok"]; n_19 -> n_15 [id="[$e|47]", label="main/0.0→foo/0.0:msg2"]; - n_17 -> n_12 [id="[$e|6]", label="main/0.0→foo/0.0:msg1"]; - n_10 -> n_9 [id="[$e|61]", label="main/0.0Δfoo/0.2 args nil"]; - n_27 -> n_10 [id="[$e|25]", label="main/0.0→foo/0.0:msg1"]; - n_42 -> n_31 [id="[$e|79]", label="main/0.0→foo/0.0:ok"]; - n_42 -> n_41 [id="[$e|77]", label="main/0.0→foo/0.0:msg1"]; n_34 -> n_25 [id="[$e|23]", label="main/0.0→foo/0.0:msg1"]; - n_32 -> n_28 [id="[$e|10]", label="main/0.0→foo/0.0:msg1"]; - n_26 -> n_35 [id="[$e|45]", label="main/0.0→foo/0.0:msg1"]; + n_37 -> n_21 [id="[$e|76]", label="main/0.0→foo/0.0:msg2"]; + n_10 -> n_22 [id="[$e|64]", label="main/0.0→foo/0.0:ok"]; n_30 -> n_42 [id="[$e|71]", label="main/0.0→foo/0.0:msg2"]; - n_6 -> n_15 [id="[$e|49]", label="main/0.0→foo/0.0:msg1"]; - n_27 -> n_44 [id="[$e|29]", label="main/0.0→foo/0.0:ok"]; - n_23 -> n_2 [id="[$e|54]", label="main/0.0→foo/0.0:ok"]; + n_32 -> n_30 [id="[$e|18]", label="main/0.0→foo/0.0:msg2"]; + n_10 -> n_9 [id="[$e|61]", label="main/0.0Δfoo/0.2 args nil"]; n_32 -> n_27 [id="[$e|1]", label="main/0.0Δfoo/0.1 args nil"]; - n_15 -> n_20 [id="[$e|32]", label="main/0.0→foo/0.0:ok"]; - n_40 -> n_19 [id="[$e|80]", label="main/0.0→foo/0.0:msg1"]; - n_27 -> n_19 [id="[$e|27]", label="main/0.0→foo/0.0:msg1"]; - n_30 -> n_43 [id="[$e|35]", label="main/0.0Δfoo/0.2 args nil"]; - n_4 -> n_35 [id="[$e|43]", label="main/0.0→foo/0.0:msg2"]; - n_43 -> n_34 [id="[$e|37]", label="main/0.0→foo/0.0:msg2"]; - n_10 -> n_22 [id="[$e|64]", label="main/0.0→foo/0.0:ok"]; + n_30 -> n_33 [id="[$e|59]", label="main/0.0→foo/0.0:msg2"]; n_1 -> n_36 [id="[$e|72]", label="main/0.0→foo/0.0:msg1"]; - n_3 -> n_35 [id="[$e|66]", label="main/0.0→foo/0.0:msg1"]; - n_42 -> n_33 [id="[$e|78]", label="main/0.0→foo/0.0:msg2"]; + n_11 -> n_36 [id="[$e|56]", label="main/0.0→foo/0.0:msg1"]; + n_43 -> n_34 [id="[$e|37]", label="main/0.0→foo/0.0:msg2"]; + n_11 -> n_1 [id="[$e|57]", label="main/0.0→foo/0.0:msg2"]; + n_21 -> n_12 [id="[$e|31]", label="main/0.0→foo/0.0:msg1"]; + n_27 -> n_19 [id="[$e|27]", label="main/0.0→foo/0.0:msg1"]; n_8 -> n_40 [id="[$e|74]", label="main/0.0→foo/0.0:msg2"]; - n_32 -> n_31 [id="[$e|21]", label="main/0.0→foo/0.0:ok"]; - n_19 -> n_22 [id="[$e|48]", label="main/0.0→foo/0.0:ok"]; - n_10 -> n_4 [id="[$e|42]", label="main/0.0Δfoo/0.2 args nil"]; - n_5 -> n_21 [id="[$e|14]", label="main/0.0→foo/0.0:msg2"]; + n_27 -> n_10 [id="[$e|25]", label="main/0.0→foo/0.0:msg1"]; + n_30 -> n_11 [id="[$e|55]", label="main/0.0Δfoo/0.2 args nil"]; + n_8 -> n_3 [id="[$e|65]", label="main/0.0Δfoo/0.2 args nil"]; + n_18 -> n_36 [id="[$e|34]", label="main/0.0→foo/0.0:msg2"]; n_35 -> n_12 [id="[$e|30]", label="main/0.0→foo/0.0:msg2"]; - n_23 -> n_41 [id="[$e|53]", label="main/0.0→foo/0.0:msg2"]; - n_32 -> n_39 [id="[$e|3]", label="main/0.0Δfoo/0.2 args nil"]; + n_33 -> n_38 [id="[$e|41]", label="main/0.0→foo/0.0:ok"]; + n_8 -> n_19 [id="[$e|68]", label="main/0.0→foo/0.0:msg1"]; + n_6 -> n_15 [id="[$e|49]", label="main/0.0→foo/0.0:msg1"]; + n_3 -> n_37 [id="[$e|67]", label="main/0.0→foo/0.0:msg2"]; } diff --git a/examples/test/foo9g/main_0_local_view.dot b/examples/test/foo9g/main_0_local_view.dot index ad85618..1e42008 100644 --- a/examples/test/foo9g/main_0_local_view.dot +++ b/examples/test/foo9g/main_0_local_view.dot @@ -7,10 +7,10 @@ digraph main_0 { n_3 [id="3", shape=circle, label="3"]; n_4 [id="2", shape=circle, label="2"]; + n_4 -> n_4 [id="[$e|4]", label="spawn foo/0.1 args nil"]; n_1 -> n_4 [id="[$e|13]", label="spawn foo/0.0 args nil"]; + n_3 -> n_3 [id="[$e|14]", label="foo/0.0 ! msg2"]; n_4 -> n_3 [id="[$e|7]", label="foo/0.0 ! msg1"]; - n_4 -> n_4 [id="[$e|4]", label="spawn foo/0.1 args nil"]; n_3 -> n_2 [id="[$e|12]", label="foo/0.0 ! ok"]; n_3 -> n_2 [id="[$e|1]", label="spawn foo/0.2 args nil"]; - n_3 -> n_3 [id="[$e|14]", label="foo/0.0 ! msg2"]; } diff --git a/examples/test/foo9g/output.csv b/examples/test/foo9g/output.csv new file mode 100644 index 0000000..01ca936 --- /dev/null +++ b/examples/test/foo9g/output.csv @@ -0,0 +1,13 @@ +line,25 +lv_foo/0_nodes,2 +lv_foo/0_edges,2 +lv_main/0_nodes,4 +lv_main/0_edges,6 +lv_h/2_nodes,2 +lv_h/2_edges,2 +lv_f/1_nodes,3 +lv_f/1_edges,4 +lv_g/2_nodes,2 +lv_g/2_edges,2 +gv_nodes,21 +gv_edges,49 diff --git a/examples/test/foo9h/f_1_local_view.dot b/examples/test/foo9h/f_1_local_view.dot index a75d742..61c099d 100644 --- a/examples/test/foo9h/f_1_local_view.dot +++ b/examples/test/foo9h/f_1_local_view.dot @@ -8,9 +8,9 @@ digraph f_1 { n_4 [id="2", shape=doublecircle, label="4"]; n_2 -> n_3 [id="[$e|13]", label="foo/0.0 ! msg"]; - n_2 -> n_4 [id="[$e|11]", label="foo/0.0 ! msg1"]; - n_2 -> n_3 [id="[$e|2]", label="spawn foo/0.1 args nil"]; n_3 -> n_4 [id="[$e|6]", label="foo/0.0 ! msg0"]; - n_1 -> n_2 [id="[$e|1]", label="foo/0.0 ! msg"]; + n_2 -> n_4 [id="[$e|11]", label="foo/0.0 ! msg1"]; n_1 -> n_2 [id="[$e|12]", label="spawn foo/0.1 args nil"]; + n_1 -> n_2 [id="[$e|1]", label="foo/0.0 ! msg"]; + n_2 -> n_3 [id="[$e|2]", label="spawn foo/0.1 args nil"]; } diff --git a/examples/test/foo9h/foo_0_local_view.dot b/examples/test/foo9h/foo_0_local_view.dot index 55b2a6d..5004b19 100644 --- a/examples/test/foo9h/foo_0_local_view.dot +++ b/examples/test/foo9h/foo_0_local_view.dot @@ -5,6 +5,6 @@ digraph foo_0 { n_0 -> n_1 [arrowhead=none]; n_2 [id="3", shape=doublecircle, label="2"]; - n_1 -> n_2 [id="[$e|2]", label="0#receive ok"]; n_1 -> n_1 [id="[$e|5]", label="1#receive _"]; + n_1 -> n_2 [id="[$e|2]", label="0#receive ok"]; } diff --git a/examples/test/foo9h/main_0_global_view.dot b/examples/test/foo9h/main_0_global_view.dot index 2f07429..7a093d6 100644 --- a/examples/test/foo9h/main_0_global_view.dot +++ b/examples/test/foo9h/main_0_global_view.dot @@ -1,65 +1,65 @@ digraph global { rankdir="LR"; n_0 [label="global", shape="plaintext"]; - n_1 [id="14", shape=circle, label="14"]; - n_2 [id="9", shape=circle, label="9"]; - n_3 [id="8", shape=circle, label="8", fillcolor="#FF0000FF", style=filled]; + n_1 [id="14", shape=doublecircle, label="14"]; + n_2 [id="9", shape=circle, label="9", fillcolor="#FF0000FF", style=filled]; + n_3 [id="8", shape=circle, label="8"]; n_4 [id="24", shape=doublecircle, label="24"]; - n_5 [id="17", shape=circle, label="17", fillcolor="#FF0000FF", style=filled]; + n_5 [id="17", shape=circle, label="17"]; n_6 [id="1", shape=circle, label="1"]; n_0 -> n_6 [arrowhead=none]; n_7 [id="7", shape=circle, label="7"]; n_8 [id="16", shape=circle, label="16", fillcolor="#FF0000FF", style=filled]; - n_9 [id="19", shape=circle, label="19"]; + n_9 [id="19", shape=circle, label="19", fillcolor="#FF0000FF", style=filled]; n_10 [id="4", shape=circle, label="4"]; n_11 [id="6", shape=circle, label="6"]; n_12 [id="3", shape=circle, label="3"]; - n_13 [id="12", shape=doublecircle, label="12"]; - n_14 [id="18", shape=circle, label="18"]; - n_15 [id="20", shape=doublecircle, label="20"]; + n_13 [id="12", shape=circle, label="12"]; + n_14 [id="18", shape=circle, label="18", fillcolor="#FF0000FF", style=filled]; + n_15 [id="20", shape=circle, label="20"]; n_16 [id="23", shape=circle, label="23", fillcolor="#FF0000FF", style=filled]; n_17 [id="2", shape=circle, label="2"]; - n_18 [id="22", shape=circle, label="22", fillcolor="#FF0000FF", style=filled]; - n_19 [id="11", shape=circle, label="11"]; + n_18 [id="22", shape=doublecircle, label="22"]; + n_19 [id="11", shape=doublecircle, label="11"]; n_20 [id="15", shape=circle, label="15"]; - n_21 [id="10", shape=doublecircle, label="10"]; - n_22 [id="13", shape=doublecircle, label="13"]; + n_21 [id="10", shape=circle, label="10"]; + n_22 [id="13", shape=circle, label="13"]; n_23 [id="5", shape=doublecircle, label="5"]; - n_24 [id="21", shape=circle, label="21"]; + n_24 [id="21", shape=doublecircle, label="21"]; - n_11 -> n_1 [id="[$e|14]", label="main/0.0→foo/0.0:msg"]; - n_10 -> n_22 [id="[$e|13]", label="main/0.0→foo/0.0:ok"]; - n_24 -> n_18 [id="[$e|28]", label="main/0.0→foo/0.0:ok"]; - n_7 -> n_5 [id="[$e|17]", label="main/0.0→foo/0.0:ok"]; - n_2 -> n_21 [id="[$e|24]", label="main/0.0→foo/0.0:ok"]; - n_6 -> n_17 [id="[$e|0]", label="main/0.0Δfoo/0.0 args nil"]; - n_12 -> n_13 [id="[$e|11]", label="main/0.0→foo/0.0:ok"]; + n_13 -> n_3 [id="[$e|13]", label="main/0.0→foo/0.0:msg0"]; + n_12 -> n_22 [id="[$e|15]", label="main/0.0→foo/0.0:msg"]; + n_7 -> n_14 [id="[$e|26]", label="main/0.0→foo/0.0:ok"]; n_17 -> n_11 [id="[$e|4]", label="main/0.0Δfoo/0.1 args nil"]; - n_1 -> n_18 [id="[$e|30]", label="main/0.0→foo/0.0:ok"]; - n_14 -> n_1 [id="[$e|19]", label="main/0.0→foo/0.0:msg"]; - n_24 -> n_7 [id="[$e|27]", label="main/0.0→foo/0.0:msg0"]; - n_17 -> n_10 [id="[$e|2]", label="main/0.0→foo/0.0:msg1"]; - n_17 -> n_10 [id="[$e|8]", label="main/0.0→foo/0.0:msg0"]; - n_14 -> n_20 [id="[$e|20]", label="main/0.0→foo/0.0:msg0"]; - n_9 -> n_4 [id="[$e|34]", label="main/0.0→foo/0.0:ok"]; - n_2 -> n_10 [id="[$e|23]", label="main/0.0→foo/0.0:msg0"]; - n_11 -> n_24 [id="[$e|26]", label="main/0.0Δfoo/0.1 args nil"]; - n_14 -> n_8 [id="[$e|21]", label="main/0.0→foo/0.0:ok"]; - n_19 -> n_15 [id="[$e|25]", label="main/0.0→foo/0.0:ok"]; - n_11 -> n_20 [id="[$e|15]", label="main/0.0→foo/0.0:msg0"]; - n_11 -> n_7 [id="[$e|5]", label="main/0.0→foo/0.0:msg1"]; - n_20 -> n_7 [id="[$e|31]", label="main/0.0→foo/0.0:msg"]; - n_1 -> n_7 [id="[$e|29]", label="main/0.0→foo/0.0:msg0"]; - n_11 -> n_3 [id="[$e|6]", label="main/0.0→foo/0.0:ok"]; - n_17 -> n_12 [id="[$e|1]", label="main/0.0→foo/0.0:msg"]; - n_17 -> n_14 [id="[$e|18]", label="main/0.0Δfoo/0.1 args nil"]; - n_12 -> n_19 [id="[$e|10]", label="main/0.0→foo/0.0:msg1"]; + n_17 -> n_10 [id="[$e|9]", label="main/0.0→foo/0.0:msg1"]; + n_13 -> n_2 [id="[$e|14]", label="main/0.0→foo/0.0:ok"]; + n_3 -> n_9 [id="[$e|28]", label="main/0.0→foo/0.0:ok"]; + n_3 -> n_20 [id="[$e|27]", label="main/0.0→foo/0.0:msg"]; + n_11 -> n_8 [id="[$e|21]", label="main/0.0→foo/0.0:ok"]; + n_5 -> n_14 [id="[$e|24]", label="main/0.0→foo/0.0:ok"]; + n_17 -> n_19 [id="[$e|10]", label="main/0.0→foo/0.0:ok"]; + n_21 -> n_24 [id="[$e|30]", label="main/0.0→foo/0.0:ok"]; + n_21 -> n_15 [id="[$e|29]", label="main/0.0→foo/0.0:msg1"]; + n_10 -> n_1 [id="[$e|19]", label="main/0.0→foo/0.0:ok"]; + n_11 -> n_7 [id="[$e|5]", label="main/0.0→foo/0.0:msg"]; + n_11 -> n_3 [id="[$e|6]", label="main/0.0→foo/0.0:msg0"]; + n_12 -> n_23 [id="[$e|17]", label="main/0.0→foo/0.0:ok"]; + n_17 -> n_13 [id="[$e|11]", label="main/0.0Δfoo/0.1 args nil"]; + n_11 -> n_2 [id="[$e|7]", label="main/0.0→foo/0.0:ok"]; + n_10 -> n_10 [id="[$e|18]", label="main/0.0→foo/0.0:msg"]; + n_5 -> n_20 [id="[$e|23]", label="main/0.0→foo/0.0:msg0"]; + n_17 -> n_21 [id="[$e|8]", label="main/0.0→foo/0.0:msg"]; + n_11 -> n_20 [id="[$e|20]", label="main/0.0→foo/0.0:msg1"]; + n_22 -> n_18 [id="[$e|32]", label="main/0.0→foo/0.0:ok"]; + n_20 -> n_16 [id="[$e|33]", label="main/0.0→foo/0.0:ok"]; + n_13 -> n_7 [id="[$e|12]", label="main/0.0→foo/0.0:msg"]; + n_6 -> n_17 [id="[$e|0]", label="main/0.0Δfoo/0.0 args nil"]; n_17 -> n_23 [id="[$e|3]", label="main/0.0→foo/0.0:ok"]; - n_17 -> n_2 [id="[$e|7]", label="main/0.0→foo/0.0:msg"]; - n_9 -> n_19 [id="[$e|33]", label="main/0.0→foo/0.0:msg0"]; - n_20 -> n_16 [id="[$e|32]", label="main/0.0→foo/0.0:ok"]; - n_10 -> n_19 [id="[$e|12]", label="main/0.0→foo/0.0:msg"]; - n_2 -> n_9 [id="[$e|22]", label="main/0.0→foo/0.0:msg"]; - n_11 -> n_8 [id="[$e|16]", label="main/0.0→foo/0.0:ok"]; - n_17 -> n_21 [id="[$e|9]", label="main/0.0→foo/0.0:ok"]; + n_11 -> n_5 [id="[$e|22]", label="main/0.0Δfoo/0.1 args nil"]; + n_12 -> n_10 [id="[$e|16]", label="main/0.0→foo/0.0:msg0"]; + n_15 -> n_4 [id="[$e|34]", label="main/0.0→foo/0.0:ok"]; + n_7 -> n_20 [id="[$e|25]", label="main/0.0→foo/0.0:msg0"]; + n_17 -> n_12 [id="[$e|1]", label="main/0.0→foo/0.0:msg"]; + n_17 -> n_10 [id="[$e|2]", label="main/0.0→foo/0.0:msg0"]; + n_22 -> n_15 [id="[$e|31]", label="main/0.0→foo/0.0:msg0"]; } diff --git a/examples/test/foo9h/main_0_local_view.dot b/examples/test/foo9h/main_0_local_view.dot index 4686d04..cd29dca 100644 --- a/examples/test/foo9h/main_0_local_view.dot +++ b/examples/test/foo9h/main_0_local_view.dot @@ -10,11 +10,11 @@ digraph main_0 { n_6 [id="5", shape=circle, label="2"]; n_5 -> n_4 [id="[$e|13]", label="foo/0.0 ! msg0"]; - n_6 -> n_3 [id="[$e|17]", label="foo/0.0 ! msg"]; - n_6 -> n_3 [id="[$e|2]", label="spawn foo/0.1 args nil"]; n_3 -> n_5 [id="[$e|15]", label="foo/0.0 ! msg"]; n_4 -> n_2 [id="[$e|5]", label="foo/0.0 ! ok"]; - n_3 -> n_5 [id="[$e|3]", label="spawn foo/0.1 args nil"]; + n_6 -> n_3 [id="[$e|17]", label="foo/0.0 ! msg"]; n_3 -> n_4 [id="[$e|7]", label="foo/0.0 ! msg1"]; n_1 -> n_6 [id="[$e|12]", label="spawn foo/0.0 args nil"]; + n_3 -> n_5 [id="[$e|3]", label="spawn foo/0.1 args nil"]; + n_6 -> n_3 [id="[$e|2]", label="spawn foo/0.1 args nil"]; } diff --git a/examples/test/foo9h/output.csv b/examples/test/foo9h/output.csv new file mode 100644 index 0000000..f04fa29 --- /dev/null +++ b/examples/test/foo9h/output.csv @@ -0,0 +1,11 @@ +line,23 +lv_foo/0_nodes,2 +lv_foo/0_edges,2 +lv_main/0_nodes,6 +lv_main/0_edges,8 +lv_f/1_nodes,4 +lv_f/1_edges,6 +lv_g/2_nodes,2 +lv_g/2_edges,2 +gv_nodes,12 +gv_edges,26 diff --git a/examples/test/ping/output.csv b/examples/test/ping/output.csv new file mode 100644 index 0000000..8ebc507 --- /dev/null +++ b/examples/test/ping/output.csv @@ -0,0 +1,9 @@ +line,36 +lv_ping/1_nodes,3 +lv_ping/1_edges,3 +lv_start/0_nodes,4 +lv_start/0_edges,3 +lv_pong/0_nodes,4 +lv_pong/0_edges,4 +gv_nodes,6 +gv_edges,5 diff --git a/examples/test/ping/ping_1_local_view.dot b/examples/test/ping/ping_1_local_view.dot index fd6626e..0d274de 100644 --- a/examples/test/ping/ping_1_local_view.dot +++ b/examples/test/ping/ping_1_local_view.dot @@ -6,7 +6,7 @@ digraph ping_1 { n_2 [id="4", shape=circle, label="3"]; n_3 [id="2", shape=doublecircle, label="2"]; + n_2 -> n_1 [id="[$e|5]", label="Pong ! {pid_self,any}"]; n_1 -> n_2 [id="[$e|1]", label="1#receive N"]; n_1 -> n_3 [id="[$e|3]", label="0#receive kill"]; - n_2 -> n_1 [id="[$e|5]", label="Pong ! {pid_self,any}"]; } diff --git a/examples/test/ping/pong_0_local_view.dot b/examples/test/ping/pong_0_local_view.dot index 8a4bd83..5c88684 100644 --- a/examples/test/ping/pong_0_local_view.dot +++ b/examples/test/ping/pong_0_local_view.dot @@ -7,8 +7,8 @@ digraph pong_0 { n_3 [id="3", shape=circle, label="2"]; n_4 [id="2", shape=circle, label="3"]; - n_1 -> n_3 [id="[$e|1]", label="1#receive {S,N}"]; - n_3 -> n_1 [id="[$e|6]", label="S ! N"]; n_1 -> n_4 [id="[$e|2]", label="0#receive {S,0}"]; n_4 -> n_2 [id="[$e|0]", label="S ! kill"]; + n_3 -> n_1 [id="[$e|6]", label="S ! N"]; + n_1 -> n_3 [id="[$e|1]", label="1#receive {S,N}"]; } diff --git a/examples/test/ping/start_0_global_view.dot b/examples/test/ping/start_0_global_view.dot index b976480..d11ed5c 100644 --- a/examples/test/ping/start_0_global_view.dot +++ b/examples/test/ping/start_0_global_view.dot @@ -9,9 +9,9 @@ digraph global { n_5 [id="2", shape=circle, label="2"]; n_6 [id="5", shape=circle, label="5"]; - n_5 -> n_4 [id="[$e|1]", label="start/0.0Δping/1.0 args [pong/0.0]"]; - n_6 -> n_3 [id="[$e|4]", label="pong/0.0→ping/1.0:kill"]; - n_2 -> n_6 [id="[$e|3]", label="ping/1.0→pong/0.0:{pid_self,any}"]; n_4 -> n_2 [id="[$e|2]", label="start/0.0→ping/1.0:3"]; n_1 -> n_5 [id="[$e|0]", label="start/0.0Δpong/0.0 args nil"]; + n_6 -> n_3 [id="[$e|4]", label="pong/0.0→ping/1.0:kill"]; + n_5 -> n_4 [id="[$e|1]", label="start/0.0Δping/1.0 args [pong/0.0]"]; + n_2 -> n_6 [id="[$e|3]", label="ping/1.0→pong/0.0:{pid_self,any}"]; } diff --git a/examples/test/ping/start_0_local_view.dot b/examples/test/ping/start_0_local_view.dot index ddd4d82..0c44cb1 100644 --- a/examples/test/ping/start_0_local_view.dot +++ b/examples/test/ping/start_0_local_view.dot @@ -7,7 +7,7 @@ digraph start_0 { n_3 [id="3", shape=doublecircle, label="4"]; n_4 [id="2", shape=circle, label="2"]; - n_2 -> n_3 [id="[$e|1]", label="ping/1.0 ! 3"]; n_1 -> n_4 [id="[$e|2]", label="spawn pong/0.0 args nil"]; n_4 -> n_2 [id="[$e|0]", label="spawn ping/1.0 args [pong/0.0]"]; + n_2 -> n_3 [id="[$e|1]", label="ping/1.0 ! 3"]; } diff --git a/examples/ticktackloop/output.csv b/examples/ticktackloop/output.csv new file mode 100644 index 0000000..cbafc14 --- /dev/null +++ b/examples/ticktackloop/output.csv @@ -0,0 +1,11 @@ +line,32 +lv_spawn_process/0_nodes,3 +lv_spawn_process/0_edges,2 +lv_tac_loop/0_nodes,4 +lv_tac_loop/0_edges,4 +lv_start/0_nodes,4 +lv_start/0_edges,3 +lv_tic_loop/0_nodes,4 +lv_tic_loop/0_edges,4 +gv_nodes,5 +gv_edges,5 diff --git a/examples/ticktackloop/start_0_global_view.dot b/examples/ticktackloop/start_0_global_view.dot index 6fa3938..f8200b1 100644 --- a/examples/ticktackloop/start_0_global_view.dot +++ b/examples/ticktackloop/start_0_global_view.dot @@ -9,10 +9,10 @@ digraph global { n_5 [id="2", shape=circle, label="2"]; n_6 [id="5", shape=circle, label="5"]; - n_3 -> n_6 [id="[$e|5]", label="tic_loop/0.0→tac_loop/0.0:tic"]; - n_1 -> n_5 [id="[$e|0]", label="start/0.0Δtac_loop/0.0 args nil"]; - n_2 -> n_6 [id="[$e|3]", label="tic_loop/0.0→tac_loop/0.0:tic"]; n_4 -> n_2 [id="[$e|2]", label="start/0.0→tic_loop/0.0:tac"]; + n_1 -> n_5 [id="[$e|0]", label="start/0.0Δtac_loop/0.0 args nil"]; + n_3 -> n_6 [id="[$e|5]", label="tic_loop/0.0→tac_loop/0.0:tic"]; n_5 -> n_4 [id="[$e|1]", label="start/0.0Δtic_loop/0.0 args nil"]; + n_2 -> n_6 [id="[$e|3]", label="tic_loop/0.0→tac_loop/0.0:tic"]; n_6 -> n_3 [id="[$e|4]", label="tac_loop/0.0→tic_loop/0.0:tac"]; } diff --git a/examples/ticktackloop/start_0_local_view.dot b/examples/ticktackloop/start_0_local_view.dot index 4abab73..08a724e 100644 --- a/examples/ticktackloop/start_0_local_view.dot +++ b/examples/ticktackloop/start_0_local_view.dot @@ -7,7 +7,7 @@ digraph start_0 { n_3 [id="3", shape=doublecircle, label="4"]; n_4 [id="2", shape=circle, label="2"]; - n_2 -> n_3 [id="[$e|0]", label="tic_loop/0.0 ! tac"]; n_4 -> n_2 [id="[$e|2]", label="spawn tic_loop/0.0 args nil"]; + n_2 -> n_3 [id="[$e|0]", label="tic_loop/0.0 ! tac"]; n_1 -> n_4 [id="[$e|1]", label="spawn tac_loop/0.0 args nil"]; } diff --git a/examples/ticktackloop/tac_loop_0_local_view.dot b/examples/ticktackloop/tac_loop_0_local_view.dot index 850072f..c5d8cbc 100644 --- a/examples/ticktackloop/tac_loop_0_local_view.dot +++ b/examples/ticktackloop/tac_loop_0_local_view.dot @@ -7,8 +7,8 @@ digraph tac_loop_0 { n_3 [id="3", shape=circle, label="2"]; n_4 [id="2", shape=circle, label="3"]; - n_4 -> n_1 [id="[$e|6]", label="tic_loop/0.0 ! tac"]; - n_1 -> n_4 [id="[$e|3]", label="0#receive tic"]; n_3 -> n_2 [id="[$e|2]", label="tic_loop/0.0 ! stop"]; + n_4 -> n_1 [id="[$e|6]", label="tic_loop/0.0 ! tac"]; n_1 -> n_3 [id="[$e|1]", label="1#receive stop"]; + n_1 -> n_4 [id="[$e|3]", label="0#receive tic"]; } diff --git a/examples/ticktackloop/tic_loop_0_local_view.dot b/examples/ticktackloop/tic_loop_0_local_view.dot index 693684b..d1784c1 100644 --- a/examples/ticktackloop/tic_loop_0_local_view.dot +++ b/examples/ticktackloop/tic_loop_0_local_view.dot @@ -7,8 +7,8 @@ digraph tic_loop_0 { n_3 [id="3", shape=circle, label="2"]; n_4 [id="2", shape=circle, label="3"]; - n_3 -> n_2 [id="[$e|5]", label="tac_loop/0.0 ! stop"]; - n_4 -> n_1 [id="[$e|6]", label="tac_loop/0.0 ! tic"]; - n_1 -> n_4 [id="[$e|0]", label="0#receive tac"]; n_1 -> n_3 [id="[$e|2]", label="1#receive stop"]; + n_1 -> n_4 [id="[$e|0]", label="0#receive tac"]; + n_4 -> n_1 [id="[$e|6]", label="tac_loop/0.0 ! tic"]; + n_3 -> n_2 [id="[$e|5]", label="tac_loop/0.0 ! stop"]; } diff --git a/examples/ticktackstop/output.csv b/examples/ticktackstop/output.csv new file mode 100644 index 0000000..83118a1 --- /dev/null +++ b/examples/ticktackstop/output.csv @@ -0,0 +1,13 @@ +line,46 +lv_random/0_nodes,2 +lv_random/0_edges,1 +lv_spawn_process/0_nodes,4 +lv_spawn_process/0_edges,3 +lv_tac_loop/0_nodes,3 +lv_tac_loop/0_edges,5 +lv_start/0_nodes,5 +lv_start/0_edges,4 +lv_tic_loop/0_nodes,4 +lv_tic_loop/0_edges,4 +gv_nodes,12 +gv_edges,19 diff --git a/examples/ticktackstop/start_0_global_view.dot b/examples/ticktackstop/start_0_global_view.dot index 749406f..829d992 100644 --- a/examples/ticktackstop/start_0_global_view.dot +++ b/examples/ticktackstop/start_0_global_view.dot @@ -22,31 +22,31 @@ digraph global { n_18 [id="13", shape=doublecircle, label="13"]; n_19 [id="5", shape=circle, label="5"]; - n_8 -> n_6 [id="[$e|25]", label="tic_loop/0.0→tac_loop/0.0:tic"]; + n_3 -> n_18 [id="[$e|11]", label="tic_loop/0.0→tac_loop/0.0:stop"]; n_17 -> n_6 [id="[$e|12]", label="tic_loop/0.0→tac_loop/0.0:tic"]; - n_17 -> n_3 [id="[$e|13]", label="random/0.0→tic_loop/0.0:stop"]; - n_12 -> n_7 [id="[$e|17]", label="tic_loop/0.0→tac_loop/0.0:stop"]; - n_9 -> n_19 [id="[$e|3]", label="start/0.0→tic_loop/0.0:tac"]; - n_5 -> n_14 [id="[$e|0]", label="start/0.0Δtac_loop/0.0 args nil"]; - n_9 -> n_10 [id="[$e|4]", label="random/0.0→tic_loop/0.0:stop"]; - n_13 -> n_16 [id="[$e|23]", label="tac_loop/0.0→tic_loop/0.0:tac"]; - n_13 -> n_15 [id="[$e|22]", label="random/0.0→tic_loop/0.0:stop"]; - n_11 -> n_9 [id="[$e|2]", label="start/0.0Δrandom/0.0 args nil"]; - n_6 -> n_15 [id="[$e|9]", label="random/0.0→tic_loop/0.0:stop"]; - n_3 -> n_12 [id="[$e|10]", label="tic_loop/0.0→tac_loop/0.0:tic"]; + n_13 -> n_8 [id="[$e|24]", label="tac_loop/0.0→tic_loop/0.0:tac"]; + n_8 -> n_3 [id="[$e|26]", label="random/0.0→tic_loop/0.0:stop"]; n_17 -> n_13 [id="[$e|21]", label="tic_loop/0.0→tac_loop/0.0:tic"]; - n_19 -> n_6 [id="[$e|5]", label="tic_loop/0.0→tac_loop/0.0:tic"]; - n_10 -> n_2 [id="[$e|7]", label="tic_loop/0.0→tac_loop/0.0:stop"]; - n_3 -> n_18 [id="[$e|11]", label="tic_loop/0.0→tac_loop/0.0:stop"]; - n_16 -> n_3 [id="[$e|20]", label="random/0.0→tic_loop/0.0:stop"]; + n_19 -> n_3 [id="[$e|6]", label="random/0.0→tic_loop/0.0:stop"]; + n_9 -> n_17 [id="[$e|8]", label="start/0.0→tic_loop/0.0:tac"]; n_1 -> n_4 [id="[$e|18]", label="tic_loop/0.0→tac_loop/0.0:stop"]; - n_6 -> n_16 [id="[$e|15]", label="tac_loop/0.0→tic_loop/0.0:tac"]; + n_5 -> n_14 [id="[$e|0]", label="start/0.0Δtac_loop/0.0 args nil"]; + n_12 -> n_7 [id="[$e|17]", label="tic_loop/0.0→tac_loop/0.0:stop"]; n_16 -> n_6 [id="[$e|19]", label="tic_loop/0.0→tac_loop/0.0:tic"]; + n_6 -> n_15 [id="[$e|9]", label="random/0.0→tic_loop/0.0:stop"]; n_6 -> n_1 [id="[$e|14]", label="random/0.0→tic_loop/0.0:stop"]; - n_13 -> n_8 [id="[$e|24]", label="tac_loop/0.0→tic_loop/0.0:tac"]; - n_9 -> n_17 [id="[$e|8]", label="start/0.0→tic_loop/0.0:tac"]; + n_9 -> n_10 [id="[$e|4]", label="random/0.0→tic_loop/0.0:stop"]; + n_19 -> n_6 [id="[$e|5]", label="tic_loop/0.0→tac_loop/0.0:tic"]; + n_13 -> n_16 [id="[$e|23]", label="tac_loop/0.0→tic_loop/0.0:tac"]; n_14 -> n_11 [id="[$e|1]", label="start/0.0Δtic_loop/0.0 args nil"]; - n_19 -> n_3 [id="[$e|6]", label="random/0.0→tic_loop/0.0:stop"]; + n_16 -> n_3 [id="[$e|20]", label="random/0.0→tic_loop/0.0:stop"]; n_15 -> n_7 [id="[$e|16]", label="tic_loop/0.0→tac_loop/0.0:stop"]; - n_8 -> n_3 [id="[$e|26]", label="random/0.0→tic_loop/0.0:stop"]; + n_3 -> n_12 [id="[$e|10]", label="tic_loop/0.0→tac_loop/0.0:tic"]; + n_9 -> n_19 [id="[$e|3]", label="start/0.0→tic_loop/0.0:tac"]; + n_10 -> n_2 [id="[$e|7]", label="tic_loop/0.0→tac_loop/0.0:stop"]; + n_17 -> n_3 [id="[$e|13]", label="random/0.0→tic_loop/0.0:stop"]; + n_8 -> n_6 [id="[$e|25]", label="tic_loop/0.0→tac_loop/0.0:tic"]; + n_11 -> n_9 [id="[$e|2]", label="start/0.0Δrandom/0.0 args nil"]; + n_13 -> n_15 [id="[$e|22]", label="random/0.0→tic_loop/0.0:stop"]; + n_6 -> n_16 [id="[$e|15]", label="tac_loop/0.0→tic_loop/0.0:tac"]; } diff --git a/examples/ticktackstop/start_0_local_view.dot b/examples/ticktackstop/start_0_local_view.dot index a085afe..95dc153 100644 --- a/examples/ticktackstop/start_0_local_view.dot +++ b/examples/ticktackstop/start_0_local_view.dot @@ -8,8 +8,8 @@ digraph start_0 { n_4 [id="2", shape=circle, label="2"]; n_5 [id="5", shape=circle, label="3"]; - n_4 -> n_5 [id="[$e|3]", label="spawn tic_loop/0.0 args nil"]; n_5 -> n_3 [id="[$e|0]", label="spawn random/0.0 args nil"]; - n_1 -> n_4 [id="[$e|2]", label="spawn tac_loop/0.0 args nil"]; n_3 -> n_2 [id="[$e|1]", label="tic_loop/0.0 ! tac"]; + n_4 -> n_5 [id="[$e|3]", label="spawn tic_loop/0.0 args nil"]; + n_1 -> n_4 [id="[$e|2]", label="spawn tac_loop/0.0 args nil"]; } diff --git a/examples/ticktackstop/tac_loop_0_local_view.dot b/examples/ticktackstop/tac_loop_0_local_view.dot index 967e91e..60214a6 100644 --- a/examples/ticktackstop/tac_loop_0_local_view.dot +++ b/examples/ticktackstop/tac_loop_0_local_view.dot @@ -6,9 +6,9 @@ digraph tac_loop_0 { n_2 [id="4", shape=doublecircle, label="3"]; n_3 [id="3", shape=circle, label="2"]; + n_1 -> n_2 [id="[$e|6]", label="1#receive stop"]; n_3 -> n_3 [id="[$e|4]", label="0#receive tic"]; - n_3 -> n_2 [id="[$e|2]", label="1#receive stop"]; n_1 -> n_3 [id="[$e|5]", label="0#receive tic"]; n_3 -> n_1 [id="[$e|7]", label="tic_loop/0.0 ! tac"]; - n_1 -> n_2 [id="[$e|6]", label="1#receive stop"]; + n_3 -> n_2 [id="[$e|2]", label="1#receive stop"]; } diff --git a/examples/ticktackstop/tic_loop_0_local_view.dot b/examples/ticktackstop/tic_loop_0_local_view.dot index 00a6bbf..53fab00 100644 --- a/examples/ticktackstop/tic_loop_0_local_view.dot +++ b/examples/ticktackstop/tic_loop_0_local_view.dot @@ -7,8 +7,8 @@ digraph tic_loop_0 { n_3 [id="3", shape=circle, label="2"]; n_4 [id="2", shape=circle, label="3"]; + n_4 -> n_1 [id="[$e|6]", label="tac_loop/0.0 ! tic"]; n_1 -> n_4 [id="[$e|0]", label="0#receive tac"]; - n_1 -> n_3 [id="[$e|2]", label="1#receive stop"]; n_3 -> n_2 [id="[$e|5]", label="tac_loop/0.0 ! stop"]; - n_4 -> n_1 [id="[$e|6]", label="tac_loop/0.0 ! tic"]; + n_1 -> n_3 [id="[$e|2]", label="1#receive stop"]; } diff --git a/examples/trick/a_2_local_view.dot b/examples/trick/a_2_local_view.dot index 1a3bdfb..e01f3ca 100644 --- a/examples/trick/a_2_local_view.dot +++ b/examples/trick/a_2_local_view.dot @@ -6,6 +6,6 @@ digraph a_2 { n_2 [id="3", shape=doublecircle, label="3"]; n_3 [id="2", shape=circle, label="2"]; - n_1 -> n_3 [id="[$e|1]", label="C ! v1"]; n_3 -> n_2 [id="[$e|0]", label="B ! v2"]; + n_1 -> n_3 [id="[$e|1]", label="C ! v1"]; } diff --git a/examples/trick/b_1_local_view.dot b/examples/trick/b_1_local_view.dot index 5f0d7dd..3487725 100644 --- a/examples/trick/b_1_local_view.dot +++ b/examples/trick/b_1_local_view.dot @@ -6,6 +6,6 @@ digraph b_1 { n_2 [id="3", shape=doublecircle, label="3"]; n_3 [id="2", shape=circle, label="2"]; - n_3 -> n_2 [id="[$e|1]", label="C ! v2"]; n_1 -> n_3 [id="[$e|0]", label="0#receive v2"]; + n_3 -> n_2 [id="[$e|1]", label="C ! v2"]; } diff --git a/examples/trick/c_0_local_view.dot b/examples/trick/c_0_local_view.dot index 5b8421a..ab76ee1 100644 --- a/examples/trick/c_0_local_view.dot +++ b/examples/trick/c_0_local_view.dot @@ -6,6 +6,6 @@ digraph c_0 { n_2 [id="3", shape=circle, label="2"]; n_3 [id="2", shape=doublecircle, label="3"]; - n_2 -> n_3 [id="[$e|1]", label="0#receive v2"]; n_1 -> n_2 [id="[$e|0]", label="0#receive v1"]; + n_2 -> n_3 [id="[$e|1]", label="0#receive v2"]; } diff --git a/examples/trick/main_0_global_view.dot b/examples/trick/main_0_global_view.dot index d654ea5..6f39a75 100644 --- a/examples/trick/main_0_global_view.dot +++ b/examples/trick/main_0_global_view.dot @@ -12,13 +12,13 @@ digraph global { n_8 [id="2", shape=circle, label="2"]; n_9 [id="5", shape=circle, label="5"]; - n_2 -> n_1 [id="[$e|8]", label="b/1.0→c/0.0:v2"]; n_4 -> n_1 [id="[$e|7]", label="b/1.0→c/0.0:v2"]; - n_5 -> n_6 [id="[$e|4]", label="a/2.0→b/1.0:v2"]; - n_5 -> n_9 [id="[$e|3]", label="a/2.0→c/0.0:v1"]; - n_8 -> n_7 [id="[$e|1]", label="main/0.0Δb/1.0 args [c/0.0]"]; + n_2 -> n_1 [id="[$e|8]", label="b/1.0→c/0.0:v2"]; n_9 -> n_4 [id="[$e|5]", label="a/2.0→b/1.0:v2"]; n_6 -> n_2 [id="[$e|6]", label="a/2.0→c/0.0:v1"]; n_3 -> n_8 [id="[$e|0]", label="main/0.0Δc/0.0 args nil"]; + n_5 -> n_9 [id="[$e|3]", label="a/2.0→c/0.0:v1"]; n_7 -> n_5 [id="[$e|2]", label="main/0.0Δa/2.0 args [b/1.0,c/0.0]"]; + n_8 -> n_7 [id="[$e|1]", label="main/0.0Δb/1.0 args [c/0.0]"]; + n_5 -> n_6 [id="[$e|4]", label="a/2.0→b/1.0:v2"]; } diff --git a/examples/trick/main_0_local_view.dot b/examples/trick/main_0_local_view.dot index 6cbc125..c47df62 100644 --- a/examples/trick/main_0_local_view.dot +++ b/examples/trick/main_0_local_view.dot @@ -7,7 +7,7 @@ digraph main_0 { n_3 [id="3", shape=doublecircle, label="4"]; n_4 [id="2", shape=circle, label="2"]; - n_2 -> n_3 [id="[$e|1]", label="spawn a/2.0 args [b/1.0,c/0.0]"]; n_1 -> n_4 [id="[$e|0]", label="spawn c/0.0 args nil"]; n_4 -> n_2 [id="[$e|2]", label="spawn b/1.0 args [c/0.0]"]; + n_2 -> n_3 [id="[$e|1]", label="spawn a/2.0 args [b/1.0,c/0.0]"]; } diff --git a/examples/trick/output.csv b/examples/trick/output.csv new file mode 100644 index 0000000..8311179 --- /dev/null +++ b/examples/trick/output.csv @@ -0,0 +1,11 @@ +line,24 +lv_main/0_nodes,4 +lv_main/0_edges,3 +lv_c/0_nodes,3 +lv_c/0_edges,2 +lv_b/1_nodes,3 +lv_b/1_edges,2 +lv_a/2_nodes,3 +lv_a/2_edges,2 +gv_nodes,8 +gv_edges,8 diff --git a/examples/unknown/output.csv b/examples/unknown/output.csv new file mode 100644 index 0000000..e281c05 --- /dev/null +++ b/examples/unknown/output.csv @@ -0,0 +1,7 @@ +line,13 +lv_counter/1_nodes,3 +lv_counter/1_edges,3 +lv_main/0_nodes,3 +lv_main/0_edges,3 +gv_nodes,1 +gv_edges,1 diff --git a/src/choreography/md.erl b/src/choreography/md.erl index 1736c62..2be4b6a 100644 --- a/src/choreography/md.erl +++ b/src/choreography/md.erl @@ -41,7 +41,8 @@ show_data(InputFile) -> LocalViewData ), io:fwrite("Data of global view: ~n"), - print_map(GlobalViewMap). + print_map(GlobalViewMap), + print_to_csv(TotLine, LocalViewData, GlobalViewMap). %%%=================================================================== %%% Internal Functions @@ -93,11 +94,7 @@ get_lv_data() -> AllLovalViewList = ets:tab2list(?LOCALVIEW), lists:map( fun({FunName, FunData}) -> - G = FunData#localview.min_graph, - LvNodes = length(digraph:vertices(G)), - LvEdges = length(digraph:edges(G)), - Map = maps:put(num_nodes, LvNodes, #{}), - RetMap = maps:put(num_edges, LvEdges, Map), + RetMap = extract_info_from_data(FunData), {FunName, RetMap} end, AllLovalViewList @@ -105,6 +102,9 @@ get_lv_data() -> get_gv_data() -> Data = db:get(?GLOBALVIEW), + extract_info_from_data(Data). + +extract_info_from_data(Data) -> G = Data#localview.min_graph, GvNodes = length(digraph:vertices(G)), GvEdges = length(digraph:edges(G)), @@ -118,3 +118,32 @@ print_map(Map) -> end, Map ). + +print_to_csv(TotLine, LocalViewData, GvMap) -> + CsvData = ["line", integer_to_list(TotLine)], + TempCsvData = lists:foldl( + fun({FunName, LvMap}, Acc) -> + BaseS = "lv_" ++ FunName, + Acc ++ [BaseS ++ "_nodes", maps:get(num_nodes, LvMap)] ++ + [BaseS ++ "_edges", maps:get(num_edges, LvMap)] + end, + CsvData, + LocalViewData + ), + RetCsvData = + TempCsvData ++ ["gv_nodes", maps:get(num_nodes, GvMap)] ++ + ["gv_edges", maps:get(num_edges, GvMap)], + D = format_to_string(RetCsvData, ""), + Out = settings:get(output_dir), + ok = file:write_file(Out ++ "/output.csv", unicode:characters_to_binary(D)). + +format_to_string([], S) -> + S; +format_to_string([K | T], S) -> + [V | Rest] = T, + format_to_string(Rest, S ++ K ++ "," ++ itol(V) ++ "\n"). + +itol(I) when is_list(I) -> + I; +itol(I) when is_integer(I) -> + integer_to_list(I). diff --git a/test.py b/test.py index f900041..2277020 100755 --- a/test.py +++ b/test.py @@ -2,13 +2,42 @@ import os import subprocess import time +import csv + + +def read_csv_file(filepath): + data = {} + with open(filepath, mode="r") as csvfile: + reader = csv.reader(csvfile) + for row in reader: + if len(row) != 2: + continue + key, value = row + # if key not in data: + # data[key] = [] + data[key] = value + return data + + +def generate_latex_table(columns, rows, caption): + headers = " & ".join(columns) + table = "\\begin{table}[h]\n\\centering\n\\begin{tabular}{lccc}\n\\hline\n" + table += headers + " \\\\ \n\\hline\n" + + for row in rows: + print(row) + table += " & ".join(row) + " \\\\ \n" + + table += "\\hline\n\\end{tabular}\n\\caption{" + caption + "}\n\\end{table}" + return table + # default: minimize global views test_list = [ ["./examples/account/account.erl", "main/0", "examples/account", "true"], ["./examples/dining/dining.erl", "main/0", "examples/dining", "true"], ["./examples/hello/hello.erl", "main/0", "examples/hello", "true"], - ["./examples/async/simple.erl","main/0","examples/async", "true"], + ["./examples/async/simple.erl", "main/0", "examples/async", "true"], ["./examples/ticktackstop/tictacstop.erl","start/0","examples/ticktackstop", "true"], ["./examples/ticktackloop/tictacloop.erl","start/0","examples/ticktackloop", "true"], ["./examples/customer/customer.erl","main/0","examples/customer", "true"], @@ -47,17 +76,68 @@ # ["./examples/cauder_suite/barber/barber.erl","main/0","examples/cauder_suite/barber", "true"], ] +# compile the tool os.system("rebar3 escriptize") outputs = [] +csvs = [] +add_data = {} +# run the tool on each test for item in test_list: - item = ["./_build/default/bin/chorer"] + item[:-1] # remove minimize of global view + item = ["./_build/default/bin/chorer"] + item[:-1] # remove minimize of global view + csvfile = item[3] + "/output.csv" + csvs.append(csvfile) print("Executing ", " ".join(item)) start_time = time.time() - output = subprocess.check_output(item).decode('utf-8') + output = subprocess.check_output(item).decode("utf-8") runtime = time.time() - start_time - print(f"{output}\ntime {runtime}\n") outputs.append(output) + # get data + warns = output.count("WARNING") + errs = output.count("ERROR") + add_data[item[3].rsplit("/", 1)[-1]] = { + "warns": str(warns), + "errs": str(errs), + "runtime": "{:.3f}".format(runtime), + } + + # print(f"{output}\ntime {runtime}\nwarns {warns}\nerrs {errs}") # time.sleep(1) + +# collect data from csv +datas = [] +for c in csvs: + data = read_csv_file(c) + filetmp = c.rsplit("/", 1)[0] if "/" in c else c + file = filetmp.rsplit("/", 1)[-1] if "/" in c else c + datas.append((file, data | add_data[file])) + +# generate global view table +columns = [ + "Example", + "#Lines", + "#GV Nodes", + "#GV Edges", + "#Warnings", + "#Errors", + "Runtime", +] +rows = [ + [ + file, + data["line"], + data["gv_nodes"], + data["gv_edges"], + data["warns"], + data["errs"], + data["runtime"], + ] + for (file, data) in datas +] + +latex_code = generate_latex_table(columns, rows, "Global view data") + +with open("assets/output.tex", "w", encoding="utf-8") as f: + f.write(latex_code)