You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							821 lines
						
					
					
						
							26 KiB
						
					
					
				
			
		
		
		
			
			
			
				
					
				
				
					
				
			
		
		
	
	
							821 lines
						
					
					
						
							26 KiB
						
					
					
				| 
 | |
| { | |
|     "jani-version":1, | |
|     "features":[ | |
|         "derived-operators" | |
|     ], | |
|     "name":"Converted from PRISM by IscasMC", | |
|     "type":"ctmc", | |
|     "actions":[ | |
|         { | |
|             "name":"loop1a" | |
|         }, | |
|         { | |
|             "name":"loop1b" | |
|         }, | |
|         { | |
|             "name":"serve1" | |
|         }, | |
|         { | |
|             "name":"loop2a" | |
|         }, | |
|         { | |
|             "name":"loop2b" | |
|         }, | |
|         { | |
|             "name":"serve2" | |
|         }, | |
|         { | |
|             "name":"tau__" | |
|         } | |
|     ], | |
|     "variables":[ | |
|         { | |
|             "name":"s", | |
|             "type":{ | |
|                 "kind":"bounded", | |
|                 "base":"int", | |
|                 "lower-bound":1, | |
|                 "upper-bound":2 | |
|             } | |
|         }, | |
|         { | |
|             "name":"a", | |
|             "type":{ | |
|                 "kind":"bounded", | |
|                 "base":"int", | |
|                 "lower-bound":0, | |
|                 "upper-bound":1 | |
|             } | |
|         }, | |
|         { | |
|             "name":"s1", | |
|             "type":{ | |
|                 "kind":"bounded", | |
|                 "base":"int", | |
|                 "lower-bound":0, | |
|                 "upper-bound":1 | |
|             } | |
|         }, | |
|         { | |
|             "name":"s2", | |
|             "type":{ | |
|                 "kind":"bounded", | |
|                 "base":"int", | |
|                 "lower-bound":0, | |
|                 "upper-bound":1 | |
|             } | |
|         } | |
|     ], | |
|     "observables":[ | |
|         { | |
|             "name":"\"waiting\"" | |
|         }, | |
|         { | |
|             "name":"\"served\"" | |
|         } | |
|     ], | |
|     "initial-states":{ | |
|         "exp":{ | |
|             "op":"∧", | |
|             "left":{ | |
|                 "op":"∧", | |
|                 "left":{ | |
|                     "op":"∧", | |
|                     "left":{ | |
|                         "op":"=", | |
|                         "left":"s", | |
|                         "right":1 | |
|                     }, | |
|                     "right":{ | |
|                         "op":"=", | |
|                         "left":"a", | |
|                         "right":0 | |
|                     } | |
|                 }, | |
|                 "right":{ | |
|                     "op":"=", | |
|                     "left":"s1", | |
|                     "right":0 | |
|                 } | |
|             }, | |
|             "right":{ | |
|                 "op":"=", | |
|                 "left":"s2", | |
|                 "right":0 | |
|             } | |
|         } | |
|     }, | |
|     "automata":[ | |
|         { | |
|             "name":"server", | |
|             "locations":[ | |
|                 { | |
|                     "name":"location", | |
|                     "observables":[ | |
|                         { | |
|                             "ref":"\"waiting\"", | |
|                             "value":{ | |
|                                 "op":"?:", | |
|                                 "args":[ | |
|                                     { | |
|                                         "op":"∧", | |
|                                         "left":{ | |
|                                             "op":"=", | |
|                                             "left":"s1", | |
|                                             "right":1 | |
|                                         }, | |
|                                         "right":{ | |
|                                             "op":"¬", | |
|                                             "exp":{ | |
|                                                 "op":"∧", | |
|                                                 "left":{ | |
|                                                     "op":"=", | |
|                                                     "left":"s", | |
|                                                     "right":1 | |
|                                                 }, | |
|                                                 "right":{ | |
|                                                     "op":"=", | |
|                                                     "left":"a", | |
|                                                     "right":1 | |
|                                                 } | |
|                                             } | |
|                                         } | |
|                                     }, | |
|                                     1, | |
|                                     0 | |
|                                 ] | |
|                             } | |
|                         } | |
|                     ] | |
|                 } | |
|             ], | |
|             "initial-locations":[ | |
|                 "location" | |
|             ], | |
|             "edges":[ | |
|                 { | |
|                     "location":"location", | |
|                     "action":"loop1a", | |
|                     "rate":{ | |
|                         "exp":200 | |
|                     }, | |
|                     "guard":{ | |
|                         "exp":{ | |
|                             "op":"∧", | |
|                             "left":{ | |
|                                 "op":"=", | |
|                                 "left":"s", | |
|                                 "right":1 | |
|                             }, | |
|                             "right":{ | |
|                                 "op":"=", | |
|                                 "left":"a", | |
|                                 "right":0 | |
|                             } | |
|                         } | |
|                     }, | |
|                     "destinations":[ | |
|                         { | |
|                             "probability":{ | |
|                                 "exp":{ | |
|                                     "op":"/", | |
|                                     "left":200, | |
|                                     "right":200 | |
|                                 } | |
|                             }, | |
|                             "location":"location", | |
|                             "assignments":[ | |
|                                 { | |
|                                     "ref":"s", | |
|                                     "value":{ | |
|                                         "op":"+", | |
|                                         "left":"s", | |
|                                         "right":1 | |
|                                     } | |
|                                 } | |
|                             ], | |
|                             "observables":[ | |
|                             ] | |
|                         } | |
|                     ] | |
|                 }, | |
|                 { | |
|                     "location":"location", | |
|                     "action":"loop1b", | |
|                     "rate":{ | |
|                         "exp":200 | |
|                     }, | |
|                     "guard":{ | |
|                         "exp":{ | |
|                             "op":"∧", | |
|                             "left":{ | |
|                                 "op":"=", | |
|                                 "left":"s", | |
|                                 "right":1 | |
|                             }, | |
|                             "right":{ | |
|                                 "op":"=", | |
|                                 "left":"a", | |
|                                 "right":0 | |
|                             } | |
|                         } | |
|                     }, | |
|                     "destinations":[ | |
|                         { | |
|                             "probability":{ | |
|                                 "exp":{ | |
|                                     "op":"/", | |
|                                     "left":200, | |
|                                     "right":200 | |
|                                 } | |
|                             }, | |
|                             "location":"location", | |
|                             "assignments":[ | |
|                                 { | |
|                                     "ref":"a", | |
|                                     "value":1 | |
|                                 } | |
|                             ], | |
|                             "observables":[ | |
|                             ] | |
|                         } | |
|                     ] | |
|                 }, | |
|                 { | |
|                     "location":"location", | |
|                     "action":"serve1", | |
|                     "rate":{ | |
|                         "exp":1 | |
|                     }, | |
|                     "guard":{ | |
|                         "exp":{ | |
|                             "op":"∧", | |
|                             "left":{ | |
|                                 "op":"=", | |
|                                 "left":"s", | |
|                                 "right":1 | |
|                             }, | |
|                             "right":{ | |
|                                 "op":"=", | |
|                                 "left":"a", | |
|                                 "right":1 | |
|                             } | |
|                         } | |
|                     }, | |
|                     "destinations":[ | |
|                         { | |
|                             "probability":{ | |
|                                 "exp":{ | |
|                                     "op":"/", | |
|                                     "left":1, | |
|                                     "right":1 | |
|                                 } | |
|                             }, | |
|                             "location":"location", | |
|                             "assignments":[ | |
|                                 { | |
|                                     "ref":"s", | |
|                                     "value":{ | |
|                                         "op":"+", | |
|                                         "left":"s", | |
|                                         "right":1 | |
|                                     } | |
|                                 }, | |
|                                 { | |
|                                     "ref":"a", | |
|                                     "value":0 | |
|                                 } | |
|                             ], | |
|                             "observables":[ | |
|                                 { | |
|                                     "ref":"\"served\"", | |
|                                     "value":1 | |
|                                 } | |
|                             ] | |
|                         } | |
|                     ] | |
|                 }, | |
|                 { | |
|                     "location":"location", | |
|                     "action":"loop2a", | |
|                     "rate":{ | |
|                         "exp":200 | |
|                     }, | |
|                     "guard":{ | |
|                         "exp":{ | |
|                             "op":"∧", | |
|                             "left":{ | |
|                                 "op":"=", | |
|                                 "left":"s", | |
|                                 "right":2 | |
|                             }, | |
|                             "right":{ | |
|                                 "op":"=", | |
|                                 "left":"a", | |
|                                 "right":0 | |
|                             } | |
|                         } | |
|                     }, | |
|                     "destinations":[ | |
|                         { | |
|                             "probability":{ | |
|                                 "exp":{ | |
|                                     "op":"/", | |
|                                     "left":200, | |
|                                     "right":200 | |
|                                 } | |
|                             }, | |
|                             "location":"location", | |
|                             "assignments":[ | |
|                                 { | |
|                                     "ref":"s", | |
|                                     "value":1 | |
|                                 } | |
|                             ], | |
|                             "observables":[ | |
|                             ] | |
|                         } | |
|                     ] | |
|                 }, | |
|                 { | |
|                     "location":"location", | |
|                     "action":"loop2b", | |
|                     "rate":{ | |
|                         "exp":200 | |
|                     }, | |
|                     "guard":{ | |
|                         "exp":{ | |
|                             "op":"∧", | |
|                             "left":{ | |
|                                 "op":"=", | |
|                                 "left":"s", | |
|                                 "right":2 | |
|                             }, | |
|                             "right":{ | |
|                                 "op":"=", | |
|                                 "left":"a", | |
|                                 "right":0 | |
|                             } | |
|                         } | |
|                     }, | |
|                     "destinations":[ | |
|                         { | |
|                             "probability":{ | |
|                                 "exp":{ | |
|                                     "op":"/", | |
|                                     "left":200, | |
|                                     "right":200 | |
|                                 } | |
|                             }, | |
|                             "location":"location", | |
|                             "assignments":[ | |
|                                 { | |
|                                     "ref":"a", | |
|                                     "value":1 | |
|                                 } | |
|                             ], | |
|                             "observables":[ | |
|                             ] | |
|                         } | |
|                     ] | |
|                 }, | |
|                 { | |
|                     "location":"location", | |
|                     "action":"serve2", | |
|                     "rate":{ | |
|                         "exp":1 | |
|                     }, | |
|                     "guard":{ | |
|                         "exp":{ | |
|                             "op":"∧", | |
|                             "left":{ | |
|                                 "op":"=", | |
|                                 "left":"s", | |
|                                 "right":2 | |
|                             }, | |
|                             "right":{ | |
|                                 "op":"=", | |
|                                 "left":"a", | |
|                                 "right":1 | |
|                             } | |
|                         } | |
|                     }, | |
|                     "destinations":[ | |
|                         { | |
|                             "probability":{ | |
|                                 "exp":{ | |
|                                     "op":"/", | |
|                                     "left":1, | |
|                                     "right":1 | |
|                                 } | |
|                             }, | |
|                             "location":"location", | |
|                             "assignments":[ | |
|                                 { | |
|                                     "ref":"s", | |
|                                     "value":1 | |
|                                 }, | |
|                                 { | |
|                                     "ref":"a", | |
|                                     "value":0 | |
|                                 } | |
|                             ], | |
|                             "observables":[ | |
|                             ] | |
|                         } | |
|                     ] | |
|                 } | |
|             ] | |
|         }, | |
|         { | |
|             "name":"station1", | |
|             "locations":[ | |
|                 { | |
|                     "name":"location" | |
|                 } | |
|             ], | |
|             "initial-locations":[ | |
|                 "location" | |
|             ], | |
|             "edges":[ | |
|                 { | |
|                     "location":"location", | |
|                     "action":"loop1a", | |
|                     "rate":{ | |
|                         "exp":1 | |
|                     }, | |
|                     "guard":{ | |
|                         "exp":{ | |
|                             "op":"=", | |
|                             "left":"s1", | |
|                             "right":0 | |
|                         } | |
|                     }, | |
|                     "destinations":[ | |
|                         { | |
|                             "probability":{ | |
|                                 "exp":{ | |
|                                     "op":"/", | |
|                                     "left":1, | |
|                                     "right":1 | |
|                                 } | |
|                             }, | |
|                             "location":"location", | |
|                             "assignments":[ | |
|                                 { | |
|                                     "ref":"s1", | |
|                                     "value":0 | |
|                                 } | |
|                             ] | |
|                         } | |
|                     ] | |
|                 }, | |
|                 { | |
|                     "location":"location", | |
|                     "action":"tau__", | |
|                     "rate":{ | |
|                         "exp":{ | |
|                             "op":"/", | |
|                             "left":1, | |
|                             "right":2 | |
|                         } | |
|                     }, | |
|                     "guard":{ | |
|                         "exp":{ | |
|                             "op":"=", | |
|                             "left":"s1", | |
|                             "right":0 | |
|                         } | |
|                     }, | |
|                     "destinations":[ | |
|                         { | |
|                             "probability":{ | |
|                                 "exp":{ | |
|                                     "op":"/", | |
|                                     "left":{ | |
|                                         "op":"/", | |
|                                         "left":1, | |
|                                         "right":2 | |
|                                     }, | |
|                                     "right":{ | |
|                                         "op":"/", | |
|                                         "left":1, | |
|                                         "right":2 | |
|                                     } | |
|                                 } | |
|                             }, | |
|                             "location":"location", | |
|                             "assignments":[ | |
|                                 { | |
|                                     "ref":"s1", | |
|                                     "value":1 | |
|                                 } | |
|                             ], | |
|                             "observables":[ | |
|                             ] | |
|                         } | |
|                     ] | |
|                 }, | |
|                 { | |
|                     "location":"location", | |
|                     "action":"loop1b", | |
|                     "rate":{ | |
|                         "exp":1 | |
|                     }, | |
|                     "guard":{ | |
|                         "exp":{ | |
|                             "op":"=", | |
|                             "left":"s1", | |
|                             "right":1 | |
|                         } | |
|                     }, | |
|                     "destinations":[ | |
|                         { | |
|                             "probability":{ | |
|                                 "exp":{ | |
|                                     "op":"/", | |
|                                     "left":1, | |
|                                     "right":1 | |
|                                 } | |
|                             }, | |
|                             "location":"location", | |
|                             "assignments":[ | |
|                                 { | |
|                                     "ref":"s1", | |
|                                     "value":1 | |
|                                 } | |
|                             ] | |
|                         } | |
|                     ] | |
|                 }, | |
|                 { | |
|                     "location":"location", | |
|                     "action":"serve1", | |
|                     "rate":{ | |
|                         "exp":1 | |
|                     }, | |
|                     "guard":{ | |
|                         "exp":{ | |
|                             "op":"=", | |
|                             "left":"s1", | |
|                             "right":1 | |
|                         } | |
|                     }, | |
|                     "destinations":[ | |
|                         { | |
|                             "probability":{ | |
|                                 "exp":{ | |
|                                     "op":"/", | |
|                                     "left":1, | |
|                                     "right":1 | |
|                                 } | |
|                             }, | |
|                             "location":"location", | |
|                             "assignments":[ | |
|                                 { | |
|                                     "ref":"s1", | |
|                                     "value":0 | |
|                                 } | |
|                             ] | |
|                         } | |
|                     ] | |
|                 } | |
|             ] | |
|         }, | |
|         { | |
|             "name":"station2", | |
|             "locations":[ | |
|                 { | |
|                     "name":"location" | |
|                 } | |
|             ], | |
|             "initial-locations":[ | |
|                 "location" | |
|             ], | |
|             "edges":[ | |
|                 { | |
|                     "location":"location", | |
|                     "action":"loop2a", | |
|                     "rate":{ | |
|                         "exp":1 | |
|                     }, | |
|                     "guard":{ | |
|                         "exp":{ | |
|                             "op":"=", | |
|                             "left":"s2", | |
|                             "right":0 | |
|                         } | |
|                     }, | |
|                     "destinations":[ | |
|                         { | |
|                             "probability":{ | |
|                                 "exp":{ | |
|                                     "op":"/", | |
|                                     "left":1, | |
|                                     "right":1 | |
|                                 } | |
|                             }, | |
|                             "location":"location", | |
|                             "assignments":[ | |
|                                 { | |
|                                     "ref":"s2", | |
|                                     "value":0 | |
|                                 } | |
|                             ] | |
|                         } | |
|                     ] | |
|                 }, | |
|                 { | |
|                     "location":"location", | |
|                     "action":"tau__", | |
|                     "rate":{ | |
|                         "exp":{ | |
|                             "op":"/", | |
|                             "left":1, | |
|                             "right":2 | |
|                         } | |
|                     }, | |
|                     "guard":{ | |
|                         "exp":{ | |
|                             "op":"=", | |
|                             "left":"s2", | |
|                             "right":0 | |
|                         } | |
|                     }, | |
|                     "destinations":[ | |
|                         { | |
|                             "probability":{ | |
|                                 "exp":{ | |
|                                     "op":"/", | |
|                                     "left":{ | |
|                                         "op":"/", | |
|                                         "left":1, | |
|                                         "right":2 | |
|                                     }, | |
|                                     "right":{ | |
|                                         "op":"/", | |
|                                         "left":1, | |
|                                         "right":2 | |
|                                     } | |
|                                 } | |
|                             }, | |
|                             "location":"location", | |
|                             "assignments":[ | |
|                                 { | |
|                                     "ref":"s2", | |
|                                     "value":1 | |
|                                 } | |
|                             ], | |
|                             "observables":[ | |
|                             ] | |
|                         } | |
|                     ] | |
|                 }, | |
|                 { | |
|                     "location":"location", | |
|                     "action":"loop2b", | |
|                     "rate":{ | |
|                         "exp":1 | |
|                     }, | |
|                     "guard":{ | |
|                         "exp":{ | |
|                             "op":"=", | |
|                             "left":"s2", | |
|                             "right":1 | |
|                         } | |
|                     }, | |
|                     "destinations":[ | |
|                         { | |
|                             "probability":{ | |
|                                 "exp":{ | |
|                                     "op":"/", | |
|                                     "left":1, | |
|                                     "right":1 | |
|                                 } | |
|                             }, | |
|                             "location":"location", | |
|                             "assignments":[ | |
|                                 { | |
|                                     "ref":"s2", | |
|                                     "value":1 | |
|                                 } | |
|                             ] | |
|                         } | |
|                     ] | |
|                 }, | |
|                 { | |
|                     "location":"location", | |
|                     "action":"serve2", | |
|                     "rate":{ | |
|                         "exp":1 | |
|                     }, | |
|                     "guard":{ | |
|                         "exp":{ | |
|                             "op":"=", | |
|                             "left":"s2", | |
|                             "right":1 | |
|                         } | |
|                     }, | |
|                     "destinations":[ | |
|                         { | |
|                             "probability":{ | |
|                                 "exp":{ | |
|                                     "op":"/", | |
|                                     "left":1, | |
|                                     "right":1 | |
|                                 } | |
|                             }, | |
|                             "location":"location", | |
|                             "assignments":[ | |
|                                 { | |
|                                     "ref":"s2", | |
|                                     "value":0 | |
|                                 } | |
|                             ] | |
|                         } | |
|                     ] | |
|                 } | |
|             ] | |
|         } | |
|     ], | |
|     "system":{ | |
|         "elements":[ | |
|             { | |
|                 "automaton":"server" | |
|             }, | |
|             { | |
|                 "automaton":"station1" | |
|             }, | |
|             { | |
|                 "automaton":"station2" | |
|             } | |
|         ], | |
|         "syncs":[ | |
|             { | |
|                 "synchronise":[ | |
|                     "loop2a", | |
|                     null, | |
|                     "loop2a" | |
|                 ], | |
|                 "result":"loop2a" | |
|             }, | |
|             { | |
|                 "synchronise":[ | |
|                     "loop2b", | |
|                     null, | |
|                     "loop2b" | |
|                 ], | |
|                 "result":"loop2b" | |
|             }, | |
|             { | |
|                 "synchronise":[ | |
|                     "serve2", | |
|                     null, | |
|                     "serve2" | |
|                 ], | |
|                 "result":"serve2" | |
|             }, | |
|             { | |
|                 "synchronise":[ | |
|                     "loop1a", | |
|                     "loop1a", | |
|                     null | |
|                 ], | |
|                 "result":"loop1a" | |
|             }, | |
|             { | |
|                 "synchronise":[ | |
|                     "loop1b", | |
|                     "loop1b", | |
|                     null | |
|                 ], | |
|                 "result":"loop1b" | |
|             }, | |
|             { | |
|                 "synchronise":[ | |
|                     "serve1", | |
|                     "serve1", | |
|                     null | |
|                 ], | |
|                 "result":"serve1" | |
|             }, | |
|             { | |
|                 "synchronise":[ | |
|                     null, | |
|                     "tau__", | |
|                     null | |
|                 ], | |
|                 "result":"tau__" | |
|             }, | |
|             { | |
|                 "synchronise":[ | |
|                     null, | |
|                     null, | |
|                     "tau__" | |
|                 ], | |
|                 "result":"tau__" | |
|             } | |
|         ] | |
|     } | |
| }
 |