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.

386 lines
11 KiB

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