{ "jani-version":1, "features":[ "derived-operators" ], "name":"Converted from PRISM by IscasMC", "type":"mdp", "actions":[ { "name":"tau__" }, { "name":"done" } ], "constants":[ { "name":"K", "type":"int" } ], "variables":[ { "name":"counter", "type":{ "kind":"bounded", "base":"int", "lower-bound":0, "upper-bound":{ "op":"*", "left":{ "op":"*", "left":2, "right":{ "op":"+", "left":"K", "right":1 } }, "right":4 } } }, { "name":"pc1", "type":{ "kind":"bounded", "base":"int", "lower-bound":0, "upper-bound":3 } }, { "name":"coin1", "type":{ "kind":"bounded", "base":"int", "lower-bound":0, "upper-bound":1 } }, { "name":"pc2", "type":{ "kind":"bounded", "base":"int", "lower-bound":0, "upper-bound":3 } }, { "name":"coin2", "type":{ "kind":"bounded", "base":"int", "lower-bound":0, "upper-bound":1 } }, { "name":"pc3", "type":{ "kind":"bounded", "base":"int", "lower-bound":0, "upper-bound":3 } }, { "name":"coin3", "type":{ "kind":"bounded", "base":"int", "lower-bound":0, "upper-bound":1 } }, { "name":"pc4", "type":{ "kind":"bounded", "base":"int", "lower-bound":0, "upper-bound":3 } }, { "name":"coin4", "type":{ "kind":"bounded", "base":"int", "lower-bound":0, "upper-bound":1 } } ], "observables":[ { "name":"\"steps\"" } ], "initial-states":{ "exp":{ "op":"∧", "left":{ "op":"∧", "left":{ "op":"∧", "left":{ "op":"∧", "left":{ "op":"∧", "left":{ "op":"∧", "left":{ "op":"∧", "left":{ "op":"∧", "left":{ "op":"=", "left":"counter", "right":{ "op":"*", "left":{ "op":"+", "left":"K", "right":1 }, "right":4 } }, "right":{ "op":"=", "left":"pc1", "right":0 } }, "right":{ "op":"=", "left":"coin1", "right":0 } }, "right":{ "op":"=", "left":"pc2", "right":0 } }, "right":{ "op":"=", "left":"coin2", "right":0 } }, "right":{ "op":"=", "left":"pc3", "right":0 } }, "right":{ "op":"=", "left":"coin3", "right":0 } }, "right":{ "op":"=", "left":"pc4", "right":0 } }, "right":{ "op":"=", "left":"coin4", "right":0 } } }, "automata":[ { "name":"process1", "locations":[ { "name":"location", "observables":[ { "ref":"\"steps\"", "value":1 } ] } ], "initial-locations":[ "location" ], "edges":[ { "location":"location", "action":"tau__", "guard":{ "exp":{ "op":"=", "left":"pc1", "right":0 } }, "destinations":[ { "probability":{ "exp":0.5000000 }, "location":"location", "assignments":[ { "ref":"coin1", "value":0 }, { "ref":"pc1", "value":1 } ], "observables":[ ] }, { "probability":{ "exp":0.5000000 }, "location":"location", "assignments":[ { "ref":"coin1", "value":1 }, { "ref":"pc1", "value":1 } ], "observables":[ ] } ] }, { "location":"location", "action":"tau__", "guard":{ "exp":{ "op":"∧", "left":{ "op":"∧", "left":{ "op":"=", "left":"pc1", "right":1 }, "right":{ "op":"=", "left":"coin1", "right":0 } }, "right":{ "op":">", "left":"counter", "right":0 } } }, "destinations":[ { "probability":{ "exp":1 }, "location":"location", "assignments":[ { "ref":"counter", "value":{ "op":"-", "left":"counter", "right":1 } }, { "ref":"pc1", "value":2 }, { "ref":"coin1", "value":0 } ], "observables":[ ] } ] }, { "location":"location", "action":"tau__", "guard":{ "exp":{ "op":"∧", "left":{ "op":"∧", "left":{ "op":"=", "left":"pc1", "right":1 }, "right":{ "op":"=", "left":"coin1", "right":1 } }, "right":{ "op":"<", "left":"counter", "right":{ "op":"*", "left":{ "op":"*", "left":2, "right":{ "op":"+", "left":"K", "right":1 } }, "right":4 } } } }, "destinations":[ { "probability":{ "exp":1 }, "location":"location", "assignments":[ { "ref":"counter", "value":{ "op":"+", "left":"counter", "right":1 } }, { "ref":"pc1", "value":2 }, { "ref":"coin1", "value":0 } ], "observables":[ ] } ] }, { "location":"location", "action":"tau__", "guard":{ "exp":{ "op":"∧", "left":{ "op":"=", "left":"pc1", "right":2 }, "right":{ "op":"≤", "left":"counter", "right":4 } } }, "destinations":[ { "probability":{ "exp":1 }, "location":"location", "assignments":[ { "ref":"pc1", "value":3 }, { "ref":"coin1", "value":0 } ], "observables":[ ] } ] }, { "location":"location", "action":"tau__", "guard":{ "exp":{ "op":"∧", "left":{ "op":"=", "left":"pc1", "right":2 }, "right":{ "op":"≥", "left":"counter", "right":{ "op":"-", "left":{ "op":"*", "left":{ "op":"*", "left":2, "right":{ "op":"+", "left":"K", "right":1 } }, "right":4 }, "right":4 } } } }, "destinations":[ { "probability":{ "exp":1 }, "location":"location", "assignments":[ { "ref":"pc1", "value":3 }, { "ref":"coin1", "value":1 } ], "observables":[ ] } ] }, { "location":"location", "action":"tau__", "guard":{ "exp":{ "op":"∧", "left":{ "op":"∧", "left":{ "op":"=", "left":"pc1", "right":2 }, "right":{ "op":">", "left":"counter", "right":4 } }, "right":{ "op":"<", "left":"counter", "right":{ "op":"-", "left":{ "op":"*", "left":{ "op":"*", "left":2, "right":{ "op":"+", "left":"K", "right":1 } }, "right":4 }, "right":4 } } } }, "destinations":[ { "probability":{ "exp":1 }, "location":"location", "assignments":[ { "ref":"pc1", "value":0 } ], "observables":[ ] } ] }, { "location":"location", "action":"done", "guard":{ "exp":{ "op":"=", "left":"pc1", "right":3 } }, "destinations":[ { "probability":{ "exp":1 }, "location":"location", "assignments":[ { "ref":"pc1", "value":3 } ], "observables":[ ] } ] } ] }, { "name":"process2", "locations":[ { "name":"location" } ], "initial-locations":[ "location" ], "edges":[ { "location":"location", "action":"tau__", "guard":{ "exp":{ "op":"=", "left":"pc2", "right":0 } }, "destinations":[ { "probability":{ "exp":0.5000000 }, "location":"location", "assignments":[ { "ref":"coin2", "value":0 }, { "ref":"pc2", "value":1 } ], "observables":[ ] }, { "probability":{ "exp":0.5000000 }, "location":"location", "assignments":[ { "ref":"coin2", "value":1 }, { "ref":"pc2", "value":1 } ], "observables":[ ] } ] }, { "location":"location", "action":"tau__", "guard":{ "exp":{ "op":"∧", "left":{ "op":"∧", "left":{ "op":"=", "left":"pc2", "right":1 }, "right":{ "op":"=", "left":"coin2", "right":0 } }, "right":{ "op":">", "left":"counter", "right":0 } } }, "destinations":[ { "probability":{ "exp":1 }, "location":"location", "assignments":[ { "ref":"counter", "value":{ "op":"-", "left":"counter", "right":1 } }, { "ref":"pc2", "value":2 }, { "ref":"coin2", "value":0 } ], "observables":[ ] } ] }, { "location":"location", "action":"tau__", "guard":{ "exp":{ "op":"∧", "left":{ "op":"∧", "left":{ "op":"=", "left":"pc2", "right":1 }, "right":{ "op":"=", "left":"coin2", "right":1 } }, "right":{ "op":"<", "left":"counter", "right":{ "op":"*", "left":{ "op":"*", "left":2, "right":{ "op":"+", "left":"K", "right":1 } }, "right":4 } } } }, "destinations":[ { "probability":{ "exp":1 }, "location":"location", "assignments":[ { "ref":"counter", "value":{ "op":"+", "left":"counter", "right":1 } }, { "ref":"pc2", "value":2 }, { "ref":"coin2", "value":0 } ], "observables":[ ] } ] }, { "location":"location", "action":"tau__", "guard":{ "exp":{ "op":"∧", "left":{ "op":"=", "left":"pc2", "right":2 }, "right":{ "op":"≤", "left":"counter", "right":4 } } }, "destinations":[ { "probability":{ "exp":1 }, "location":"location", "assignments":[ { "ref":"pc2", "value":3 }, { "ref":"coin2", "value":0 } ], "observables":[ ] } ] }, { "location":"location", "action":"tau__", "guard":{ "exp":{ "op":"∧", "left":{ "op":"=", "left":"pc2", "right":2 }, "right":{ "op":"≥", "left":"counter", "right":{ "op":"-", "left":{ "op":"*", "left":{ "op":"*", "left":2, "right":{ "op":"+", "left":"K", "right":1 } }, "right":4 }, "right":4 } } } }, "destinations":[ { "probability":{ "exp":1 }, "location":"location", "assignments":[ { "ref":"pc2", "value":3 }, { "ref":"coin2", "value":1 } ], "observables":[ ] } ] }, { "location":"location", "action":"tau__", "guard":{ "exp":{ "op":"∧", "left":{ "op":"∧", "left":{ "op":"=", "left":"pc2", "right":2 }, "right":{ "op":">", "left":"counter", "right":4 } }, "right":{ "op":"<", "left":"counter", "right":{ "op":"-", "left":{ "op":"*", "left":{ "op":"*", "left":2, "right":{ "op":"+", "left":"K", "right":1 } }, "right":4 }, "right":4 } } } }, "destinations":[ { "probability":{ "exp":1 }, "location":"location", "assignments":[ { "ref":"pc2", "value":0 } ], "observables":[ ] } ] }, { "location":"location", "action":"done", "guard":{ "exp":{ "op":"=", "left":"pc2", "right":3 } }, "destinations":[ { "probability":{ "exp":1 }, "location":"location", "assignments":[ { "ref":"pc2", "value":3 } ] } ] } ] }, { "name":"process3", "locations":[ { "name":"location" } ], "initial-locations":[ "location" ], "edges":[ { "location":"location", "action":"tau__", "guard":{ "exp":{ "op":"=", "left":"pc3", "right":0 } }, "destinations":[ { "probability":{ "exp":0.5000000 }, "location":"location", "assignments":[ { "ref":"coin3", "value":0 }, { "ref":"pc3", "value":1 } ], "observables":[ ] }, { "probability":{ "exp":0.5000000 }, "location":"location", "assignments":[ { "ref":"coin3", "value":1 }, { "ref":"pc3", "value":1 } ], "observables":[ ] } ] }, { "location":"location", "action":"tau__", "guard":{ "exp":{ "op":"∧", "left":{ "op":"∧", "left":{ "op":"=", "left":"pc3", "right":1 }, "right":{ "op":"=", "left":"coin3", "right":0 } }, "right":{ "op":">", "left":"counter", "right":0 } } }, "destinations":[ { "probability":{ "exp":1 }, "location":"location", "assignments":[ { "ref":"counter", "value":{ "op":"-", "left":"counter", "right":1 } }, { "ref":"pc3", "value":2 }, { "ref":"coin3", "value":0 } ], "observables":[ ] } ] }, { "location":"location", "action":"tau__", "guard":{ "exp":{ "op":"∧", "left":{ "op":"∧", "left":{ "op":"=", "left":"pc3", "right":1 }, "right":{ "op":"=", "left":"coin3", "right":1 } }, "right":{ "op":"<", "left":"counter", "right":{ "op":"*", "left":{ "op":"*", "left":2, "right":{ "op":"+", "left":"K", "right":1 } }, "right":4 } } } }, "destinations":[ { "probability":{ "exp":1 }, "location":"location", "assignments":[ { "ref":"counter", "value":{ "op":"+", "left":"counter", "right":1 } }, { "ref":"pc3", "value":2 }, { "ref":"coin3", "value":0 } ], "observables":[ ] } ] }, { "location":"location", "action":"tau__", "guard":{ "exp":{ "op":"∧", "left":{ "op":"=", "left":"pc3", "right":2 }, "right":{ "op":"≤", "left":"counter", "right":4 } } }, "destinations":[ { "probability":{ "exp":1 }, "location":"location", "assignments":[ { "ref":"pc3", "value":3 }, { "ref":"coin3", "value":0 } ], "observables":[ ] } ] }, { "location":"location", "action":"tau__", "guard":{ "exp":{ "op":"∧", "left":{ "op":"=", "left":"pc3", "right":2 }, "right":{ "op":"≥", "left":"counter", "right":{ "op":"-", "left":{ "op":"*", "left":{ "op":"*", "left":2, "right":{ "op":"+", "left":"K", "right":1 } }, "right":4 }, "right":4 } } } }, "destinations":[ { "probability":{ "exp":1 }, "location":"location", "assignments":[ { "ref":"pc3", "value":3 }, { "ref":"coin3", "value":1 } ], "observables":[ ] } ] }, { "location":"location", "action":"tau__", "guard":{ "exp":{ "op":"∧", "left":{ "op":"∧", "left":{ "op":"=", "left":"pc3", "right":2 }, "right":{ "op":">", "left":"counter", "right":4 } }, "right":{ "op":"<", "left":"counter", "right":{ "op":"-", "left":{ "op":"*", "left":{ "op":"*", "left":2, "right":{ "op":"+", "left":"K", "right":1 } }, "right":4 }, "right":4 } } } }, "destinations":[ { "probability":{ "exp":1 }, "location":"location", "assignments":[ { "ref":"pc3", "value":0 } ], "observables":[ ] } ] }, { "location":"location", "action":"done", "guard":{ "exp":{ "op":"=", "left":"pc3", "right":3 } }, "destinations":[ { "probability":{ "exp":1 }, "location":"location", "assignments":[ { "ref":"pc3", "value":3 } ] } ] } ] }, { "name":"process4", "locations":[ { "name":"location" } ], "initial-locations":[ "location" ], "edges":[ { "location":"location", "action":"tau__", "guard":{ "exp":{ "op":"=", "left":"pc4", "right":0 } }, "destinations":[ { "probability":{ "exp":0.5000000 }, "location":"location", "assignments":[ { "ref":"coin4", "value":0 }, { "ref":"pc4", "value":1 } ], "observables":[ ] }, { "probability":{ "exp":0.5000000 }, "location":"location", "assignments":[ { "ref":"coin4", "value":1 }, { "ref":"pc4", "value":1 } ], "observables":[ ] } ] }, { "location":"location", "action":"tau__", "guard":{ "exp":{ "op":"∧", "left":{ "op":"∧", "left":{ "op":"=", "left":"pc4", "right":1 }, "right":{ "op":"=", "left":"coin4", "right":0 } }, "right":{ "op":">", "left":"counter", "right":0 } } }, "destinations":[ { "probability":{ "exp":1 }, "location":"location", "assignments":[ { "ref":"counter", "value":{ "op":"-", "left":"counter", "right":1 } }, { "ref":"pc4", "value":2 }, { "ref":"coin4", "value":0 } ], "observables":[ ] } ] }, { "location":"location", "action":"tau__", "guard":{ "exp":{ "op":"∧", "left":{ "op":"∧", "left":{ "op":"=", "left":"pc4", "right":1 }, "right":{ "op":"=", "left":"coin4", "right":1 } }, "right":{ "op":"<", "left":"counter", "right":{ "op":"*", "left":{ "op":"*", "left":2, "right":{ "op":"+", "left":"K", "right":1 } }, "right":4 } } } }, "destinations":[ { "probability":{ "exp":1 }, "location":"location", "assignments":[ { "ref":"counter", "value":{ "op":"+", "left":"counter", "right":1 } }, { "ref":"pc4", "value":2 }, { "ref":"coin4", "value":0 } ], "observables":[ ] } ] }, { "location":"location", "action":"tau__", "guard":{ "exp":{ "op":"∧", "left":{ "op":"=", "left":"pc4", "right":2 }, "right":{ "op":"≤", "left":"counter", "right":4 } } }, "destinations":[ { "probability":{ "exp":1 }, "location":"location", "assignments":[ { "ref":"pc4", "value":3 }, { "ref":"coin4", "value":0 } ], "observables":[ ] } ] }, { "location":"location", "action":"tau__", "guard":{ "exp":{ "op":"∧", "left":{ "op":"=", "left":"pc4", "right":2 }, "right":{ "op":"≥", "left":"counter", "right":{ "op":"-", "left":{ "op":"*", "left":{ "op":"*", "left":2, "right":{ "op":"+", "left":"K", "right":1 } }, "right":4 }, "right":4 } } } }, "destinations":[ { "probability":{ "exp":1 }, "location":"location", "assignments":[ { "ref":"pc4", "value":3 }, { "ref":"coin4", "value":1 } ], "observables":[ ] } ] }, { "location":"location", "action":"tau__", "guard":{ "exp":{ "op":"∧", "left":{ "op":"∧", "left":{ "op":"=", "left":"pc4", "right":2 }, "right":{ "op":">", "left":"counter", "right":4 } }, "right":{ "op":"<", "left":"counter", "right":{ "op":"-", "left":{ "op":"*", "left":{ "op":"*", "left":2, "right":{ "op":"+", "left":"K", "right":1 } }, "right":4 }, "right":4 } } } }, "destinations":[ { "probability":{ "exp":1 }, "location":"location", "assignments":[ { "ref":"pc4", "value":0 } ], "observables":[ ] } ] }, { "location":"location", "action":"done", "guard":{ "exp":{ "op":"=", "left":"pc4", "right":3 } }, "destinations":[ { "probability":{ "exp":1 }, "location":"location", "assignments":[ { "ref":"pc4", "value":3 } ] } ] } ] } ], "system":{ "elements":[ { "automaton":"process1" }, { "automaton":"process2" }, { "automaton":"process3" }, { "automaton":"process4" } ], "syncs":[ { "synchronise":[ "done", "done", "done", "done" ], "result":"done" }, { "synchronise":[ "tau__", null, null, null ], "result":"tau__" }, { "synchronise":[ null, "tau__", null, null ], "result":"tau__" }, { "synchronise":[ null, null, "tau__", null ], "result":"tau__" }, { "synchronise":[ null, null, null, "tau__" ], "result":"tau__" } ] } }