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.

524 lines
16 KiB

  1. {
  2. "jani-version":1,
  3. "features":[
  4. "derived-operators"
  5. ],
  6. "name":"Converted from PRISM by IscasMC",
  7. "type":"dtmc",
  8. "actions":[
  9. {
  10. "name":"step"
  11. }
  12. ],
  13. "variables":[
  14. {
  15. "name":"x1",
  16. "type":{
  17. "kind":"bounded",
  18. "base":"int",
  19. "lower-bound":0,
  20. "upper-bound":1
  21. }
  22. },
  23. {
  24. "name":"x2",
  25. "type":{
  26. "kind":"bounded",
  27. "base":"int",
  28. "lower-bound":0,
  29. "upper-bound":1
  30. }
  31. },
  32. {
  33. "name":"x3",
  34. "type":{
  35. "kind":"bounded",
  36. "base":"int",
  37. "lower-bound":0,
  38. "upper-bound":1
  39. }
  40. },
  41. {
  42. "name":"x4",
  43. "type":{
  44. "kind":"bounded",
  45. "base":"int",
  46. "lower-bound":0,
  47. "upper-bound":1
  48. }
  49. },
  50. {
  51. "name":"x5",
  52. "type":{
  53. "kind":"bounded",
  54. "base":"int",
  55. "lower-bound":0,
  56. "upper-bound":1
  57. }
  58. }
  59. ],
  60. "observables":[
  61. {
  62. "name":"\"steps\""
  63. }
  64. ],
  65. "initial-states":{
  66. "exp":true
  67. },
  68. "automata":[
  69. {
  70. "name":"process1",
  71. "locations":[
  72. {
  73. "name":"location",
  74. "observables":[
  75. {
  76. "ref":"\"steps\"",
  77. "value":1
  78. }
  79. ]
  80. }
  81. ],
  82. "initial-locations":[
  83. "location"
  84. ],
  85. "edges":[
  86. {
  87. "location":"location",
  88. "action":"step",
  89. "guard":{
  90. "exp":{
  91. "op":"=",
  92. "left":"x1",
  93. "right":"x5"
  94. }
  95. },
  96. "destinations":[
  97. {
  98. "probability":{
  99. "exp":0.5000000
  100. },
  101. "location":"location",
  102. "assignments":[
  103. {
  104. "ref":"x1",
  105. "value":0
  106. }
  107. ],
  108. "observables":[
  109. ]
  110. },
  111. {
  112. "probability":{
  113. "exp":{
  114. "op":"-",
  115. "left":1,
  116. "right":0.5000000
  117. }
  118. },
  119. "location":"location",
  120. "assignments":[
  121. {
  122. "ref":"x1",
  123. "value":1
  124. }
  125. ],
  126. "observables":[
  127. ]
  128. }
  129. ]
  130. },
  131. {
  132. "location":"location",
  133. "action":"step",
  134. "guard":{
  135. "exp":{
  136. "op":"¬",
  137. "exp":{
  138. "op":"=",
  139. "left":"x1",
  140. "right":"x5"
  141. }
  142. }
  143. },
  144. "destinations":[
  145. {
  146. "probability":{
  147. "exp":1
  148. },
  149. "location":"location",
  150. "assignments":[
  151. {
  152. "ref":"x1",
  153. "value":"x5"
  154. }
  155. ],
  156. "observables":[
  157. ]
  158. }
  159. ]
  160. }
  161. ]
  162. },
  163. {
  164. "name":"process2",
  165. "locations":[
  166. {
  167. "name":"location"
  168. }
  169. ],
  170. "initial-locations":[
  171. "location"
  172. ],
  173. "edges":[
  174. {
  175. "location":"location",
  176. "action":"step",
  177. "guard":{
  178. "exp":{
  179. "op":"=",
  180. "left":"x2",
  181. "right":"x1"
  182. }
  183. },
  184. "destinations":[
  185. {
  186. "probability":{
  187. "exp":0.5000000
  188. },
  189. "location":"location",
  190. "assignments":[
  191. {
  192. "ref":"x2",
  193. "value":0
  194. }
  195. ]
  196. },
  197. {
  198. "probability":{
  199. "exp":{
  200. "op":"-",
  201. "left":1,
  202. "right":0.5000000
  203. }
  204. },
  205. "location":"location",
  206. "assignments":[
  207. {
  208. "ref":"x2",
  209. "value":1
  210. }
  211. ]
  212. }
  213. ]
  214. },
  215. {
  216. "location":"location",
  217. "action":"step",
  218. "guard":{
  219. "exp":{
  220. "op":"¬",
  221. "exp":{
  222. "op":"=",
  223. "left":"x2",
  224. "right":"x1"
  225. }
  226. }
  227. },
  228. "destinations":[
  229. {
  230. "probability":{
  231. "exp":1
  232. },
  233. "location":"location",
  234. "assignments":[
  235. {
  236. "ref":"x2",
  237. "value":"x1"
  238. }
  239. ]
  240. }
  241. ]
  242. }
  243. ]
  244. },
  245. {
  246. "name":"process3",
  247. "locations":[
  248. {
  249. "name":"location"
  250. }
  251. ],
  252. "initial-locations":[
  253. "location"
  254. ],
  255. "edges":[
  256. {
  257. "location":"location",
  258. "action":"step",
  259. "guard":{
  260. "exp":{
  261. "op":"=",
  262. "left":"x3",
  263. "right":"x2"
  264. }
  265. },
  266. "destinations":[
  267. {
  268. "probability":{
  269. "exp":0.5000000
  270. },
  271. "location":"location",
  272. "assignments":[
  273. {
  274. "ref":"x3",
  275. "value":0
  276. }
  277. ]
  278. },
  279. {
  280. "probability":{
  281. "exp":{
  282. "op":"-",
  283. "left":1,
  284. "right":0.5000000
  285. }
  286. },
  287. "location":"location",
  288. "assignments":[
  289. {
  290. "ref":"x3",
  291. "value":1
  292. }
  293. ]
  294. }
  295. ]
  296. },
  297. {
  298. "location":"location",
  299. "action":"step",
  300. "guard":{
  301. "exp":{
  302. "op":"¬",
  303. "exp":{
  304. "op":"=",
  305. "left":"x3",
  306. "right":"x2"
  307. }
  308. }
  309. },
  310. "destinations":[
  311. {
  312. "probability":{
  313. "exp":1
  314. },
  315. "location":"location",
  316. "assignments":[
  317. {
  318. "ref":"x3",
  319. "value":"x2"
  320. }
  321. ]
  322. }
  323. ]
  324. }
  325. ]
  326. },
  327. {
  328. "name":"process4",
  329. "locations":[
  330. {
  331. "name":"location"
  332. }
  333. ],
  334. "initial-locations":[
  335. "location"
  336. ],
  337. "edges":[
  338. {
  339. "location":"location",
  340. "action":"step",
  341. "guard":{
  342. "exp":{
  343. "op":"=",
  344. "left":"x4",
  345. "right":"x3"
  346. }
  347. },
  348. "destinations":[
  349. {
  350. "probability":{
  351. "exp":0.5000000
  352. },
  353. "location":"location",
  354. "assignments":[
  355. {
  356. "ref":"x4",
  357. "value":0
  358. }
  359. ]
  360. },
  361. {
  362. "probability":{
  363. "exp":{
  364. "op":"-",
  365. "left":1,
  366. "right":0.5000000
  367. }
  368. },
  369. "location":"location",
  370. "assignments":[
  371. {
  372. "ref":"x4",
  373. "value":1
  374. }
  375. ]
  376. }
  377. ]
  378. },
  379. {
  380. "location":"location",
  381. "action":"step",
  382. "guard":{
  383. "exp":{
  384. "op":"¬",
  385. "exp":{
  386. "op":"=",
  387. "left":"x4",
  388. "right":"x3"
  389. }
  390. }
  391. },
  392. "destinations":[
  393. {
  394. "probability":{
  395. "exp":1
  396. },
  397. "location":"location",
  398. "assignments":[
  399. {
  400. "ref":"x4",
  401. "value":"x3"
  402. }
  403. ]
  404. }
  405. ]
  406. }
  407. ]
  408. },
  409. {
  410. "name":"process5",
  411. "locations":[
  412. {
  413. "name":"location"
  414. }
  415. ],
  416. "initial-locations":[
  417. "location"
  418. ],
  419. "edges":[
  420. {
  421. "location":"location",
  422. "action":"step",
  423. "guard":{
  424. "exp":{
  425. "op":"=",
  426. "left":"x5",
  427. "right":"x4"
  428. }
  429. },
  430. "destinations":[
  431. {
  432. "probability":{
  433. "exp":0.5000000
  434. },
  435. "location":"location",
  436. "assignments":[
  437. {
  438. "ref":"x5",
  439. "value":0
  440. }
  441. ]
  442. },
  443. {
  444. "probability":{
  445. "exp":{
  446. "op":"-",
  447. "left":1,
  448. "right":0.5000000
  449. }
  450. },
  451. "location":"location",
  452. "assignments":[
  453. {
  454. "ref":"x5",
  455. "value":1
  456. }
  457. ]
  458. }
  459. ]
  460. },
  461. {
  462. "location":"location",
  463. "action":"step",
  464. "guard":{
  465. "exp":{
  466. "op":"¬",
  467. "exp":{
  468. "op":"=",
  469. "left":"x5",
  470. "right":"x4"
  471. }
  472. }
  473. },
  474. "destinations":[
  475. {
  476. "probability":{
  477. "exp":1
  478. },
  479. "location":"location",
  480. "assignments":[
  481. {
  482. "ref":"x5",
  483. "value":"x4"
  484. }
  485. ]
  486. }
  487. ]
  488. }
  489. ]
  490. }
  491. ],
  492. "system":{
  493. "elements":[
  494. {
  495. "automaton":"process1"
  496. },
  497. {
  498. "automaton":"process2"
  499. },
  500. {
  501. "automaton":"process3"
  502. },
  503. {
  504. "automaton":"process4"
  505. },
  506. {
  507. "automaton":"process5"
  508. }
  509. ],
  510. "syncs":[
  511. {
  512. "synchronise":[
  513. "step",
  514. "step",
  515. "step",
  516. "step",
  517. "step"
  518. ],
  519. "result":"step"
  520. }
  521. ]
  522. }
  523. }