{ "jani-version":1, "features":[ "derived-operators" ], "name":"Converted from PRISM by IscasMC", "type":"pta", "actions":[ { "name":"req" }, { "name":"message" }, { "name":"ack" }, { "name":"tau__" }, { "name":"decode" }, { "name":"finished" }, { "name":"stop" }, { "name":"error" }, { "name":"decoded_random" }, { "name":"decoded_last" } ], "variables":[ { "name":"o", "type":{ "kind":"bounded", "base":"int", "lower-bound":0, "upper-bound":12 } }, { "name":"x", "type":"clock" }, { "name":"r", "type":{ "kind":"bounded", "base":"int", "lower-bound":0, "upper-bound":9 } }, { "name":"y", "type":"clock" } ], "observables":[ ], "initial-states":{ "exp":{ "op":"∧", "left":{ "op":"∧", "left":{ "op":"∧", "left":{ "op":"=", "left":"o", "right":0 }, "right":{ "op":"=", "left":"x", "right":0 } }, "right":{ "op":"=", "left":"r", "right":0 } }, "right":{ "op":"=", "left":"y", "right":0 } } }, "automata":[ { "name":"originator", "locations":[ { "name":"location", "invariant":{ "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":{ "op":"=", "left":"o", "right":0 }, "right":true }, "right":{ "op":"⇒", "left":{ "op":"=", "left":"o", "right":1 }, "right":{ "op":"≤", "left":"x", "right":0 } } }, "right":{ "op":"⇒", "left":{ "op":"=", "left":"o", "right":2 }, "right":{ "op":"≤", "left":"x", "right":5 } } }, "right":{ "op":"⇒", "left":{ "op":"=", "left":"o", "right":3 }, "right":{ "op":"≤", "left":"x", "right":0 } } }, "right":{ "op":"⇒", "left":{ "op":"=", "left":"o", "right":4 }, "right":{ "op":"≤", "left":"x", "right":0 } } }, "right":{ "op":"⇒", "left":{ "op":"=", "left":"o", "right":5 }, "right":{ "op":"≤", "left":"x", "right":0 } } }, "right":{ "op":"⇒", "left":{ "op":"=", "left":"o", "right":6 }, "right":true } }, "right":{ "op":"⇒", "left":{ "op":"=", "left":"o", "right":7 }, "right":true } }, "right":{ "op":"⇒", "left":{ "op":"=", "left":"o", "right":8 }, "right":true } }, "right":{ "op":"⇒", "left":{ "op":"=", "left":"o", "right":9 }, "right":true } }, "right":{ "op":"⇒", "left":{ "op":"=", "left":"o", "right":10 }, "right":true } }, "right":{ "op":"⇒", "left":{ "op":"=", "left":"o", "right":11 }, "right":{ "op":"≤", "left":"x", "right":5 } } }, "right":{ "op":"⇒", "left":{ "op":"=", "left":"o", "right":12 }, "right":{ "op":"≤", "left":"x", "right":5 } } } } } ], "initial-locations":[ "location" ], "edges":[ { "location":"location", "action":"req", "guard":{ "exp":{ "op":"=", "left":"o", "right":0 } }, "destinations":[ { "probability":{ "exp":1 }, "location":"location", "assignments":[ { "ref":"o", "value":1 }, { "ref":"x", "value":0 } ], "observables":[ ] } ] }, { "location":"location", "action":"message", "guard":{ "exp":{ "op":"∧", "left":{ "op":"=", "left":"o", "right":1 }, "right":{ "op":"≤", "left":"x", "right":0 } } }, "destinations":[ { "probability":{ "exp":1 }, "location":"location", "assignments":[ { "ref":"o", "value":2 } ], "observables":[ ] } ] }, { "location":"location", "action":"ack", "guard":{ "exp":{ "op":"∧", "left":{ "op":"=", "left":"o", "right":2 }, "right":{ "op":"∧", "left":{ "op":"≥", "left":"x", "right":1 }, "right":{ "op":"≤", "left":"x", "right":4 } } } }, "destinations":[ { "probability":{ "exp":0.9000000 }, "location":"location", "assignments":[ { "ref":"o", "value":1 }, { "ref":"x", "value":0 } ], "observables":[ ] }, { "probability":{ "exp":0.1000000 }, "location":"location", "assignments":[ { "ref":"o", "value":3 }, { "ref":"x", "value":0 } ], "observables":[ ] } ] }, { "location":"location", "action":"tau__", "guard":{ "exp":{ "op":"∧", "left":{ "op":"=", "left":"o", "right":2 }, "right":{ "op":">", "left":"x", "right":4 } } }, "destinations":[ { "probability":{ "exp":0.9000000 }, "location":"location", "assignments":[ { "ref":"o", "value":4 }, { "ref":"x", "value":0 } ], "observables":[ ] }, { "probability":{ "exp":0.1000000 }, "location":"location", "assignments":[ { "ref":"o", "value":5 }, { "ref":"x", "value":0 } ], "observables":[ ] } ] }, { "location":"location", "action":"decode", "guard":{ "exp":{ "op":"=", "left":"o", "right":2 } }, "destinations":[ { "probability":{ "exp":0.9000000 }, "location":"location", "assignments":[ { "ref":"o", "value":6 } ], "observables":[ ] }, { "probability":{ "exp":0.1000000 }, "location":"location", "assignments":[ { "ref":"o", "value":7 } ], "observables":[ ] } ] }, { "location":"location", "action":"finished", "guard":{ "exp":{ "op":"=", "left":"o", "right":3 } }, "destinations":[ { "probability":{ "exp":1 }, "location":"location", "assignments":[ { "ref":"o", "value":8 }, { "ref":"x", "value":0 } ], "observables":[ ] } ] }, { "location":"location", "action":"tau__", "guard":{ "exp":{ "op":"=", "left":"o", "right":8 } }, "destinations":[ { "probability":{ "exp":1 }, "location":"location", "assignments":[ { "ref":"o", "value":8 } ], "observables":[ ] } ] }, { "location":"location", "action":"tau__", "guard":{ "exp":{ "op":"=", "left":"o", "right":9 } }, "destinations":[ { "probability":{ "exp":1 }, "location":"location", "assignments":[ { "ref":"o", "value":9 } ], "observables":[ ] } ] }, { "location":"location", "action":"tau__", "guard":{ "exp":{ "op":"=", "left":"o", "right":10 } }, "destinations":[ { "probability":{ "exp":1 }, "location":"location", "assignments":[ { "ref":"o", "value":10 } ], "observables":[ ] } ] }, { "location":"location", "action":"stop", "guard":{ "exp":{ "op":"=", "left":"o", "right":4 } }, "destinations":[ { "probability":{ "exp":1 }, "location":"location", "assignments":[ { "ref":"o", "value":9 } ], "observables":[ ] } ] }, { "location":"location", "action":"error", "guard":{ "exp":{ "op":"=", "left":"o", "right":5 } }, "destinations":[ { "probability":{ "exp":1 }, "location":"location", "assignments":[ { "ref":"o", "value":10 } ], "observables":[ ] } ] }, { "location":"location", "action":"decoded_random", "guard":{ "exp":{ "op":"=", "left":"o", "right":6 } }, "destinations":[ { "probability":{ "exp":1 }, "location":"location", "assignments":[ { "ref":"o", "value":11 } ], "observables":[ ] } ] }, { "location":"location", "action":"decoded_last", "guard":{ "exp":{ "op":"=", "left":"o", "right":7 } }, "destinations":[ { "probability":{ "exp":1 }, "location":"location", "assignments":[ { "ref":"o", "value":12 } ], "observables":[ ] } ] }, { "location":"location", "action":"ack", "guard":{ "exp":{ "op":"∧", "left":{ "op":"=", "left":"o", "right":11 }, "right":{ "op":"∧", "left":{ "op":"≥", "left":"x", "right":1 }, "right":{ "op":"≤", "left":"x", "right":4 } } } }, "destinations":[ { "probability":{ "exp":1 }, "location":"location", "assignments":[ { "ref":"o", "value":1 }, { "ref":"x", "value":0 } ], "observables":[ ] } ] }, { "location":"location", "action":"stop", "guard":{ "exp":{ "op":"∧", "left":{ "op":"=", "left":"o", "right":11 }, "right":{ "op":">", "left":"x", "right":4 } } }, "destinations":[ { "probability":{ "exp":1 }, "location":"location", "assignments":[ { "ref":"o", "value":9 }, { "ref":"x", "value":0 } ], "observables":[ ] } ] }, { "location":"location", "action":"ack", "guard":{ "exp":{ "op":"∧", "left":{ "op":"=", "left":"o", "right":12 }, "right":{ "op":"∧", "left":{ "op":"≥", "left":"x", "right":1 }, "right":{ "op":"≤", "left":"x", "right":4 } } } }, "destinations":[ { "probability":{ "exp":1 }, "location":"location", "assignments":[ { "ref":"o", "value":3 }, { "ref":"x", "value":0 } ], "observables":[ ] } ] }, { "location":"location", "action":"stop", "guard":{ "exp":{ "op":"∧", "left":{ "op":"=", "left":"o", "right":12 }, "right":{ "op":">", "left":"x", "right":4 } } }, "destinations":[ { "probability":{ "exp":1 }, "location":"location", "assignments":[ { "ref":"o", "value":10 }, { "ref":"x", "value":0 } ], "observables":[ ] } ] } ] }, { "name":"recipient", "locations":[ { "name":"location", "invariant":{ "exp":{ "op":"∧", "left":{ "op":"∧", "left":{ "op":"∧", "left":{ "op":"∧", "left":{ "op":"∧", "left":{ "op":"∧", "left":{ "op":"∧", "left":{ "op":"∧", "left":{ "op":"∧", "left":{ "op":"⇒", "left":{ "op":"=", "left":"r", "right":0 }, "right":{ "op":"≤", "left":"y", "right":0 } }, "right":{ "op":"⇒", "left":{ "op":"=", "left":"r", "right":1 }, "right":true } }, "right":{ "op":"⇒", "left":{ "op":"=", "left":"r", "right":2 }, "right":true } }, "right":{ "op":"⇒", "left":{ "op":"=", "left":"r", "right":3 }, "right":true } }, "right":{ "op":"⇒", "left":{ "op":"=", "left":"r", "right":4 }, "right":{ "op":"≤", "left":"y", "right":1 } } }, "right":{ "op":"⇒", "left":{ "op":"=", "left":"r", "right":5 }, "right":{ "op":"≤", "left":"y", "right":3 } } }, "right":{ "op":"⇒", "left":{ "op":"=", "left":"r", "right":6 }, "right":true } }, "right":{ "op":"⇒", "left":{ "op":"=", "left":"r", "right":7 }, "right":{ "op":"≤", "left":"y", "right":0 } } }, "right":{ "op":"⇒", "left":{ "op":"=", "left":"r", "right":8 }, "right":{ "op":"≤", "left":"y", "right":0 } } }, "right":{ "op":"⇒", "left":{ "op":"=", "left":"r", "right":9 }, "right":{ "op":"≤", "left":"y", "right":0 } } } } } ], "initial-locations":[ "location" ], "edges":[ { "location":"location", "action":"req", "guard":{ "exp":{ "op":"∧", "left":{ "op":"=", "left":"r", "right":0 }, "right":{ "op":"=", "left":"y", "right":0 } } }, "destinations":[ { "probability":{ "exp":1 }, "location":"location", "assignments":[ { "ref":"r", "value":1 } ] } ] }, { "location":"location", "action":"message", "guard":{ "exp":{ "op":"=", "left":"r", "right":1 } }, "destinations":[ { "probability":{ "exp":1 }, "location":"location", "assignments":[ { "ref":"r", "value":2 }, { "ref":"y", "value":0 } ] } ] }, { "location":"location", "action":"finished", "guard":{ "exp":{ "op":"=", "left":"r", "right":1 } }, "destinations":[ { "probability":{ "exp":1 }, "location":"location", "assignments":[ { "ref":"r", "value":3 } ] } ] }, { "location":"location", "action":"ack", "guard":{ "exp":{ "op":"=", "left":"r", "right":2 } }, "destinations":[ { "probability":{ "exp":1 }, "location":"location", "assignments":[ { "ref":"r", "value":1 } ] } ] }, { "location":"location", "action":"tau__", "guard":{ "exp":{ "op":"=", "left":"r", "right":2 } }, "destinations":[ { "probability":{ "exp":1 }, "location":"location", "assignments":[ { "ref":"r", "value":4 }, { "ref":"y", "value":0 } ], "observables":[ ] } ] }, { "location":"location", "action":"tau__", "guard":{ "exp":{ "op":"=", "left":"r", "right":2 } }, "destinations":[ { "probability":{ "exp":1 }, "location":"location", "assignments":[ { "ref":"r", "value":5 }, { "ref":"y", "value":0 } ], "observables":[ ] } ] }, { "location":"location", "action":"tau__", "guard":{ "exp":{ "op":"=", "left":"r", "right":2 } }, "destinations":[ { "probability":{ "exp":1 }, "location":"location", "assignments":[ { "ref":"r", "value":6 } ], "observables":[ ] } ] }, { "location":"location", "action":"tau__", "guard":{ "exp":{ "op":"=", "left":"r", "right":3 } }, "destinations":[ { "probability":{ "exp":1 }, "location":"location", "assignments":[ { "ref":"r", "value":3 } ], "observables":[ ] } ] }, { "location":"location", "action":"tau__", "guard":{ "exp":{ "op":"=", "left":"r", "right":6 } }, "destinations":[ { "probability":{ "exp":1 }, "location":"location", "assignments":[ { "ref":"r", "value":6 } ], "observables":[ ] } ] }, { "location":"location", "action":"tau__", "guard":{ "exp":{ "op":"∧", "left":{ "op":"=", "left":"r", "right":4 }, "right":{ "op":"=", "left":"y", "right":1 } } }, "destinations":[ { "probability":{ "exp":0.0100000 }, "location":"location", "assignments":[ { "ref":"r", "value":7 }, { "ref":"y", "value":0 } ], "observables":[ ] }, { "probability":{ "exp":0.9900000 }, "location":"location", "assignments":[ { "ref":"r", "value":2 }, { "ref":"y", "value":0 } ], "observables":[ ] } ] }, { "location":"location", "action":"tau__", "guard":{ "exp":{ "op":"∧", "left":{ "op":"=", "left":"r", "right":5 }, "right":{ "op":"=", "left":"y", "right":3 } } }, "destinations":[ { "probability":{ "exp":0.0500000 }, "location":"location", "assignments":[ { "ref":"r", "value":7 }, { "ref":"y", "value":0 } ], "observables":[ ] }, { "probability":{ "exp":0.9500000 }, "location":"location", "assignments":[ { "ref":"r", "value":2 }, { "ref":"y", "value":0 } ], "observables":[ ] } ] }, { "location":"location", "action":"decode", "guard":{ "exp":{ "op":"∧", "left":{ "op":"=", "left":"r", "right":7 }, "right":{ "op":"=", "left":"y", "right":0 } } }, "destinations":[ { "probability":{ "exp":1 }, "location":"location", "assignments":[ { "ref":"r", "value":8 } ] } ] }, { "location":"location", "action":"decoded_random", "guard":{ "exp":{ "op":"∧", "left":{ "op":"=", "left":"r", "right":8 }, "right":{ "op":"=", "left":"y", "right":0 } } }, "destinations":[ { "probability":{ "exp":1 }, "location":"location", "assignments":[ { "ref":"r", "value":9 } ] } ] }, { "location":"location", "action":"decoded_last", "guard":{ "exp":{ "op":"∧", "left":{ "op":"=", "left":"r", "right":8 }, "right":{ "op":"=", "left":"y", "right":0 } } }, "destinations":[ { "probability":{ "exp":1 }, "location":"location", "assignments":[ { "ref":"r", "value":6 } ] } ] }, { "location":"location", "action":"ack", "guard":{ "exp":{ "op":"=", "left":"r", "right":9 } }, "destinations":[ { "probability":{ "exp":1 }, "location":"location", "assignments":[ { "ref":"r", "value":1 } ] } ] }, { "location":"location", "action":"tau__", "guard":{ "exp":{ "op":"=", "left":"r", "right":9 } }, "destinations":[ { "probability":{ "exp":1 }, "location":"location", "assignments":[ { "ref":"r", "value":6 } ], "observables":[ ] } ] } ] } ], "system":{ "elements":[ { "automaton":"originator" }, { "automaton":"recipient" } ], "syncs":[ { "synchronise":[ "req", "req" ], "result":"req" }, { "synchronise":[ "message", "message" ], "result":"message" }, { "synchronise":[ "ack", "ack" ], "result":"ack" }, { "synchronise":[ "decode", "decode" ], "result":"decode" }, { "synchronise":[ "finished", "finished" ], "result":"finished" }, { "synchronise":[ "decoded_random", "decoded_random" ], "result":"decoded_random" }, { "synchronise":[ "decoded_last", "decoded_last" ], "result":"decoded_last" }, { "synchronise":[ "tau__", null ], "result":"tau__" }, { "synchronise":[ "stop", null ], "result":"stop" }, { "synchronise":[ "error", null ], "result":"error" }, { "synchronise":[ null, "tau__" ], "result":"tau__" } ] } }