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.
		
		
		
		
		
			
		
			
				
					
					
						
							437 lines
						
					
					
						
							14 KiB
						
					
					
				
			
		
		
		
			
			
			
				
					
				
				
					
				
			
		
		
	
	
							437 lines
						
					
					
						
							14 KiB
						
					
					
				| 
 | |
| { | |
|     "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__" | |
|             } | |
|         ] | |
|     } | |
| }
 |