{ "jani-version":1, "features":[ "derived-operators" ], "name":"Converted from PRISM by IscasMC", "type":"dtmc", "actions":[ { "name":"read" }, { "name":"done" }, { "name":"retry" }, { "name":"loop" }, { "name":"pick" } ], "variables":[ { "name":"c", "type":{ "kind":"bounded", "base":"int", "lower-bound":1, "upper-bound":{ "op":"-", "left":3, "right":1 } } }, { "name":"s1", "type":{ "kind":"bounded", "base":"int", "lower-bound":0, "upper-bound":3 } }, { "name":"u1", "type":"bool" }, { "name":"v1", "type":{ "kind":"bounded", "base":"int", "lower-bound":0, "upper-bound":{ "op":"-", "left":5, "right":1 } } }, { "name":"p1", "type":{ "kind":"bounded", "base":"int", "lower-bound":0, "upper-bound":{ "op":"-", "left":5, "right":1 } } }, { "name":"s2", "type":{ "kind":"bounded", "base":"int", "lower-bound":0, "upper-bound":3 } }, { "name":"u2", "type":"bool" }, { "name":"v2", "type":{ "kind":"bounded", "base":"int", "lower-bound":0, "upper-bound":{ "op":"-", "left":5, "right":1 } } }, { "name":"p2", "type":{ "kind":"bounded", "base":"int", "lower-bound":0, "upper-bound":{ "op":"-", "left":5, "right":1 } } }, { "name":"s3", "type":{ "kind":"bounded", "base":"int", "lower-bound":0, "upper-bound":3 } }, { "name":"u3", "type":"bool" }, { "name":"v3", "type":{ "kind":"bounded", "base":"int", "lower-bound":0, "upper-bound":{ "op":"-", "left":5, "right":1 } } }, { "name":"p3", "type":{ "kind":"bounded", "base":"int", "lower-bound":0, "upper-bound":{ "op":"-", "left":5, "right":1 } } } ], "observables":[ { "name":"\"num_rounds\"" } ], "initial-states":{ "exp":{ "op":"∧", "left":{ "op":"∧", "left":{ "op":"∧", "left":{ "op":"∧", "left":{ "op":"∧", "left":{ "op":"∧", "left":{ "op":"∧", "left":{ "op":"∧", "left":{ "op":"∧", "left":{ "op":"∧", "left":{ "op":"∧", "left":{ "op":"∧", "left":{ "op":"=", "left":"c", "right":1 }, "right":{ "op":"=", "left":"s1", "right":0 } }, "right":{ "op":"=", "left":"u1", "right":false } }, "right":{ "op":"=", "left":"v1", "right":0 } }, "right":{ "op":"=", "left":"p1", "right":0 } }, "right":{ "op":"=", "left":"s2", "right":0 } }, "right":{ "op":"=", "left":"u2", "right":false } }, "right":{ "op":"=", "left":"v2", "right":0 } }, "right":{ "op":"=", "left":"p2", "right":0 } }, "right":{ "op":"=", "left":"s3", "right":0 } }, "right":{ "op":"=", "left":"u3", "right":false } }, "right":{ "op":"=", "left":"v3", "right":0 } }, "right":{ "op":"=", "left":"p3", "right":0 } } }, "automata":[ { "name":"counter", "locations":[ { "name":"location" } ], "initial-locations":[ "location" ], "edges":[ { "location":"location", "action":"read", "guard":{ "exp":{ "op":"<", "left":"c", "right":{ "op":"-", "left":3, "right":1 } } }, "destinations":[ { "probability":{ "exp":1 }, "location":"location", "assignments":[ { "ref":"c", "value":{ "op":"+", "left":"c", "right":1 } } ], "observables":[ ] } ] }, { "location":"location", "action":"read", "guard":{ "exp":{ "op":"=", "left":"c", "right":{ "op":"-", "left":3, "right":1 } } }, "destinations":[ { "probability":{ "exp":1 }, "location":"location", "assignments":[ { "ref":"c", "value":"c" } ], "observables":[ ] } ] }, { "location":"location", "action":"done", "guard":{ "exp":{ "op":"∨", "left":{ "op":"∨", "left":"u1", "right":"u2" }, "right":"u3" } }, "destinations":[ { "probability":{ "exp":1 }, "location":"location", "assignments":[ { "ref":"c", "value":"c" } ], "observables":[ ] } ] }, { "location":"location", "action":"retry", "guard":{ "exp":{ "op":"¬", "exp":{ "op":"∨", "left":{ "op":"∨", "left":"u1", "right":"u2" }, "right":"u3" } } }, "destinations":[ { "probability":{ "exp":1 }, "location":"location", "assignments":[ { "ref":"c", "value":1 } ], "observables":[ ] } ] }, { "location":"location", "action":"loop", "guard":{ "exp":{ "op":"=", "left":"s1", "right":3 } }, "destinations":[ { "probability":{ "exp":1 }, "location":"location", "assignments":[ { "ref":"c", "value":"c" } ], "observables":[ ] } ] } ] }, { "name":"process1", "locations":[ { "name":"location" } ], "initial-locations":[ "location" ], "edges":[ { "location":"location", "action":"pick", "guard":{ "exp":{ "op":"=", "left":"s1", "right":0 } }, "destinations":[ { "probability":{ "exp":{ "op":"/", "left":1, "right":5 } }, "location":"location", "assignments":[ { "ref":"s1", "value":1 }, { "ref":"p1", "value":0 }, { "ref":"v1", "value":0 }, { "ref":"u1", "value":true } ], "observables":[ { "ref":"\"num_rounds\"", "value":1 } ] }, { "probability":{ "exp":{ "op":"/", "left":1, "right":5 } }, "location":"location", "assignments":[ { "ref":"s1", "value":1 }, { "ref":"p1", "value":1 }, { "ref":"v1", "value":1 }, { "ref":"u1", "value":true } ], "observables":[ { "ref":"\"num_rounds\"", "value":1 } ] }, { "probability":{ "exp":{ "op":"/", "left":1, "right":5 } }, "location":"location", "assignments":[ { "ref":"s1", "value":1 }, { "ref":"p1", "value":2 }, { "ref":"v1", "value":2 }, { "ref":"u1", "value":true } ], "observables":[ { "ref":"\"num_rounds\"", "value":1 } ] }, { "probability":{ "exp":{ "op":"/", "left":1, "right":5 } }, "location":"location", "assignments":[ { "ref":"s1", "value":1 }, { "ref":"p1", "value":3 }, { "ref":"v1", "value":3 }, { "ref":"u1", "value":true } ], "observables":[ { "ref":"\"num_rounds\"", "value":1 } ] }, { "probability":{ "exp":{ "op":"/", "left":1, "right":5 } }, "location":"location", "assignments":[ { "ref":"s1", "value":1 }, { "ref":"p1", "value":4 }, { "ref":"v1", "value":4 }, { "ref":"u1", "value":true } ], "observables":[ { "ref":"\"num_rounds\"", "value":1 } ] } ] }, { "location":"location", "action":"read", "guard":{ "exp":{ "op":"∧", "left":{ "op":"∧", "left":{ "op":"=", "left":"s1", "right":1 }, "right":"u1" }, "right":{ "op":"<", "left":"c", "right":{ "op":"-", "left":3, "right":1 } } } }, "destinations":[ { "probability":{ "exp":1 }, "location":"location", "assignments":[ { "ref":"u1", "value":{ "op":"≠", "left":"p1", "right":"v2" } }, { "ref":"v1", "value":"v2" } ] } ] }, { "location":"location", "action":"read", "guard":{ "exp":{ "op":"∧", "left":{ "op":"∧", "left":{ "op":"=", "left":"s1", "right":1 }, "right":{ "op":"¬", "exp":"u1" } }, "right":{ "op":"<", "left":"c", "right":{ "op":"-", "left":3, "right":1 } } } }, "destinations":[ { "probability":{ "exp":1 }, "location":"location", "assignments":[ { "ref":"u1", "value":false }, { "ref":"v1", "value":"v2" }, { "ref":"p1", "value":0 } ] } ] }, { "location":"location", "action":"read", "guard":{ "exp":{ "op":"∧", "left":{ "op":"∧", "left":{ "op":"=", "left":"s1", "right":1 }, "right":"u1" }, "right":{ "op":"=", "left":"c", "right":{ "op":"-", "left":3, "right":1 } } } }, "destinations":[ { "probability":{ "exp":1 }, "location":"location", "assignments":[ { "ref":"s1", "value":2 }, { "ref":"u1", "value":{ "op":"≠", "left":"p1", "right":"v2" } }, { "ref":"v1", "value":0 }, { "ref":"p1", "value":0 } ] } ] }, { "location":"location", "action":"read", "guard":{ "exp":{ "op":"∧", "left":{ "op":"∧", "left":{ "op":"=", "left":"s1", "right":1 }, "right":{ "op":"¬", "exp":"u1" } }, "right":{ "op":"=", "left":"c", "right":{ "op":"-", "left":3, "right":1 } } } }, "destinations":[ { "probability":{ "exp":1 }, "location":"location", "assignments":[ { "ref":"s1", "value":2 }, { "ref":"u1", "value":false }, { "ref":"v1", "value":0 } ] } ] }, { "location":"location", "action":"done", "guard":{ "exp":{ "op":"=", "left":"s1", "right":2 } }, "destinations":[ { "probability":{ "exp":1 }, "location":"location", "assignments":[ { "ref":"s1", "value":3 }, { "ref":"u1", "value":false }, { "ref":"v1", "value":0 }, { "ref":"p1", "value":0 } ] } ] }, { "location":"location", "action":"retry", "guard":{ "exp":{ "op":"=", "left":"s1", "right":2 } }, "destinations":[ { "probability":{ "exp":1 }, "location":"location", "assignments":[ { "ref":"s1", "value":0 }, { "ref":"u1", "value":false }, { "ref":"v1", "value":0 }, { "ref":"p1", "value":0 } ] } ] }, { "location":"location", "action":"loop", "guard":{ "exp":{ "op":"=", "left":"s1", "right":3 } }, "destinations":[ { "probability":{ "exp":1 }, "location":"location", "assignments":[ { "ref":"s1", "value":3 } ] } ] } ] }, { "name":"process2", "locations":[ { "name":"location" } ], "initial-locations":[ "location" ], "edges":[ { "location":"location", "action":"pick", "guard":{ "exp":{ "op":"=", "left":"s2", "right":0 } }, "destinations":[ { "probability":{ "exp":{ "op":"/", "left":1, "right":5 } }, "location":"location", "assignments":[ { "ref":"s2", "value":1 }, { "ref":"p2", "value":0 }, { "ref":"v2", "value":0 }, { "ref":"u2", "value":true } ] }, { "probability":{ "exp":{ "op":"/", "left":1, "right":5 } }, "location":"location", "assignments":[ { "ref":"s2", "value":1 }, { "ref":"p2", "value":1 }, { "ref":"v2", "value":1 }, { "ref":"u2", "value":true } ] }, { "probability":{ "exp":{ "op":"/", "left":1, "right":5 } }, "location":"location", "assignments":[ { "ref":"s2", "value":1 }, { "ref":"p2", "value":2 }, { "ref":"v2", "value":2 }, { "ref":"u2", "value":true } ] }, { "probability":{ "exp":{ "op":"/", "left":1, "right":5 } }, "location":"location", "assignments":[ { "ref":"s2", "value":1 }, { "ref":"p2", "value":3 }, { "ref":"v2", "value":3 }, { "ref":"u2", "value":true } ] }, { "probability":{ "exp":{ "op":"/", "left":1, "right":5 } }, "location":"location", "assignments":[ { "ref":"s2", "value":1 }, { "ref":"p2", "value":4 }, { "ref":"v2", "value":4 }, { "ref":"u2", "value":true } ] } ] }, { "location":"location", "action":"read", "guard":{ "exp":{ "op":"∧", "left":{ "op":"∧", "left":{ "op":"=", "left":"s2", "right":1 }, "right":"u2" }, "right":{ "op":"<", "left":"c", "right":{ "op":"-", "left":3, "right":1 } } } }, "destinations":[ { "probability":{ "exp":1 }, "location":"location", "assignments":[ { "ref":"u2", "value":{ "op":"≠", "left":"p2", "right":"v3" } }, { "ref":"v2", "value":"v3" } ] } ] }, { "location":"location", "action":"read", "guard":{ "exp":{ "op":"∧", "left":{ "op":"∧", "left":{ "op":"=", "left":"s2", "right":1 }, "right":{ "op":"¬", "exp":"u2" } }, "right":{ "op":"<", "left":"c", "right":{ "op":"-", "left":3, "right":1 } } } }, "destinations":[ { "probability":{ "exp":1 }, "location":"location", "assignments":[ { "ref":"u2", "value":false }, { "ref":"v2", "value":"v3" }, { "ref":"p2", "value":0 } ] } ] }, { "location":"location", "action":"read", "guard":{ "exp":{ "op":"∧", "left":{ "op":"∧", "left":{ "op":"=", "left":"s2", "right":1 }, "right":"u2" }, "right":{ "op":"=", "left":"c", "right":{ "op":"-", "left":3, "right":1 } } } }, "destinations":[ { "probability":{ "exp":1 }, "location":"location", "assignments":[ { "ref":"s2", "value":2 }, { "ref":"u2", "value":{ "op":"≠", "left":"p2", "right":"v3" } }, { "ref":"v2", "value":0 }, { "ref":"p2", "value":0 } ] } ] }, { "location":"location", "action":"read", "guard":{ "exp":{ "op":"∧", "left":{ "op":"∧", "left":{ "op":"=", "left":"s2", "right":1 }, "right":{ "op":"¬", "exp":"u2" } }, "right":{ "op":"=", "left":"c", "right":{ "op":"-", "left":3, "right":1 } } } }, "destinations":[ { "probability":{ "exp":1 }, "location":"location", "assignments":[ { "ref":"s2", "value":2 }, { "ref":"u2", "value":false }, { "ref":"v2", "value":0 } ] } ] }, { "location":"location", "action":"done", "guard":{ "exp":{ "op":"=", "left":"s2", "right":2 } }, "destinations":[ { "probability":{ "exp":1 }, "location":"location", "assignments":[ { "ref":"s2", "value":3 }, { "ref":"u2", "value":false }, { "ref":"v2", "value":0 }, { "ref":"p2", "value":0 } ] } ] }, { "location":"location", "action":"retry", "guard":{ "exp":{ "op":"=", "left":"s2", "right":2 } }, "destinations":[ { "probability":{ "exp":1 }, "location":"location", "assignments":[ { "ref":"s2", "value":0 }, { "ref":"u2", "value":false }, { "ref":"v2", "value":0 }, { "ref":"p2", "value":0 } ] } ] }, { "location":"location", "action":"loop", "guard":{ "exp":{ "op":"=", "left":"s2", "right":3 } }, "destinations":[ { "probability":{ "exp":1 }, "location":"location", "assignments":[ { "ref":"s2", "value":3 } ] } ] } ] }, { "name":"process3", "locations":[ { "name":"location" } ], "initial-locations":[ "location" ], "edges":[ { "location":"location", "action":"pick", "guard":{ "exp":{ "op":"=", "left":"s3", "right":0 } }, "destinations":[ { "probability":{ "exp":{ "op":"/", "left":1, "right":5 } }, "location":"location", "assignments":[ { "ref":"s3", "value":1 }, { "ref":"p3", "value":0 }, { "ref":"v3", "value":0 }, { "ref":"u3", "value":true } ] }, { "probability":{ "exp":{ "op":"/", "left":1, "right":5 } }, "location":"location", "assignments":[ { "ref":"s3", "value":1 }, { "ref":"p3", "value":1 }, { "ref":"v3", "value":1 }, { "ref":"u3", "value":true } ] }, { "probability":{ "exp":{ "op":"/", "left":1, "right":5 } }, "location":"location", "assignments":[ { "ref":"s3", "value":1 }, { "ref":"p3", "value":2 }, { "ref":"v3", "value":2 }, { "ref":"u3", "value":true } ] }, { "probability":{ "exp":{ "op":"/", "left":1, "right":5 } }, "location":"location", "assignments":[ { "ref":"s3", "value":1 }, { "ref":"p3", "value":3 }, { "ref":"v3", "value":3 }, { "ref":"u3", "value":true } ] }, { "probability":{ "exp":{ "op":"/", "left":1, "right":5 } }, "location":"location", "assignments":[ { "ref":"s3", "value":1 }, { "ref":"p3", "value":4 }, { "ref":"v3", "value":4 }, { "ref":"u3", "value":true } ] } ] }, { "location":"location", "action":"read", "guard":{ "exp":{ "op":"∧", "left":{ "op":"∧", "left":{ "op":"=", "left":"s3", "right":1 }, "right":"u3" }, "right":{ "op":"<", "left":"c", "right":{ "op":"-", "left":3, "right":1 } } } }, "destinations":[ { "probability":{ "exp":1 }, "location":"location", "assignments":[ { "ref":"u3", "value":{ "op":"≠", "left":"p3", "right":"v1" } }, { "ref":"v3", "value":"v1" } ] } ] }, { "location":"location", "action":"read", "guard":{ "exp":{ "op":"∧", "left":{ "op":"∧", "left":{ "op":"=", "left":"s3", "right":1 }, "right":{ "op":"¬", "exp":"u3" } }, "right":{ "op":"<", "left":"c", "right":{ "op":"-", "left":3, "right":1 } } } }, "destinations":[ { "probability":{ "exp":1 }, "location":"location", "assignments":[ { "ref":"u3", "value":false }, { "ref":"v3", "value":"v1" }, { "ref":"p3", "value":0 } ] } ] }, { "location":"location", "action":"read", "guard":{ "exp":{ "op":"∧", "left":{ "op":"∧", "left":{ "op":"=", "left":"s3", "right":1 }, "right":"u3" }, "right":{ "op":"=", "left":"c", "right":{ "op":"-", "left":3, "right":1 } } } }, "destinations":[ { "probability":{ "exp":1 }, "location":"location", "assignments":[ { "ref":"s3", "value":2 }, { "ref":"u3", "value":{ "op":"≠", "left":"p3", "right":"v1" } }, { "ref":"v3", "value":0 }, { "ref":"p3", "value":0 } ] } ] }, { "location":"location", "action":"read", "guard":{ "exp":{ "op":"∧", "left":{ "op":"∧", "left":{ "op":"=", "left":"s3", "right":1 }, "right":{ "op":"¬", "exp":"u3" } }, "right":{ "op":"=", "left":"c", "right":{ "op":"-", "left":3, "right":1 } } } }, "destinations":[ { "probability":{ "exp":1 }, "location":"location", "assignments":[ { "ref":"s3", "value":2 }, { "ref":"u3", "value":false }, { "ref":"v3", "value":0 } ] } ] }, { "location":"location", "action":"done", "guard":{ "exp":{ "op":"=", "left":"s3", "right":2 } }, "destinations":[ { "probability":{ "exp":1 }, "location":"location", "assignments":[ { "ref":"s3", "value":3 }, { "ref":"u3", "value":false }, { "ref":"v3", "value":0 }, { "ref":"p3", "value":0 } ] } ] }, { "location":"location", "action":"retry", "guard":{ "exp":{ "op":"=", "left":"s3", "right":2 } }, "destinations":[ { "probability":{ "exp":1 }, "location":"location", "assignments":[ { "ref":"s3", "value":0 }, { "ref":"u3", "value":false }, { "ref":"v3", "value":0 }, { "ref":"p3", "value":0 } ] } ] }, { "location":"location", "action":"loop", "guard":{ "exp":{ "op":"=", "left":"s3", "right":3 } }, "destinations":[ { "probability":{ "exp":1 }, "location":"location", "assignments":[ { "ref":"s3", "value":3 } ] } ] } ] } ], "system":{ "elements":[ { "automaton":"counter" }, { "automaton":"process1" }, { "automaton":"process2" }, { "automaton":"process3" } ], "syncs":[ { "synchronise":[ "read", "read", "read", "read" ], "result":"read" }, { "synchronise":[ "done", "done", "done", "done" ], "result":"done" }, { "synchronise":[ "retry", "retry", "retry", "retry" ], "result":"retry" }, { "synchronise":[ "loop", "loop", "loop", "loop" ], "result":"loop" }, { "synchronise":[ null, "pick", "pick", "pick" ], "result":"pick" } ] } }