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.

373 lines
11 KiB

  1. {
  2. "jani-version":1,
  3. "features":[
  4. "derived-operators"
  5. ],
  6. "name":"Converted from PRISM by IscasMC",
  7. "type":"ctmc",
  8. "actions":[
  9. {
  10. "name":"e1"
  11. },
  12. {
  13. "name":"e2"
  14. }
  15. ],
  16. "constants":[
  17. {
  18. "name":"N1",
  19. "type":"int"
  20. },
  21. {
  22. "name":"N2",
  23. "type":"int"
  24. }
  25. ],
  26. "variables":[
  27. {
  28. "name":"na",
  29. "type":{
  30. "kind":"bounded",
  31. "base":"int",
  32. "lower-bound":0,
  33. "upper-bound":"N1"
  34. }
  35. },
  36. {
  37. "name":"cl",
  38. "type":{
  39. "kind":"bounded",
  40. "base":"int",
  41. "lower-bound":0,
  42. "upper-bound":"N2"
  43. }
  44. }
  45. ],
  46. "observables":[
  47. {
  48. "name":"\"percentage_na\""
  49. }
  50. ],
  51. "initial-states":{
  52. "exp":{
  53. "op":"∧",
  54. "left":{
  55. "op":"=",
  56. "left":"na",
  57. "right":"N1"
  58. },
  59. "right":{
  60. "op":"=",
  61. "left":"cl",
  62. "right":"N2"
  63. }
  64. }
  65. },
  66. "automata":[
  67. {
  68. "name":"na",
  69. "locations":[
  70. {
  71. "name":"location",
  72. "observables":[
  73. {
  74. "ref":"\"percentage_na\"",
  75. "value":{
  76. "op":"/",
  77. "left":{
  78. "op":"*",
  79. "left":100,
  80. "right":"na"
  81. },
  82. "right":"N1"
  83. }
  84. }
  85. ]
  86. }
  87. ],
  88. "initial-locations":[
  89. "location"
  90. ],
  91. "edges":[
  92. {
  93. "location":"location",
  94. "action":"e1",
  95. "rate":{
  96. "exp":"na"
  97. },
  98. "guard":{
  99. "exp":{
  100. "op":">",
  101. "left":"na",
  102. "right":0
  103. }
  104. },
  105. "destinations":[
  106. {
  107. "probability":{
  108. "exp":{
  109. "op":"/",
  110. "left":"na",
  111. "right":"na"
  112. }
  113. },
  114. "location":"location",
  115. "assignments":[
  116. {
  117. "ref":"na",
  118. "value":{
  119. "op":"-",
  120. "left":"na",
  121. "right":1
  122. }
  123. }
  124. ],
  125. "observables":[
  126. ]
  127. }
  128. ]
  129. },
  130. {
  131. "location":"location",
  132. "action":"e2",
  133. "rate":{
  134. "exp":{
  135. "op":"-",
  136. "left":"N1",
  137. "right":"na"
  138. }
  139. },
  140. "guard":{
  141. "exp":{
  142. "op":"<",
  143. "left":"na",
  144. "right":"N1"
  145. }
  146. },
  147. "destinations":[
  148. {
  149. "probability":{
  150. "exp":{
  151. "op":"/",
  152. "left":{
  153. "op":"-",
  154. "left":"N1",
  155. "right":"na"
  156. },
  157. "right":{
  158. "op":"-",
  159. "left":"N1",
  160. "right":"na"
  161. }
  162. }
  163. },
  164. "location":"location",
  165. "assignments":[
  166. {
  167. "ref":"na",
  168. "value":{
  169. "op":"+",
  170. "left":"na",
  171. "right":1
  172. }
  173. }
  174. ],
  175. "observables":[
  176. ]
  177. }
  178. ]
  179. }
  180. ]
  181. },
  182. {
  183. "name":"cl",
  184. "locations":[
  185. {
  186. "name":"location"
  187. }
  188. ],
  189. "initial-locations":[
  190. "location"
  191. ],
  192. "edges":[
  193. {
  194. "location":"location",
  195. "action":"e1",
  196. "rate":{
  197. "exp":"cl"
  198. },
  199. "guard":{
  200. "exp":{
  201. "op":">",
  202. "left":"cl",
  203. "right":0
  204. }
  205. },
  206. "destinations":[
  207. {
  208. "probability":{
  209. "exp":{
  210. "op":"/",
  211. "left":"cl",
  212. "right":"cl"
  213. }
  214. },
  215. "location":"location",
  216. "assignments":[
  217. {
  218. "ref":"cl",
  219. "value":{
  220. "op":"-",
  221. "left":"cl",
  222. "right":1
  223. }
  224. }
  225. ]
  226. }
  227. ]
  228. },
  229. {
  230. "location":"location",
  231. "action":"e2",
  232. "rate":{
  233. "exp":{
  234. "op":"-",
  235. "left":"N2",
  236. "right":"cl"
  237. }
  238. },
  239. "guard":{
  240. "exp":{
  241. "op":"<",
  242. "left":"cl",
  243. "right":"N2"
  244. }
  245. },
  246. "destinations":[
  247. {
  248. "probability":{
  249. "exp":{
  250. "op":"/",
  251. "left":{
  252. "op":"-",
  253. "left":"N2",
  254. "right":"cl"
  255. },
  256. "right":{
  257. "op":"-",
  258. "left":"N2",
  259. "right":"cl"
  260. }
  261. }
  262. },
  263. "location":"location",
  264. "assignments":[
  265. {
  266. "ref":"cl",
  267. "value":{
  268. "op":"+",
  269. "left":"cl",
  270. "right":1
  271. }
  272. }
  273. ]
  274. }
  275. ]
  276. }
  277. ]
  278. },
  279. {
  280. "name":"base_rates",
  281. "locations":[
  282. {
  283. "name":"location"
  284. }
  285. ],
  286. "initial-locations":[
  287. "location"
  288. ],
  289. "edges":[
  290. {
  291. "location":"location",
  292. "action":"e1",
  293. "rate":{
  294. "exp":100
  295. },
  296. "guard":{
  297. "exp":true
  298. },
  299. "destinations":[
  300. {
  301. "probability":{
  302. "exp":{
  303. "op":"/",
  304. "left":100,
  305. "right":100
  306. }
  307. },
  308. "location":"location",
  309. "assignments":[
  310. ]
  311. }
  312. ]
  313. },
  314. {
  315. "location":"location",
  316. "action":"e2",
  317. "rate":{
  318. "exp":10
  319. },
  320. "guard":{
  321. "exp":true
  322. },
  323. "destinations":[
  324. {
  325. "probability":{
  326. "exp":{
  327. "op":"/",
  328. "left":10,
  329. "right":10
  330. }
  331. },
  332. "location":"location",
  333. "assignments":[
  334. ]
  335. }
  336. ]
  337. }
  338. ]
  339. }
  340. ],
  341. "system":{
  342. "elements":[
  343. {
  344. "automaton":"na"
  345. },
  346. {
  347. "automaton":"cl"
  348. },
  349. {
  350. "automaton":"base_rates"
  351. }
  352. ],
  353. "syncs":[
  354. {
  355. "synchronise":[
  356. "e1",
  357. "e1",
  358. "e1"
  359. ],
  360. "result":"e1"
  361. },
  362. {
  363. "synchronise":[
  364. "e2",
  365. "e2",
  366. "e2"
  367. ],
  368. "result":"e2"
  369. }
  370. ]
  371. }
  372. }