Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
model-checker : new tesh example for liveness model checking with visited state reduction
[simgrid.git] / examples / msg / mc / bugged1_liveness.tesh
index b4a5725..3cc303e 100644 (file)
@@ -1,44 +1,49 @@
 #! ./tesh
 
 ! expect signal SIGABRT
-! timeout 200
-$ ${bindir:=.}/bugged1_liveness --cfg=model-check:1 --cfg=contexts/factory:ucontext
-> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'model-check' to '1'
-> [0.000000] [mc_global/INFO] Check the liveness property promela_bugged1_liveness
-> [Fafard:client:(2) 0.000000] [bugged1_liveness/INFO] Ask the request
-> [Boivin:client:(3) 0.000000] [bugged1_liveness/INFO] Ask the request
-> [Fafard:client:(2) 0.000000] [bugged1_liveness/INFO] Propositions changed : r=1, cs=0
-> [Tremblay:coordinator:(1) 0.000000] [bugged1_liveness/INFO] CS idle. Grant immediatly
-> [Boivin:client:(3) 0.000000] [bugged1_liveness/INFO] 2 got the answer. Sleep a bit and release it
-> [Tremblay:coordinator:(1) 0.000000] [bugged1_liveness/INFO] CS release. resource now idle
-> [Boivin:client:(3) 0.000000] [bugged1_liveness/INFO] Ask the request
-> [Tremblay:coordinator:(1) 0.000000] [bugged1_liveness/INFO] CS idle. Grant immediatly
-> [0.000000] [mc_liveness/INFO] Next pair (depth = 22, 1 interleave) already reached (equal to state 11) !
-> [0.000000] [mc_liveness/INFO] *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
-> [0.000000] [mc_liveness/INFO] |             ACCEPTANCE CYCLE            |
-> [0.000000] [mc_liveness/INFO] *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
-> [0.000000] [mc_liveness/INFO] Counter-example that violates formula :
-> [0.000000] [mc_global/INFO] [(1)coordinator] iRecv (dst=coordinator, buff=(verbose only), size=(verbose only))
-> [0.000000] [mc_global/INFO] [(2)client] iSend (src=client, buff=(verbose only), size=(verbose only))
-> [0.000000] [mc_global/INFO] [(1)coordinator] Wait (comm=(verbose only) [(2)client -> (1)coordinator])
-> [0.000000] [mc_global/INFO] [(1)coordinator] iRecv (dst=coordinator, buff=(verbose only), size=(verbose only))
-> [0.000000] [mc_global/INFO] [(2)client] Wait (comm=(verbose only) [(2)client -> (1)coordinator])
-> [0.000000] [mc_global/INFO] [(2)client] iRecv (dst=client, buff=(verbose only), size=(verbose only))
-> [0.000000] [mc_global/INFO] [(3)client] iSend (src=client, buff=(verbose only), size=(verbose only))
-> [0.000000] [mc_global/INFO] [(1)coordinator] Wait (comm=(verbose only) [(3)client -> (1)coordinator])
-> [0.000000] [mc_global/INFO] [(1)coordinator] iSend (src=coordinator, buff=(verbose only), size=(verbose only))
-> [0.000000] [mc_global/INFO] [(3)client] Wait (comm=(verbose only) [(3)client -> (1)coordinator])
-> [0.000000] [mc_global/INFO] [(3)client] iRecv (dst=client, buff=(verbose only), size=(verbose only))
-> [0.000000] [mc_global/INFO] [(1)coordinator] Wait (comm=(verbose only) [(1)coordinator -> (3)client])
-> [0.000000] [mc_global/INFO] [(1)coordinator] iRecv (dst=coordinator, buff=(verbose only), size=(verbose only))
-> [0.000000] [mc_global/INFO] [(3)client] Wait (comm=(verbose only) [(1)coordinator -> (3)client])
-> [0.000000] [mc_global/INFO] [(3)client] iSend (src=client, buff=(verbose only), size=(verbose only))
-> [0.000000] [mc_global/INFO] [(1)coordinator] Wait (comm=(verbose only) [(3)client -> (1)coordinator])
-> [0.000000] [mc_global/INFO] [(1)coordinator] iRecv (dst=coordinator, buff=(verbose only), size=(verbose only))
-> [0.000000] [mc_global/INFO] [(3)client] Wait (comm=(verbose only) [(3)client -> (1)coordinator])
-> [0.000000] [mc_global/INFO] [(3)client] iSend (src=client, buff=(verbose only), size=(verbose only))
-> [0.000000] [mc_global/INFO] [(1)coordinator] Wait (comm=(verbose only) [(3)client -> (1)coordinator])
-> [0.000000] [mc_global/INFO] [(1)coordinator] iSend (src=coordinator, buff=(verbose only), size=(verbose only))
-> [0.000000] [mc_global/INFO] Expanded pairs = 23
-> [0.000000] [mc_global/INFO] Visited pairs = 21
-> [0.000000] [mc_global/INFO] Executed transitions = 21
+! timeout 20
+$ ${bindir:=.}/bugged1_liveness ${bindir:=..}/msg_platform.xml ${bindir:=.}/deploy_bugged1_liveness.xml --cfg=model-check:1 "--log=root.fmt:[%10.6r]%e(%i:%P@%h)%e%m%n" --cfg=contexts/factory:ucontext
+> [  0.000000] (0:@) Configuration change: Set 'model-check' to '1'
+> [  0.000000] (0:@) Check the liveness property promela_bugged1_liveness
+> [  0.000000] (0:@) Get debug information ...
+> [  0.000000] (0:@) Get debug information done !
+> [  0.000000] (2:client@Boivin) Ask the request
+> [  0.000000] (3:client@Fafard) Ask the request
+> [  0.000000] (2:client@Boivin) Propositions changed : r=1, cs=0
+> [  0.000000] (1:coordinator@Tremblay) CS idle. Grant immediatly
+> [  0.000000] (3:client@Fafard) 2 got the answer. Sleep a bit and release it
+> [  0.000000] (1:coordinator@Tremblay) CS release. resource now idle
+> [  0.000000] (3:client@Fafard) Ask the request
+> [  0.000000] (1:coordinator@Tremblay) CS idle. Grant immediatly
+> [  0.000000] (0:@) Pair 22 already reached (equal to pair 10) !
+> [  0.000000] (0:@) *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
+> [  0.000000] (0:@) |             ACCEPTANCE CYCLE            |
+> [  0.000000] (0:@) *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
+> [  0.000000] (0:@) Counter-example that violates formula :
+> [  0.000000] (0:@) [(1)Tremblay (coordinator)] iRecv(dst=(1)Tremblay (coordinator), buff=(verbose only), size=(verbose only)) (56)
+> [  0.000000] (0:@) [(2)Boivin (client)] iSend(src=(2)Boivin (client), buff=(verbose only), size=(verbose only)) (54)
+> [  0.000000] (0:@) [(1)Tremblay (coordinator)] Wait(comm=(verbose only) [(2)Boivin (client)-> (1)Tremblay (coordinator)]) (62)
+> [  0.000000] (0:@) [(1)Tremblay (coordinator)] iRecv(dst=(1)Tremblay (coordinator), buff=(verbose only), size=(verbose only)) (56)
+> [  0.000000] (0:@) [(2)Boivin (client)] Wait(comm=(verbose only) [(2)Boivin (client)-> (1)Tremblay (coordinator)]) (62)
+> [  0.000000] (0:@) [(2)Boivin (client)] iRecv(dst=(2)Boivin (client), buff=(verbose only), size=(verbose only)) (56)
+> [  0.000000] (0:@) [(3)Fafard (client)] iSend(src=(3)Fafard (client), buff=(verbose only), size=(verbose only)) (54)
+> [  0.000000] (0:@) [(1)Tremblay (coordinator)] Wait(comm=(verbose only) [(3)Fafard (client)-> (1)Tremblay (coordinator)]) (62)
+> [  0.000000] (0:@) [(1)Tremblay (coordinator)] iSend(src=(1)Tremblay (coordinator), buff=(verbose only), size=(verbose only)) (54)
+> [  0.000000] (0:@) [(3)Fafard (client)] Wait(comm=(verbose only) [(3)Fafard (client)-> (1)Tremblay (coordinator)]) (62)
+> [  0.000000] (0:@) [(3)Fafard (client)] iRecv(dst=(3)Fafard (client), buff=(verbose only), size=(verbose only)) (56)
+> [  0.000000] (0:@) [(1)Tremblay (coordinator)] Wait(comm=(verbose only) [(1)Tremblay (coordinator)-> (3)Fafard (client)]) (62)
+> [  0.000000] (0:@) [(1)Tremblay (coordinator)] iRecv(dst=(1)Tremblay (coordinator), buff=(verbose only), size=(verbose only)) (56)
+> [  0.000000] (0:@) [(3)Fafard (client)] Wait(comm=(verbose only) [(1)Tremblay (coordinator)-> (3)Fafard (client)]) (62)
+> [  0.000000] (0:@) [(3)Fafard (client)] iSend(src=(3)Fafard (client), buff=(verbose only), size=(verbose only)) (54)
+> [  0.000000] (0:@) [(1)Tremblay (coordinator)] Wait(comm=(verbose only) [(3)Fafard (client)-> (1)Tremblay (coordinator)]) (62)
+> [  0.000000] (0:@) [(1)Tremblay (coordinator)] iRecv(dst=(1)Tremblay (coordinator), buff=(verbose only), size=(verbose only)) (56)
+> [  0.000000] (0:@) [(3)Fafard (client)] Wait(comm=(verbose only) [(3)Fafard (client)-> (1)Tremblay (coordinator)]) (62)
+> [  0.000000] (0:@) [(3)Fafard (client)] iSend(src=(3)Fafard (client), buff=(verbose only), size=(verbose only)) (54)
+> [  0.000000] (0:@) [(1)Tremblay (coordinator)] Wait(comm=(verbose only) [(3)Fafard (client)-> (1)Tremblay (coordinator)]) (62)
+> [  0.000000] (0:@) [(1)Tremblay (coordinator)] iSend(src=(1)Tremblay (coordinator), buff=(verbose only), size=(verbose only)) (54)
+> [  0.000000] (0:@) Expanded pairs = 22
+> [  0.000000] (0:@) Visited pairs = 22
+> [  0.000000] (0:@) Executed transitions = 21
+
+
+