{ "jani-version":1, "features":[ "derived-operators" ], "name":"Converted from PRISM by IscasMC", "type":"ctmc", "actions":[ { "name":"tau__" }, { "name":"route" } ], "constants":[ { "name":"c", "type":"int" } ], "variables":[ { "name":"sc", "type":{ "kind":"bounded", "base":"int", "lower-bound":0, "upper-bound":"c" } }, { "name":"ph", "type":{ "kind":"bounded", "base":"int", "lower-bound":1, "upper-bound":2 } }, { "name":"sm", "type":{ "kind":"bounded", "base":"int", "lower-bound":0, "upper-bound":"c" } } ], "observables":[ { "name":"\"customers\"" } ], "initial-states":{ "exp":{ "op":"∧", "left":{ "op":"∧", "left":{ "op":"=", "left":"sc", "right":0 }, "right":{ "op":"=", "left":"ph", "right":1 } }, "right":{ "op":"=", "left":"sm", "right":0 } } }, "automata":[ { "name":"serverC", "locations":[ { "name":"location", "observables":[ { "ref":"\"customers\"", "value":{ "op":"+", "left":"sc", "right":"sm" } } ] } ], "initial-locations":[ "location" ], "edges":[ { "location":"location", "action":"tau__", "rate":{ "exp":{ "op":"*", "left":4, "right":"c" } }, "guard":{ "exp":{ "op":"<", "left":"sc", "right":"c" } }, "destinations":[ { "probability":{ "exp":{ "op":"/", "left":{ "op":"*", "left":4, "right":"c" }, "right":{ "op":"*", "left":4, "right":"c" } } }, "location":"location", "assignments":[ { "ref":"sc", "value":{ "op":"+", "left":"sc", "right":1 } } ], "observables":[ ] } ] }, { "location":"location", "action":"route", "rate":{ "exp":{ "op":"*", "left":0.9000000, "right":2 } }, "guard":{ "exp":{ "op":"∧", "left":{ "op":">", "left":"sc", "right":0 }, "right":{ "op":"=", "left":"ph", "right":1 } } }, "destinations":[ { "probability":{ "exp":{ "op":"/", "left":{ "op":"*", "left":0.9000000, "right":2 }, "right":{ "op":"*", "left":0.9000000, "right":2 } } }, "location":"location", "assignments":[ { "ref":"sc", "value":{ "op":"-", "left":"sc", "right":1 } } ], "observables":[ ] } ] }, { "location":"location", "action":"tau__", "rate":{ "exp":{ "op":"*", "left":0.1000000, "right":2 } }, "guard":{ "exp":{ "op":"∧", "left":{ "op":">", "left":"sc", "right":0 }, "right":{ "op":"=", "left":"ph", "right":1 } } }, "destinations":[ { "probability":{ "exp":{ "op":"/", "left":{ "op":"*", "left":0.1000000, "right":2 }, "right":{ "op":"*", "left":0.1000000, "right":2 } } }, "location":"location", "assignments":[ { "ref":"ph", "value":2 } ], "observables":[ ] } ] }, { "location":"location", "action":"route", "rate":{ "exp":2 }, "guard":{ "exp":{ "op":"∧", "left":{ "op":">", "left":"sc", "right":0 }, "right":{ "op":"=", "left":"ph", "right":2 } } }, "destinations":[ { "probability":{ "exp":{ "op":"/", "left":2, "right":2 } }, "location":"location", "assignments":[ { "ref":"ph", "value":1 }, { "ref":"sc", "value":{ "op":"-", "left":"sc", "right":1 } } ], "observables":[ ] } ] } ] }, { "name":"serverM", "locations":[ { "name":"location" } ], "initial-locations":[ "location" ], "edges":[ { "location":"location", "action":"route", "rate":{ "exp":1 }, "guard":{ "exp":{ "op":"<", "left":"sm", "right":"c" } }, "destinations":[ { "probability":{ "exp":{ "op":"/", "left":1, "right":1 } }, "location":"location", "assignments":[ { "ref":"sm", "value":{ "op":"+", "left":"sm", "right":1 } } ] } ] }, { "location":"location", "action":"tau__", "rate":{ "exp":4 }, "guard":{ "exp":{ "op":">", "left":"sm", "right":0 } }, "destinations":[ { "probability":{ "exp":{ "op":"/", "left":4, "right":4 } }, "location":"location", "assignments":[ { "ref":"sm", "value":{ "op":"-", "left":"sm", "right":1 } } ], "observables":[ ] } ] } ] } ], "system":{ "elements":[ { "automaton":"serverC" }, { "automaton":"serverM" } ], "syncs":[ { "synchronise":[ "route", "route" ], "result":"route" }, { "synchronise":[ "tau__", null ], "result":"tau__" }, { "synchronise":[ null, "tau__" ], "result":"tau__" } ] } }