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.

2935 lines
106 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":"read"
  11. },
  12. {
  13. "name":"done"
  14. },
  15. {
  16. "name":"retry"
  17. },
  18. {
  19. "name":"loop"
  20. },
  21. {
  22. "name":"pick"
  23. }
  24. ],
  25. "variables":[
  26. {
  27. "name":"c",
  28. "type":{
  29. "kind":"bounded",
  30. "base":"int",
  31. "lower-bound":1,
  32. "upper-bound":{
  33. "op":"-",
  34. "left":5,
  35. "right":1
  36. }
  37. }
  38. },
  39. {
  40. "name":"s1",
  41. "type":{
  42. "kind":"bounded",
  43. "base":"int",
  44. "lower-bound":0,
  45. "upper-bound":3
  46. }
  47. },
  48. {
  49. "name":"u1",
  50. "type":"bool"
  51. },
  52. {
  53. "name":"v1",
  54. "type":{
  55. "kind":"bounded",
  56. "base":"int",
  57. "lower-bound":0,
  58. "upper-bound":{
  59. "op":"-",
  60. "left":4,
  61. "right":1
  62. }
  63. }
  64. },
  65. {
  66. "name":"p1",
  67. "type":{
  68. "kind":"bounded",
  69. "base":"int",
  70. "lower-bound":0,
  71. "upper-bound":{
  72. "op":"-",
  73. "left":4,
  74. "right":1
  75. }
  76. }
  77. },
  78. {
  79. "name":"s2",
  80. "type":{
  81. "kind":"bounded",
  82. "base":"int",
  83. "lower-bound":0,
  84. "upper-bound":3
  85. }
  86. },
  87. {
  88. "name":"u2",
  89. "type":"bool"
  90. },
  91. {
  92. "name":"v2",
  93. "type":{
  94. "kind":"bounded",
  95. "base":"int",
  96. "lower-bound":0,
  97. "upper-bound":{
  98. "op":"-",
  99. "left":4,
  100. "right":1
  101. }
  102. }
  103. },
  104. {
  105. "name":"p2",
  106. "type":{
  107. "kind":"bounded",
  108. "base":"int",
  109. "lower-bound":0,
  110. "upper-bound":{
  111. "op":"-",
  112. "left":4,
  113. "right":1
  114. }
  115. }
  116. },
  117. {
  118. "name":"s3",
  119. "type":{
  120. "kind":"bounded",
  121. "base":"int",
  122. "lower-bound":0,
  123. "upper-bound":3
  124. }
  125. },
  126. {
  127. "name":"u3",
  128. "type":"bool"
  129. },
  130. {
  131. "name":"v3",
  132. "type":{
  133. "kind":"bounded",
  134. "base":"int",
  135. "lower-bound":0,
  136. "upper-bound":{
  137. "op":"-",
  138. "left":4,
  139. "right":1
  140. }
  141. }
  142. },
  143. {
  144. "name":"p3",
  145. "type":{
  146. "kind":"bounded",
  147. "base":"int",
  148. "lower-bound":0,
  149. "upper-bound":{
  150. "op":"-",
  151. "left":4,
  152. "right":1
  153. }
  154. }
  155. },
  156. {
  157. "name":"s4",
  158. "type":{
  159. "kind":"bounded",
  160. "base":"int",
  161. "lower-bound":0,
  162. "upper-bound":3
  163. }
  164. },
  165. {
  166. "name":"u4",
  167. "type":"bool"
  168. },
  169. {
  170. "name":"v4",
  171. "type":{
  172. "kind":"bounded",
  173. "base":"int",
  174. "lower-bound":0,
  175. "upper-bound":{
  176. "op":"-",
  177. "left":4,
  178. "right":1
  179. }
  180. }
  181. },
  182. {
  183. "name":"p4",
  184. "type":{
  185. "kind":"bounded",
  186. "base":"int",
  187. "lower-bound":0,
  188. "upper-bound":{
  189. "op":"-",
  190. "left":4,
  191. "right":1
  192. }
  193. }
  194. },
  195. {
  196. "name":"s5",
  197. "type":{
  198. "kind":"bounded",
  199. "base":"int",
  200. "lower-bound":0,
  201. "upper-bound":3
  202. }
  203. },
  204. {
  205. "name":"u5",
  206. "type":"bool"
  207. },
  208. {
  209. "name":"v5",
  210. "type":{
  211. "kind":"bounded",
  212. "base":"int",
  213. "lower-bound":0,
  214. "upper-bound":{
  215. "op":"-",
  216. "left":4,
  217. "right":1
  218. }
  219. }
  220. },
  221. {
  222. "name":"p5",
  223. "type":{
  224. "kind":"bounded",
  225. "base":"int",
  226. "lower-bound":0,
  227. "upper-bound":{
  228. "op":"-",
  229. "left":4,
  230. "right":1
  231. }
  232. }
  233. }
  234. ],
  235. "observables":[
  236. {
  237. "name":"\"num_rounds\""
  238. }
  239. ],
  240. "initial-states":{
  241. "exp":{
  242. "op":"∧",
  243. "left":{
  244. "op":"∧",
  245. "left":{
  246. "op":"∧",
  247. "left":{
  248. "op":"∧",
  249. "left":{
  250. "op":"∧",
  251. "left":{
  252. "op":"∧",
  253. "left":{
  254. "op":"∧",
  255. "left":{
  256. "op":"∧",
  257. "left":{
  258. "op":"∧",
  259. "left":{
  260. "op":"∧",
  261. "left":{
  262. "op":"∧",
  263. "left":{
  264. "op":"∧",
  265. "left":{
  266. "op":"∧",
  267. "left":{
  268. "op":"∧",
  269. "left":{
  270. "op":"∧",
  271. "left":{
  272. "op":"∧",
  273. "left":{
  274. "op":"∧",
  275. "left":{
  276. "op":"∧",
  277. "left":{
  278. "op":"∧",
  279. "left":{
  280. "op":"∧",
  281. "left":{
  282. "op":"=",
  283. "left":"c",
  284. "right":1
  285. },
  286. "right":{
  287. "op":"=",
  288. "left":"s1",
  289. "right":0
  290. }
  291. },
  292. "right":{
  293. "op":"=",
  294. "left":"u1",
  295. "right":false
  296. }
  297. },
  298. "right":{
  299. "op":"=",
  300. "left":"v1",
  301. "right":0
  302. }
  303. },
  304. "right":{
  305. "op":"=",
  306. "left":"p1",
  307. "right":0
  308. }
  309. },
  310. "right":{
  311. "op":"=",
  312. "left":"s2",
  313. "right":0
  314. }
  315. },
  316. "right":{
  317. "op":"=",
  318. "left":"u2",
  319. "right":false
  320. }
  321. },
  322. "right":{
  323. "op":"=",
  324. "left":"v2",
  325. "right":0
  326. }
  327. },
  328. "right":{
  329. "op":"=",
  330. "left":"p2",
  331. "right":0
  332. }
  333. },
  334. "right":{
  335. "op":"=",
  336. "left":"s3",
  337. "right":0
  338. }
  339. },
  340. "right":{
  341. "op":"=",
  342. "left":"u3",
  343. "right":false
  344. }
  345. },
  346. "right":{
  347. "op":"=",
  348. "left":"v3",
  349. "right":0
  350. }
  351. },
  352. "right":{
  353. "op":"=",
  354. "left":"p3",
  355. "right":0
  356. }
  357. },
  358. "right":{
  359. "op":"=",
  360. "left":"s4",
  361. "right":0
  362. }
  363. },
  364. "right":{
  365. "op":"=",
  366. "left":"u4",
  367. "right":false
  368. }
  369. },
  370. "right":{
  371. "op":"=",
  372. "left":"v4",
  373. "right":0
  374. }
  375. },
  376. "right":{
  377. "op":"=",
  378. "left":"p4",
  379. "right":0
  380. }
  381. },
  382. "right":{
  383. "op":"=",
  384. "left":"s5",
  385. "right":0
  386. }
  387. },
  388. "right":{
  389. "op":"=",
  390. "left":"u5",
  391. "right":false
  392. }
  393. },
  394. "right":{
  395. "op":"=",
  396. "left":"v5",
  397. "right":0
  398. }
  399. },
  400. "right":{
  401. "op":"=",
  402. "left":"p5",
  403. "right":0
  404. }
  405. }
  406. },
  407. "automata":[
  408. {
  409. "name":"counter",
  410. "locations":[
  411. {
  412. "name":"location"
  413. }
  414. ],
  415. "initial-locations":[
  416. "location"
  417. ],
  418. "edges":[
  419. {
  420. "location":"location",
  421. "action":"read",
  422. "guard":{
  423. "exp":{
  424. "op":"<",
  425. "left":"c",
  426. "right":{
  427. "op":"-",
  428. "left":5,
  429. "right":1
  430. }
  431. }
  432. },
  433. "destinations":[
  434. {
  435. "probability":{
  436. "exp":1
  437. },
  438. "location":"location",
  439. "assignments":[
  440. {
  441. "ref":"c",
  442. "value":{
  443. "op":"+",
  444. "left":"c",
  445. "right":1
  446. }
  447. }
  448. ],
  449. "observables":[
  450. ]
  451. }
  452. ]
  453. },
  454. {
  455. "location":"location",
  456. "action":"read",
  457. "guard":{
  458. "exp":{
  459. "op":"=",
  460. "left":"c",
  461. "right":{
  462. "op":"-",
  463. "left":5,
  464. "right":1
  465. }
  466. }
  467. },
  468. "destinations":[
  469. {
  470. "probability":{
  471. "exp":1
  472. },
  473. "location":"location",
  474. "assignments":[
  475. {
  476. "ref":"c",
  477. "value":"c"
  478. }
  479. ],
  480. "observables":[
  481. ]
  482. }
  483. ]
  484. },
  485. {
  486. "location":"location",
  487. "action":"done",
  488. "guard":{
  489. "exp":{
  490. "op":"∨",
  491. "left":{
  492. "op":"∨",
  493. "left":{
  494. "op":"∨",
  495. "left":{
  496. "op":"∨",
  497. "left":"u1",
  498. "right":"u2"
  499. },
  500. "right":"u3"
  501. },
  502. "right":"u4"
  503. },
  504. "right":"u5"
  505. }
  506. },
  507. "destinations":[
  508. {
  509. "probability":{
  510. "exp":1
  511. },
  512. "location":"location",
  513. "assignments":[
  514. {
  515. "ref":"c",
  516. "value":"c"
  517. }
  518. ],
  519. "observables":[
  520. ]
  521. }
  522. ]
  523. },
  524. {
  525. "location":"location",
  526. "action":"retry",
  527. "guard":{
  528. "exp":{
  529. "op":"¬",
  530. "exp":{
  531. "op":"∨",
  532. "left":{
  533. "op":"∨",
  534. "left":{
  535. "op":"∨",
  536. "left":{
  537. "op":"∨",
  538. "left":"u1",
  539. "right":"u2"
  540. },
  541. "right":"u3"
  542. },
  543. "right":"u4"
  544. },
  545. "right":"u5"
  546. }
  547. }
  548. },
  549. "destinations":[
  550. {
  551. "probability":{
  552. "exp":1
  553. },
  554. "location":"location",
  555. "assignments":[
  556. {
  557. "ref":"c",
  558. "value":1
  559. }
  560. ],
  561. "observables":[
  562. ]
  563. }
  564. ]
  565. },
  566. {
  567. "location":"location",
  568. "action":"loop",
  569. "guard":{
  570. "exp":{
  571. "op":"=",
  572. "left":"s1",
  573. "right":3
  574. }
  575. },
  576. "destinations":[
  577. {
  578. "probability":{
  579. "exp":1
  580. },
  581. "location":"location",
  582. "assignments":[
  583. {
  584. "ref":"c",
  585. "value":"c"
  586. }
  587. ],
  588. "observables":[
  589. ]
  590. }
  591. ]
  592. }
  593. ]
  594. },
  595. {
  596. "name":"process1",
  597. "locations":[
  598. {
  599. "name":"location"
  600. }
  601. ],
  602. "initial-locations":[
  603. "location"
  604. ],
  605. "edges":[
  606. {
  607. "location":"location",
  608. "action":"pick",
  609. "guard":{
  610. "exp":{
  611. "op":"=",
  612. "left":"s1",
  613. "right":0
  614. }
  615. },
  616. "destinations":[
  617. {
  618. "probability":{
  619. "exp":{
  620. "op":"/",
  621. "left":1,
  622. "right":4
  623. }
  624. },
  625. "location":"location",
  626. "assignments":[
  627. {
  628. "ref":"s1",
  629. "value":1
  630. },
  631. {
  632. "ref":"p1",
  633. "value":0
  634. },
  635. {
  636. "ref":"v1",
  637. "value":0
  638. },
  639. {
  640. "ref":"u1",
  641. "value":true
  642. }
  643. ],
  644. "observables":[
  645. {
  646. "ref":"\"num_rounds\"",
  647. "value":1
  648. }
  649. ]
  650. },
  651. {
  652. "probability":{
  653. "exp":{
  654. "op":"/",
  655. "left":1,
  656. "right":4
  657. }
  658. },
  659. "location":"location",
  660. "assignments":[
  661. {
  662. "ref":"s1",
  663. "value":1
  664. },
  665. {
  666. "ref":"p1",
  667. "value":1
  668. },
  669. {
  670. "ref":"v1",
  671. "value":1
  672. },
  673. {
  674. "ref":"u1",
  675. "value":true
  676. }
  677. ],
  678. "observables":[
  679. {
  680. "ref":"\"num_rounds\"",
  681. "value":1
  682. }
  683. ]
  684. },
  685. {
  686. "probability":{
  687. "exp":{
  688. "op":"/",
  689. "left":1,
  690. "right":4
  691. }
  692. },
  693. "location":"location",
  694. "assignments":[
  695. {
  696. "ref":"s1",
  697. "value":1
  698. },
  699. {
  700. "ref":"p1",
  701. "value":2
  702. },
  703. {
  704. "ref":"v1",
  705. "value":2
  706. },
  707. {
  708. "ref":"u1",
  709. "value":true
  710. }
  711. ],
  712. "observables":[
  713. {
  714. "ref":"\"num_rounds\"",
  715. "value":1
  716. }
  717. ]
  718. },
  719. {
  720. "probability":{
  721. "exp":{
  722. "op":"/",
  723. "left":1,
  724. "right":4
  725. }
  726. },
  727. "location":"location",
  728. "assignments":[
  729. {
  730. "ref":"s1",
  731. "value":1
  732. },
  733. {
  734. "ref":"p1",
  735. "value":3
  736. },
  737. {
  738. "ref":"v1",
  739. "value":3
  740. },
  741. {
  742. "ref":"u1",
  743. "value":true
  744. }
  745. ],
  746. "observables":[
  747. {
  748. "ref":"\"num_rounds\"",
  749. "value":1
  750. }
  751. ]
  752. }
  753. ]
  754. },
  755. {
  756. "location":"location",
  757. "action":"read",
  758. "guard":{
  759. "exp":{
  760. "op":"∧",
  761. "left":{
  762. "op":"∧",
  763. "left":{
  764. "op":"=",
  765. "left":"s1",
  766. "right":1
  767. },
  768. "right":"u1"
  769. },
  770. "right":{
  771. "op":"<",
  772. "left":"c",
  773. "right":{
  774. "op":"-",
  775. "left":5,
  776. "right":1
  777. }
  778. }
  779. }
  780. },
  781. "destinations":[
  782. {
  783. "probability":{
  784. "exp":1
  785. },
  786. "location":"location",
  787. "assignments":[
  788. {
  789. "ref":"u1",
  790. "value":{
  791. "op":"≠",
  792. "left":"p1",
  793. "right":"v2"
  794. }
  795. },
  796. {
  797. "ref":"v1",
  798. "value":"v2"
  799. }
  800. ]
  801. }
  802. ]
  803. },
  804. {
  805. "location":"location",
  806. "action":"read",
  807. "guard":{
  808. "exp":{
  809. "op":"∧",
  810. "left":{
  811. "op":"∧",
  812. "left":{
  813. "op":"=",
  814. "left":"s1",
  815. "right":1
  816. },
  817. "right":{
  818. "op":"¬",
  819. "exp":"u1"
  820. }
  821. },
  822. "right":{
  823. "op":"<",
  824. "left":"c",
  825. "right":{
  826. "op":"-",
  827. "left":5,
  828. "right":1
  829. }
  830. }
  831. }
  832. },
  833. "destinations":[
  834. {
  835. "probability":{
  836. "exp":1
  837. },
  838. "location":"location",
  839. "assignments":[
  840. {
  841. "ref":"u1",
  842. "value":false
  843. },
  844. {
  845. "ref":"v1",
  846. "value":"v2"
  847. },
  848. {
  849. "ref":"p1",
  850. "value":0
  851. }
  852. ]
  853. }
  854. ]
  855. },
  856. {
  857. "location":"location",
  858. "action":"read",
  859. "guard":{
  860. "exp":{
  861. "op":"∧",
  862. "left":{
  863. "op":"∧",
  864. "left":{
  865. "op":"=",
  866. "left":"s1",
  867. "right":1
  868. },
  869. "right":"u1"
  870. },
  871. "right":{
  872. "op":"=",
  873. "left":"c",
  874. "right":{
  875. "op":"-",
  876. "left":5,
  877. "right":1
  878. }
  879. }
  880. }
  881. },
  882. "destinations":[
  883. {
  884. "probability":{
  885. "exp":1
  886. },
  887. "location":"location",
  888. "assignments":[
  889. {
  890. "ref":"s1",
  891. "value":2
  892. },
  893. {
  894. "ref":"u1",
  895. "value":{
  896. "op":"≠",
  897. "left":"p1",
  898. "right":"v2"
  899. }
  900. },
  901. {
  902. "ref":"v1",
  903. "value":0
  904. },
  905. {
  906. "ref":"p1",
  907. "value":0
  908. }
  909. ]
  910. }
  911. ]
  912. },
  913. {
  914. "location":"location",
  915. "action":"read",
  916. "guard":{
  917. "exp":{
  918. "op":"∧",
  919. "left":{
  920. "op":"∧",
  921. "left":{
  922. "op":"=",
  923. "left":"s1",
  924. "right":1
  925. },
  926. "right":{
  927. "op":"¬",
  928. "exp":"u1"
  929. }
  930. },
  931. "right":{
  932. "op":"=",
  933. "left":"c",
  934. "right":{
  935. "op":"-",
  936. "left":5,
  937. "right":1
  938. }
  939. }
  940. }
  941. },
  942. "destinations":[
  943. {
  944. "probability":{
  945. "exp":1
  946. },
  947. "location":"location",
  948. "assignments":[
  949. {
  950. "ref":"s1",
  951. "value":2
  952. },
  953. {
  954. "ref":"u1",
  955. "value":false
  956. },
  957. {
  958. "ref":"v1",
  959. "value":0
  960. }
  961. ]
  962. }
  963. ]
  964. },
  965. {
  966. "location":"location",
  967. "action":"done",
  968. "guard":{
  969. "exp":{
  970. "op":"=",
  971. "left":"s1",
  972. "right":2
  973. }
  974. },
  975. "destinations":[
  976. {
  977. "probability":{
  978. "exp":1
  979. },
  980. "location":"location",
  981. "assignments":[
  982. {
  983. "ref":"s1",
  984. "value":3
  985. },
  986. {
  987. "ref":"u1",
  988. "value":false
  989. },
  990. {
  991. "ref":"v1",
  992. "value":0
  993. },
  994. {
  995. "ref":"p1",
  996. "value":0
  997. }
  998. ]
  999. }
  1000. ]
  1001. },
  1002. {
  1003. "location":"location",
  1004. "action":"retry",
  1005. "guard":{
  1006. "exp":{
  1007. "op":"=",
  1008. "left":"s1",
  1009. "right":2
  1010. }
  1011. },
  1012. "destinations":[
  1013. {
  1014. "probability":{
  1015. "exp":1
  1016. },
  1017. "location":"location",
  1018. "assignments":[
  1019. {
  1020. "ref":"s1",
  1021. "value":0
  1022. },
  1023. {
  1024. "ref":"u1",
  1025. "value":false
  1026. },
  1027. {
  1028. "ref":"v1",
  1029. "value":0
  1030. },
  1031. {
  1032. "ref":"p1",
  1033. "value":0
  1034. }
  1035. ]
  1036. }
  1037. ]
  1038. },
  1039. {
  1040. "location":"location",
  1041. "action":"loop",
  1042. "guard":{
  1043. "exp":{
  1044. "op":"=",
  1045. "left":"s1",
  1046. "right":3
  1047. }
  1048. },
  1049. "destinations":[
  1050. {
  1051. "probability":{
  1052. "exp":1
  1053. },
  1054. "location":"location",
  1055. "assignments":[
  1056. {
  1057. "ref":"s1",
  1058. "value":3
  1059. }
  1060. ]
  1061. }
  1062. ]
  1063. }
  1064. ]
  1065. },
  1066. {
  1067. "name":"process2",
  1068. "locations":[
  1069. {
  1070. "name":"location"
  1071. }
  1072. ],
  1073. "initial-locations":[
  1074. "location"
  1075. ],
  1076. "edges":[
  1077. {
  1078. "location":"location",
  1079. "action":"pick",
  1080. "guard":{
  1081. "exp":{
  1082. "op":"=",
  1083. "left":"s2",
  1084. "right":0
  1085. }
  1086. },
  1087. "destinations":[
  1088. {
  1089. "probability":{
  1090. "exp":{
  1091. "op":"/",
  1092. "left":1,
  1093. "right":4
  1094. }
  1095. },
  1096. "location":"location",
  1097. "assignments":[
  1098. {
  1099. "ref":"s2",
  1100. "value":1
  1101. },
  1102. {
  1103. "ref":"p2",
  1104. "value":0
  1105. },
  1106. {
  1107. "ref":"v2",
  1108. "value":0
  1109. },
  1110. {
  1111. "ref":"u2",
  1112. "value":true
  1113. }
  1114. ]
  1115. },
  1116. {
  1117. "probability":{
  1118. "exp":{
  1119. "op":"/",
  1120. "left":1,
  1121. "right":4
  1122. }
  1123. },
  1124. "location":"location",
  1125. "assignments":[
  1126. {
  1127. "ref":"s2",
  1128. "value":1
  1129. },
  1130. {
  1131. "ref":"p2",
  1132. "value":1
  1133. },
  1134. {
  1135. "ref":"v2",
  1136. "value":1
  1137. },
  1138. {
  1139. "ref":"u2",
  1140. "value":true
  1141. }
  1142. ]
  1143. },
  1144. {
  1145. "probability":{
  1146. "exp":{
  1147. "op":"/",
  1148. "left":1,
  1149. "right":4
  1150. }
  1151. },
  1152. "location":"location",
  1153. "assignments":[
  1154. {
  1155. "ref":"s2",
  1156. "value":1
  1157. },
  1158. {
  1159. "ref":"p2",
  1160. "value":2
  1161. },
  1162. {
  1163. "ref":"v2",
  1164. "value":2
  1165. },
  1166. {
  1167. "ref":"u2",
  1168. "value":true
  1169. }
  1170. ]
  1171. },
  1172. {
  1173. "probability":{
  1174. "exp":{
  1175. "op":"/",
  1176. "left":1,
  1177. "right":4
  1178. }
  1179. },
  1180. "location":"location",
  1181. "assignments":[
  1182. {
  1183. "ref":"s2",
  1184. "value":1
  1185. },
  1186. {
  1187. "ref":"p2",
  1188. "value":3
  1189. },
  1190. {
  1191. "ref":"v2",
  1192. "value":3
  1193. },
  1194. {
  1195. "ref":"u2",
  1196. "value":true
  1197. }
  1198. ]
  1199. }
  1200. ]
  1201. },
  1202. {
  1203. "location":"location",
  1204. "action":"read",
  1205. "guard":{
  1206. "exp":{
  1207. "op":"∧",
  1208. "left":{
  1209. "op":"∧",
  1210. "left":{
  1211. "op":"=",
  1212. "left":"s2",
  1213. "right":1
  1214. },
  1215. "right":"u2"
  1216. },
  1217. "right":{
  1218. "op":"<",
  1219. "left":"c",
  1220. "right":{
  1221. "op":"-",
  1222. "left":5,
  1223. "right":1
  1224. }
  1225. }
  1226. }
  1227. },
  1228. "destinations":[
  1229. {
  1230. "probability":{
  1231. "exp":1
  1232. },
  1233. "location":"location",
  1234. "assignments":[
  1235. {
  1236. "ref":"u2",
  1237. "value":{
  1238. "op":"≠",
  1239. "left":"p2",
  1240. "right":"v3"
  1241. }
  1242. },
  1243. {
  1244. "ref":"v2",
  1245. "value":"v3"
  1246. }
  1247. ]
  1248. }
  1249. ]
  1250. },
  1251. {
  1252. "location":"location",
  1253. "action":"read",
  1254. "guard":{
  1255. "exp":{
  1256. "op":"∧",
  1257. "left":{
  1258. "op":"∧",
  1259. "left":{
  1260. "op":"=",
  1261. "left":"s2",
  1262. "right":1
  1263. },
  1264. "right":{
  1265. "op":"¬",
  1266. "exp":"u2"
  1267. }
  1268. },
  1269. "right":{
  1270. "op":"<",
  1271. "left":"c",
  1272. "right":{
  1273. "op":"-",
  1274. "left":5,
  1275. "right":1
  1276. }
  1277. }
  1278. }
  1279. },
  1280. "destinations":[
  1281. {
  1282. "probability":{
  1283. "exp":1
  1284. },
  1285. "location":"location",
  1286. "assignments":[
  1287. {
  1288. "ref":"u2",
  1289. "value":false
  1290. },
  1291. {
  1292. "ref":"v2",
  1293. "value":"v3"
  1294. },
  1295. {
  1296. "ref":"p2",
  1297. "value":0
  1298. }
  1299. ]
  1300. }
  1301. ]
  1302. },
  1303. {
  1304. "location":"location",
  1305. "action":"read",
  1306. "guard":{
  1307. "exp":{
  1308. "op":"∧",
  1309. "left":{
  1310. "op":"∧",
  1311. "left":{
  1312. "op":"=",
  1313. "left":"s2",
  1314. "right":1
  1315. },
  1316. "right":"u2"
  1317. },
  1318. "right":{
  1319. "op":"=",
  1320. "left":"c",
  1321. "right":{
  1322. "op":"-",
  1323. "left":5,
  1324. "right":1
  1325. }
  1326. }
  1327. }
  1328. },
  1329. "destinations":[
  1330. {
  1331. "probability":{
  1332. "exp":1
  1333. },
  1334. "location":"location",
  1335. "assignments":[
  1336. {
  1337. "ref":"s2",
  1338. "value":2
  1339. },
  1340. {
  1341. "ref":"u2",
  1342. "value":{
  1343. "op":"≠",
  1344. "left":"p2",
  1345. "right":"v3"
  1346. }
  1347. },
  1348. {
  1349. "ref":"v2",
  1350. "value":0
  1351. },
  1352. {
  1353. "ref":"p2",
  1354. "value":0
  1355. }
  1356. ]
  1357. }
  1358. ]
  1359. },
  1360. {
  1361. "location":"location",
  1362. "action":"read",
  1363. "guard":{
  1364. "exp":{
  1365. "op":"∧",
  1366. "left":{
  1367. "op":"∧",
  1368. "left":{
  1369. "op":"=",
  1370. "left":"s2",
  1371. "right":1
  1372. },
  1373. "right":{
  1374. "op":"¬",
  1375. "exp":"u2"
  1376. }
  1377. },
  1378. "right":{
  1379. "op":"=",
  1380. "left":"c",
  1381. "right":{
  1382. "op":"-",
  1383. "left":5,
  1384. "right":1
  1385. }
  1386. }
  1387. }
  1388. },
  1389. "destinations":[
  1390. {
  1391. "probability":{
  1392. "exp":1
  1393. },
  1394. "location":"location",
  1395. "assignments":[
  1396. {
  1397. "ref":"s2",
  1398. "value":2
  1399. },
  1400. {
  1401. "ref":"u2",
  1402. "value":false
  1403. },
  1404. {
  1405. "ref":"v2",
  1406. "value":0
  1407. }
  1408. ]
  1409. }
  1410. ]
  1411. },
  1412. {
  1413. "location":"location",
  1414. "action":"done",
  1415. "guard":{
  1416. "exp":{
  1417. "op":"=",
  1418. "left":"s2",
  1419. "right":2
  1420. }
  1421. },
  1422. "destinations":[
  1423. {
  1424. "probability":{
  1425. "exp":1
  1426. },
  1427. "location":"location",
  1428. "assignments":[
  1429. {
  1430. "ref":"s2",
  1431. "value":3
  1432. },
  1433. {
  1434. "ref":"u2",
  1435. "value":false
  1436. },
  1437. {
  1438. "ref":"v2",
  1439. "value":0
  1440. },
  1441. {
  1442. "ref":"p2",
  1443. "value":0
  1444. }
  1445. ]
  1446. }
  1447. ]
  1448. },
  1449. {
  1450. "location":"location",
  1451. "action":"retry",
  1452. "guard":{
  1453. "exp":{
  1454. "op":"=",
  1455. "left":"s2",
  1456. "right":2
  1457. }
  1458. },
  1459. "destinations":[
  1460. {
  1461. "probability":{
  1462. "exp":1
  1463. },
  1464. "location":"location",
  1465. "assignments":[
  1466. {
  1467. "ref":"s2",
  1468. "value":0
  1469. },
  1470. {
  1471. "ref":"u2",
  1472. "value":false
  1473. },
  1474. {
  1475. "ref":"v2",
  1476. "value":0
  1477. },
  1478. {
  1479. "ref":"p2",
  1480. "value":0
  1481. }
  1482. ]
  1483. }
  1484. ]
  1485. },
  1486. {
  1487. "location":"location",
  1488. "action":"loop",
  1489. "guard":{
  1490. "exp":{
  1491. "op":"=",
  1492. "left":"s2",
  1493. "right":3
  1494. }
  1495. },
  1496. "destinations":[
  1497. {
  1498. "probability":{
  1499. "exp":1
  1500. },
  1501. "location":"location",
  1502. "assignments":[
  1503. {
  1504. "ref":"s2",
  1505. "value":3
  1506. }
  1507. ]
  1508. }
  1509. ]
  1510. }
  1511. ]
  1512. },
  1513. {
  1514. "name":"process3",
  1515. "locations":[
  1516. {
  1517. "name":"location"
  1518. }
  1519. ],
  1520. "initial-locations":[
  1521. "location"
  1522. ],
  1523. "edges":[
  1524. {
  1525. "location":"location",
  1526. "action":"pick",
  1527. "guard":{
  1528. "exp":{
  1529. "op":"=",
  1530. "left":"s3",
  1531. "right":0
  1532. }
  1533. },
  1534. "destinations":[
  1535. {
  1536. "probability":{
  1537. "exp":{
  1538. "op":"/",
  1539. "left":1,
  1540. "right":4
  1541. }
  1542. },
  1543. "location":"location",
  1544. "assignments":[
  1545. {
  1546. "ref":"s3",
  1547. "value":1
  1548. },
  1549. {
  1550. "ref":"p3",
  1551. "value":0
  1552. },
  1553. {
  1554. "ref":"v3",
  1555. "value":0
  1556. },
  1557. {
  1558. "ref":"u3",
  1559. "value":true
  1560. }
  1561. ]
  1562. },
  1563. {
  1564. "probability":{
  1565. "exp":{
  1566. "op":"/",
  1567. "left":1,
  1568. "right":4
  1569. }
  1570. },
  1571. "location":"location",
  1572. "assignments":[
  1573. {
  1574. "ref":"s3",
  1575. "value":1
  1576. },
  1577. {
  1578. "ref":"p3",
  1579. "value":1
  1580. },
  1581. {
  1582. "ref":"v3",
  1583. "value":1
  1584. },
  1585. {
  1586. "ref":"u3",
  1587. "value":true
  1588. }
  1589. ]
  1590. },
  1591. {
  1592. "probability":{
  1593. "exp":{
  1594. "op":"/",
  1595. "left":1,
  1596. "right":4
  1597. }
  1598. },
  1599. "location":"location",
  1600. "assignments":[
  1601. {
  1602. "ref":"s3",
  1603. "value":1
  1604. },
  1605. {
  1606. "ref":"p3",
  1607. "value":2
  1608. },
  1609. {
  1610. "ref":"v3",
  1611. "value":2
  1612. },
  1613. {
  1614. "ref":"u3",
  1615. "value":true
  1616. }
  1617. ]
  1618. },
  1619. {
  1620. "probability":{
  1621. "exp":{
  1622. "op":"/",
  1623. "left":1,
  1624. "right":4
  1625. }
  1626. },
  1627. "location":"location",
  1628. "assignments":[
  1629. {
  1630. "ref":"s3",
  1631. "value":1
  1632. },
  1633. {
  1634. "ref":"p3",
  1635. "value":3
  1636. },
  1637. {
  1638. "ref":"v3",
  1639. "value":3
  1640. },
  1641. {
  1642. "ref":"u3",
  1643. "value":true
  1644. }
  1645. ]
  1646. }
  1647. ]
  1648. },
  1649. {
  1650. "location":"location",
  1651. "action":"read",
  1652. "guard":{
  1653. "exp":{
  1654. "op":"∧",
  1655. "left":{
  1656. "op":"∧",
  1657. "left":{
  1658. "op":"=",
  1659. "left":"s3",
  1660. "right":1
  1661. },
  1662. "right":"u3"
  1663. },
  1664. "right":{
  1665. "op":"<",
  1666. "left":"c",
  1667. "right":{
  1668. "op":"-",
  1669. "left":5,
  1670. "right":1
  1671. }
  1672. }
  1673. }
  1674. },
  1675. "destinations":[
  1676. {
  1677. "probability":{
  1678. "exp":1
  1679. },
  1680. "location":"location",
  1681. "assignments":[
  1682. {
  1683. "ref":"u3",
  1684. "value":{
  1685. "op":"≠",
  1686. "left":"p3",
  1687. "right":"v4"
  1688. }
  1689. },
  1690. {
  1691. "ref":"v3",
  1692. "value":"v4"
  1693. }
  1694. ]
  1695. }
  1696. ]
  1697. },
  1698. {
  1699. "location":"location",
  1700. "action":"read",
  1701. "guard":{
  1702. "exp":{
  1703. "op":"∧",
  1704. "left":{
  1705. "op":"∧",
  1706. "left":{
  1707. "op":"=",
  1708. "left":"s3",
  1709. "right":1
  1710. },
  1711. "right":{
  1712. "op":"¬",
  1713. "exp":"u3"
  1714. }
  1715. },
  1716. "right":{
  1717. "op":"<",
  1718. "left":"c",
  1719. "right":{
  1720. "op":"-",
  1721. "left":5,
  1722. "right":1
  1723. }
  1724. }
  1725. }
  1726. },
  1727. "destinations":[
  1728. {
  1729. "probability":{
  1730. "exp":1
  1731. },
  1732. "location":"location",
  1733. "assignments":[
  1734. {
  1735. "ref":"u3",
  1736. "value":false
  1737. },
  1738. {
  1739. "ref":"v3",
  1740. "value":"v4"
  1741. },
  1742. {
  1743. "ref":"p3",
  1744. "value":0
  1745. }
  1746. ]
  1747. }
  1748. ]
  1749. },
  1750. {
  1751. "location":"location",
  1752. "action":"read",
  1753. "guard":{
  1754. "exp":{
  1755. "op":"∧",
  1756. "left":{
  1757. "op":"∧",
  1758. "left":{
  1759. "op":"=",
  1760. "left":"s3",
  1761. "right":1
  1762. },
  1763. "right":"u3"
  1764. },
  1765. "right":{
  1766. "op":"=",
  1767. "left":"c",
  1768. "right":{
  1769. "op":"-",
  1770. "left":5,
  1771. "right":1
  1772. }
  1773. }
  1774. }
  1775. },
  1776. "destinations":[
  1777. {
  1778. "probability":{
  1779. "exp":1
  1780. },
  1781. "location":"location",
  1782. "assignments":[
  1783. {
  1784. "ref":"s3",
  1785. "value":2
  1786. },
  1787. {
  1788. "ref":"u3",
  1789. "value":{
  1790. "op":"≠",
  1791. "left":"p3",
  1792. "right":"v4"
  1793. }
  1794. },
  1795. {
  1796. "ref":"v3",
  1797. "value":0
  1798. },
  1799. {
  1800. "ref":"p3",
  1801. "value":0
  1802. }
  1803. ]
  1804. }
  1805. ]
  1806. },
  1807. {
  1808. "location":"location",
  1809. "action":"read",
  1810. "guard":{
  1811. "exp":{
  1812. "op":"∧",
  1813. "left":{
  1814. "op":"∧",
  1815. "left":{
  1816. "op":"=",
  1817. "left":"s3",
  1818. "right":1
  1819. },
  1820. "right":{
  1821. "op":"¬",
  1822. "exp":"u3"
  1823. }
  1824. },
  1825. "right":{
  1826. "op":"=",
  1827. "left":"c",
  1828. "right":{
  1829. "op":"-",
  1830. "left":5,
  1831. "right":1
  1832. }
  1833. }
  1834. }
  1835. },
  1836. "destinations":[
  1837. {
  1838. "probability":{
  1839. "exp":1
  1840. },
  1841. "location":"location",
  1842. "assignments":[
  1843. {
  1844. "ref":"s3",
  1845. "value":2
  1846. },
  1847. {
  1848. "ref":"u3",
  1849. "value":false
  1850. },
  1851. {
  1852. "ref":"v3",
  1853. "value":0
  1854. }
  1855. ]
  1856. }
  1857. ]
  1858. },
  1859. {
  1860. "location":"location",
  1861. "action":"done",
  1862. "guard":{
  1863. "exp":{
  1864. "op":"=",
  1865. "left":"s3",
  1866. "right":2
  1867. }
  1868. },
  1869. "destinations":[
  1870. {
  1871. "probability":{
  1872. "exp":1
  1873. },
  1874. "location":"location",
  1875. "assignments":[
  1876. {
  1877. "ref":"s3",
  1878. "value":3
  1879. },
  1880. {
  1881. "ref":"u3",
  1882. "value":false
  1883. },
  1884. {
  1885. "ref":"v3",
  1886. "value":0
  1887. },
  1888. {
  1889. "ref":"p3",
  1890. "value":0
  1891. }
  1892. ]
  1893. }
  1894. ]
  1895. },
  1896. {
  1897. "location":"location",
  1898. "action":"retry",
  1899. "guard":{
  1900. "exp":{
  1901. "op":"=",
  1902. "left":"s3",
  1903. "right":2
  1904. }
  1905. },
  1906. "destinations":[
  1907. {
  1908. "probability":{
  1909. "exp":1
  1910. },
  1911. "location":"location",
  1912. "assignments":[
  1913. {
  1914. "ref":"s3",
  1915. "value":0
  1916. },
  1917. {
  1918. "ref":"u3",
  1919. "value":false
  1920. },
  1921. {
  1922. "ref":"v3",
  1923. "value":0
  1924. },
  1925. {
  1926. "ref":"p3",
  1927. "value":0
  1928. }
  1929. ]
  1930. }
  1931. ]
  1932. },
  1933. {
  1934. "location":"location",
  1935. "action":"loop",
  1936. "guard":{
  1937. "exp":{
  1938. "op":"=",
  1939. "left":"s3",
  1940. "right":3
  1941. }
  1942. },
  1943. "destinations":[
  1944. {
  1945. "probability":{
  1946. "exp":1
  1947. },
  1948. "location":"location",
  1949. "assignments":[
  1950. {
  1951. "ref":"s3",
  1952. "value":3
  1953. }
  1954. ]
  1955. }
  1956. ]
  1957. }
  1958. ]
  1959. },
  1960. {
  1961. "name":"process4",
  1962. "locations":[
  1963. {
  1964. "name":"location"
  1965. }
  1966. ],
  1967. "initial-locations":[
  1968. "location"
  1969. ],
  1970. "edges":[
  1971. {
  1972. "location":"location",
  1973. "action":"pick",
  1974. "guard":{
  1975. "exp":{
  1976. "op":"=",
  1977. "left":"s4",
  1978. "right":0
  1979. }
  1980. },
  1981. "destinations":[
  1982. {
  1983. "probability":{
  1984. "exp":{
  1985. "op":"/",
  1986. "left":1,
  1987. "right":4
  1988. }
  1989. },
  1990. "location":"location",
  1991. "assignments":[
  1992. {
  1993. "ref":"s4",
  1994. "value":1
  1995. },
  1996. {
  1997. "ref":"p4",
  1998. "value":0
  1999. },
  2000. {
  2001. "ref":"v4",
  2002. "value":0
  2003. },
  2004. {
  2005. "ref":"u4",
  2006. "value":true
  2007. }
  2008. ]
  2009. },
  2010. {
  2011. "probability":{
  2012. "exp":{
  2013. "op":"/",
  2014. "left":1,
  2015. "right":4
  2016. }
  2017. },
  2018. "location":"location",
  2019. "assignments":[
  2020. {
  2021. "ref":"s4",
  2022. "value":1
  2023. },
  2024. {
  2025. "ref":"p4",
  2026. "value":1
  2027. },
  2028. {
  2029. "ref":"v4",
  2030. "value":1
  2031. },
  2032. {
  2033. "ref":"u4",
  2034. "value":true
  2035. }
  2036. ]
  2037. },
  2038. {
  2039. "probability":{
  2040. "exp":{
  2041. "op":"/",
  2042. "left":1,
  2043. "right":4
  2044. }
  2045. },
  2046. "location":"location",
  2047. "assignments":[
  2048. {
  2049. "ref":"s4",
  2050. "value":1
  2051. },
  2052. {
  2053. "ref":"p4",
  2054. "value":2
  2055. },
  2056. {
  2057. "ref":"v4",
  2058. "value":2
  2059. },
  2060. {
  2061. "ref":"u4",
  2062. "value":true
  2063. }
  2064. ]
  2065. },
  2066. {
  2067. "probability":{
  2068. "exp":{
  2069. "op":"/",
  2070. "left":1,
  2071. "right":4
  2072. }
  2073. },
  2074. "location":"location",
  2075. "assignments":[
  2076. {
  2077. "ref":"s4",
  2078. "value":1
  2079. },
  2080. {
  2081. "ref":"p4",
  2082. "value":3
  2083. },
  2084. {
  2085. "ref":"v4",
  2086. "value":3
  2087. },
  2088. {
  2089. "ref":"u4",
  2090. "value":true
  2091. }
  2092. ]
  2093. }
  2094. ]
  2095. },
  2096. {
  2097. "location":"location",
  2098. "action":"read",
  2099. "guard":{
  2100. "exp":{
  2101. "op":"∧",
  2102. "left":{
  2103. "op":"∧",
  2104. "left":{
  2105. "op":"=",
  2106. "left":"s4",
  2107. "right":1
  2108. },
  2109. "right":"u4"
  2110. },
  2111. "right":{
  2112. "op":"<",
  2113. "left":"c",
  2114. "right":{
  2115. "op":"-",
  2116. "left":5,
  2117. "right":1
  2118. }
  2119. }
  2120. }
  2121. },
  2122. "destinations":[
  2123. {
  2124. "probability":{
  2125. "exp":1
  2126. },
  2127. "location":"location",
  2128. "assignments":[
  2129. {
  2130. "ref":"u4",
  2131. "value":{
  2132. "op":"≠",
  2133. "left":"p4",
  2134. "right":"v5"
  2135. }
  2136. },
  2137. {
  2138. "ref":"v4",
  2139. "value":"v5"
  2140. }
  2141. ]
  2142. }
  2143. ]
  2144. },
  2145. {
  2146. "location":"location",
  2147. "action":"read",
  2148. "guard":{
  2149. "exp":{
  2150. "op":"∧",
  2151. "left":{
  2152. "op":"∧",
  2153. "left":{
  2154. "op":"=",
  2155. "left":"s4",
  2156. "right":1
  2157. },
  2158. "right":{
  2159. "op":"¬",
  2160. "exp":"u4"
  2161. }
  2162. },
  2163. "right":{
  2164. "op":"<",
  2165. "left":"c",
  2166. "right":{
  2167. "op":"-",
  2168. "left":5,
  2169. "right":1
  2170. }
  2171. }
  2172. }
  2173. },
  2174. "destinations":[
  2175. {
  2176. "probability":{
  2177. "exp":1
  2178. },
  2179. "location":"location",
  2180. "assignments":[
  2181. {
  2182. "ref":"u4",
  2183. "value":false
  2184. },
  2185. {
  2186. "ref":"v4",
  2187. "value":"v5"
  2188. },
  2189. {
  2190. "ref":"p4",
  2191. "value":0
  2192. }
  2193. ]
  2194. }
  2195. ]
  2196. },
  2197. {
  2198. "location":"location",
  2199. "action":"read",
  2200. "guard":{
  2201. "exp":{
  2202. "op":"∧",
  2203. "left":{
  2204. "op":"∧",
  2205. "left":{
  2206. "op":"=",
  2207. "left":"s4",
  2208. "right":1
  2209. },
  2210. "right":"u4"
  2211. },
  2212. "right":{
  2213. "op":"=",
  2214. "left":"c",
  2215. "right":{
  2216. "op":"-",
  2217. "left":5,
  2218. "right":1
  2219. }
  2220. }
  2221. }
  2222. },
  2223. "destinations":[
  2224. {
  2225. "probability":{
  2226. "exp":1
  2227. },
  2228. "location":"location",
  2229. "assignments":[
  2230. {
  2231. "ref":"s4",
  2232. "value":2
  2233. },
  2234. {
  2235. "ref":"u4",
  2236. "value":{
  2237. "op":"≠",
  2238. "left":"p4",
  2239. "right":"v5"
  2240. }
  2241. },
  2242. {
  2243. "ref":"v4",
  2244. "value":0
  2245. },
  2246. {
  2247. "ref":"p4",
  2248. "value":0
  2249. }
  2250. ]
  2251. }
  2252. ]
  2253. },
  2254. {
  2255. "location":"location",
  2256. "action":"read",
  2257. "guard":{
  2258. "exp":{
  2259. "op":"∧",
  2260. "left":{
  2261. "op":"∧",
  2262. "left":{
  2263. "op":"=",
  2264. "left":"s4",
  2265. "right":1
  2266. },
  2267. "right":{
  2268. "op":"¬",
  2269. "exp":"u4"
  2270. }
  2271. },
  2272. "right":{
  2273. "op":"=",
  2274. "left":"c",
  2275. "right":{
  2276. "op":"-",
  2277. "left":5,
  2278. "right":1
  2279. }
  2280. }
  2281. }
  2282. },
  2283. "destinations":[
  2284. {
  2285. "probability":{
  2286. "exp":1
  2287. },
  2288. "location":"location",
  2289. "assignments":[
  2290. {
  2291. "ref":"s4",
  2292. "value":2
  2293. },
  2294. {
  2295. "ref":"u4",
  2296. "value":false
  2297. },
  2298. {
  2299. "ref":"v4",
  2300. "value":0
  2301. }
  2302. ]
  2303. }
  2304. ]
  2305. },
  2306. {
  2307. "location":"location",
  2308. "action":"done",
  2309. "guard":{
  2310. "exp":{
  2311. "op":"=",
  2312. "left":"s4",
  2313. "right":2
  2314. }
  2315. },
  2316. "destinations":[
  2317. {
  2318. "probability":{
  2319. "exp":1
  2320. },
  2321. "location":"location",
  2322. "assignments":[
  2323. {
  2324. "ref":"s4",
  2325. "value":3
  2326. },
  2327. {
  2328. "ref":"u4",
  2329. "value":false
  2330. },
  2331. {
  2332. "ref":"v4",
  2333. "value":0
  2334. },
  2335. {
  2336. "ref":"p4",
  2337. "value":0
  2338. }
  2339. ]
  2340. }
  2341. ]
  2342. },
  2343. {
  2344. "location":"location",
  2345. "action":"retry",
  2346. "guard":{
  2347. "exp":{
  2348. "op":"=",
  2349. "left":"s4",
  2350. "right":2
  2351. }
  2352. },
  2353. "destinations":[
  2354. {
  2355. "probability":{
  2356. "exp":1
  2357. },
  2358. "location":"location",
  2359. "assignments":[
  2360. {
  2361. "ref":"s4",
  2362. "value":0
  2363. },
  2364. {
  2365. "ref":"u4",
  2366. "value":false
  2367. },
  2368. {
  2369. "ref":"v4",
  2370. "value":0
  2371. },
  2372. {
  2373. "ref":"p4",
  2374. "value":0
  2375. }
  2376. ]
  2377. }
  2378. ]
  2379. },
  2380. {
  2381. "location":"location",
  2382. "action":"loop",
  2383. "guard":{
  2384. "exp":{
  2385. "op":"=",
  2386. "left":"s4",
  2387. "right":3
  2388. }
  2389. },
  2390. "destinations":[
  2391. {
  2392. "probability":{
  2393. "exp":1
  2394. },
  2395. "location":"location",
  2396. "assignments":[
  2397. {
  2398. "ref":"s4",
  2399. "value":3
  2400. }
  2401. ]
  2402. }
  2403. ]
  2404. }
  2405. ]
  2406. },
  2407. {
  2408. "name":"process5",
  2409. "locations":[
  2410. {
  2411. "name":"location"
  2412. }
  2413. ],
  2414. "initial-locations":[
  2415. "location"
  2416. ],
  2417. "edges":[
  2418. {
  2419. "location":"location",
  2420. "action":"pick",
  2421. "guard":{
  2422. "exp":{
  2423. "op":"=",
  2424. "left":"s5",
  2425. "right":0
  2426. }
  2427. },
  2428. "destinations":[
  2429. {
  2430. "probability":{
  2431. "exp":{
  2432. "op":"/",
  2433. "left":1,
  2434. "right":4
  2435. }
  2436. },
  2437. "location":"location",
  2438. "assignments":[
  2439. {
  2440. "ref":"s5",
  2441. "value":1
  2442. },
  2443. {
  2444. "ref":"p5",
  2445. "value":0
  2446. },
  2447. {
  2448. "ref":"v5",
  2449. "value":0
  2450. },
  2451. {
  2452. "ref":"u5",
  2453. "value":true
  2454. }
  2455. ]
  2456. },
  2457. {
  2458. "probability":{
  2459. "exp":{
  2460. "op":"/",
  2461. "left":1,
  2462. "right":4
  2463. }
  2464. },
  2465. "location":"location",
  2466. "assignments":[
  2467. {
  2468. "ref":"s5",
  2469. "value":1
  2470. },
  2471. {
  2472. "ref":"p5",
  2473. "value":1
  2474. },
  2475. {
  2476. "ref":"v5",
  2477. "value":1
  2478. },
  2479. {
  2480. "ref":"u5",
  2481. "value":true
  2482. }
  2483. ]
  2484. },
  2485. {
  2486. "probability":{
  2487. "exp":{
  2488. "op":"/",
  2489. "left":1,
  2490. "right":4
  2491. }
  2492. },
  2493. "location":"location",
  2494. "assignments":[
  2495. {
  2496. "ref":"s5",
  2497. "value":1
  2498. },
  2499. {
  2500. "ref":"p5",
  2501. "value":2
  2502. },
  2503. {
  2504. "ref":"v5",
  2505. "value":2
  2506. },
  2507. {
  2508. "ref":"u5",
  2509. "value":true
  2510. }
  2511. ]
  2512. },
  2513. {
  2514. "probability":{
  2515. "exp":{
  2516. "op":"/",
  2517. "left":1,
  2518. "right":4
  2519. }
  2520. },
  2521. "location":"location",
  2522. "assignments":[
  2523. {
  2524. "ref":"s5",
  2525. "value":1
  2526. },
  2527. {
  2528. "ref":"p5",
  2529. "value":3
  2530. },
  2531. {
  2532. "ref":"v5",
  2533. "value":3
  2534. },
  2535. {
  2536. "ref":"u5",
  2537. "value":true
  2538. }
  2539. ]
  2540. }
  2541. ]
  2542. },
  2543. {
  2544. "location":"location",
  2545. "action":"read",
  2546. "guard":{
  2547. "exp":{
  2548. "op":"∧",
  2549. "left":{
  2550. "op":"∧",
  2551. "left":{
  2552. "op":"=",
  2553. "left":"s5",
  2554. "right":1
  2555. },
  2556. "right":"u5"
  2557. },
  2558. "right":{
  2559. "op":"<",
  2560. "left":"c",
  2561. "right":{
  2562. "op":"-",
  2563. "left":5,
  2564. "right":1
  2565. }
  2566. }
  2567. }
  2568. },
  2569. "destinations":[
  2570. {
  2571. "probability":{
  2572. "exp":1
  2573. },
  2574. "location":"location",
  2575. "assignments":[
  2576. {
  2577. "ref":"u5",
  2578. "value":{
  2579. "op":"≠",
  2580. "left":"p5",
  2581. "right":"v1"
  2582. }
  2583. },
  2584. {
  2585. "ref":"v5",
  2586. "value":"v1"
  2587. }
  2588. ]
  2589. }
  2590. ]
  2591. },
  2592. {
  2593. "location":"location",
  2594. "action":"read",
  2595. "guard":{
  2596. "exp":{
  2597. "op":"∧",
  2598. "left":{
  2599. "op":"∧",
  2600. "left":{
  2601. "op":"=",
  2602. "left":"s5",
  2603. "right":1
  2604. },
  2605. "right":{
  2606. "op":"¬",
  2607. "exp":"u5"
  2608. }
  2609. },
  2610. "right":{
  2611. "op":"<",
  2612. "left":"c",
  2613. "right":{
  2614. "op":"-",
  2615. "left":5,
  2616. "right":1
  2617. }
  2618. }
  2619. }
  2620. },
  2621. "destinations":[
  2622. {
  2623. "probability":{
  2624. "exp":1
  2625. },
  2626. "location":"location",
  2627. "assignments":[
  2628. {
  2629. "ref":"u5",
  2630. "value":false
  2631. },
  2632. {
  2633. "ref":"v5",
  2634. "value":"v1"
  2635. },
  2636. {
  2637. "ref":"p5",
  2638. "value":0
  2639. }
  2640. ]
  2641. }
  2642. ]
  2643. },
  2644. {
  2645. "location":"location",
  2646. "action":"read",
  2647. "guard":{
  2648. "exp":{
  2649. "op":"∧",
  2650. "left":{
  2651. "op":"∧",
  2652. "left":{
  2653. "op":"=",
  2654. "left":"s5",
  2655. "right":1
  2656. },
  2657. "right":"u5"
  2658. },
  2659. "right":{
  2660. "op":"=",
  2661. "left":"c",
  2662. "right":{
  2663. "op":"-",
  2664. "left":5,
  2665. "right":1
  2666. }
  2667. }
  2668. }
  2669. },
  2670. "destinations":[
  2671. {
  2672. "probability":{
  2673. "exp":1
  2674. },
  2675. "location":"location",
  2676. "assignments":[
  2677. {
  2678. "ref":"s5",
  2679. "value":2
  2680. },
  2681. {
  2682. "ref":"u5",
  2683. "value":{
  2684. "op":"≠",
  2685. "left":"p5",
  2686. "right":"v1"
  2687. }
  2688. },
  2689. {
  2690. "ref":"v5",
  2691. "value":0
  2692. },
  2693. {
  2694. "ref":"p5",
  2695. "value":0
  2696. }
  2697. ]
  2698. }
  2699. ]
  2700. },
  2701. {
  2702. "location":"location",
  2703. "action":"read",
  2704. "guard":{
  2705. "exp":{
  2706. "op":"∧",
  2707. "left":{
  2708. "op":"∧",
  2709. "left":{
  2710. "op":"=",
  2711. "left":"s5",
  2712. "right":1
  2713. },
  2714. "right":{
  2715. "op":"¬",
  2716. "exp":"u5"
  2717. }
  2718. },
  2719. "right":{
  2720. "op":"=",
  2721. "left":"c",
  2722. "right":{
  2723. "op":"-",
  2724. "left":5,
  2725. "right":1
  2726. }
  2727. }
  2728. }
  2729. },
  2730. "destinations":[
  2731. {
  2732. "probability":{
  2733. "exp":1
  2734. },
  2735. "location":"location",
  2736. "assignments":[
  2737. {
  2738. "ref":"s5",
  2739. "value":2
  2740. },
  2741. {
  2742. "ref":"u5",
  2743. "value":false
  2744. },
  2745. {
  2746. "ref":"v5",
  2747. "value":0
  2748. }
  2749. ]
  2750. }
  2751. ]
  2752. },
  2753. {
  2754. "location":"location",
  2755. "action":"done",
  2756. "guard":{
  2757. "exp":{
  2758. "op":"=",
  2759. "left":"s5",
  2760. "right":2
  2761. }
  2762. },
  2763. "destinations":[
  2764. {
  2765. "probability":{
  2766. "exp":1
  2767. },
  2768. "location":"location",
  2769. "assignments":[
  2770. {
  2771. "ref":"s5",
  2772. "value":3
  2773. },
  2774. {
  2775. "ref":"u5",
  2776. "value":false
  2777. },
  2778. {
  2779. "ref":"v5",
  2780. "value":0
  2781. },
  2782. {
  2783. "ref":"p5",
  2784. "value":0
  2785. }
  2786. ]
  2787. }
  2788. ]
  2789. },
  2790. {
  2791. "location":"location",
  2792. "action":"retry",
  2793. "guard":{
  2794. "exp":{
  2795. "op":"=",
  2796. "left":"s5",
  2797. "right":2
  2798. }
  2799. },
  2800. "destinations":[
  2801. {
  2802. "probability":{
  2803. "exp":1
  2804. },
  2805. "location":"location",
  2806. "assignments":[
  2807. {
  2808. "ref":"s5",
  2809. "value":0
  2810. },
  2811. {
  2812. "ref":"u5",
  2813. "value":false
  2814. },
  2815. {
  2816. "ref":"v5",
  2817. "value":0
  2818. },
  2819. {
  2820. "ref":"p5",
  2821. "value":0
  2822. }
  2823. ]
  2824. }
  2825. ]
  2826. },
  2827. {
  2828. "location":"location",
  2829. "action":"loop",
  2830. "guard":{
  2831. "exp":{
  2832. "op":"=",
  2833. "left":"s5",
  2834. "right":3
  2835. }
  2836. },
  2837. "destinations":[
  2838. {
  2839. "probability":{
  2840. "exp":1
  2841. },
  2842. "location":"location",
  2843. "assignments":[
  2844. {
  2845. "ref":"s5",
  2846. "value":3
  2847. }
  2848. ]
  2849. }
  2850. ]
  2851. }
  2852. ]
  2853. }
  2854. ],
  2855. "system":{
  2856. "elements":[
  2857. {
  2858. "automaton":"counter"
  2859. },
  2860. {
  2861. "automaton":"process1"
  2862. },
  2863. {
  2864. "automaton":"process2"
  2865. },
  2866. {
  2867. "automaton":"process3"
  2868. },
  2869. {
  2870. "automaton":"process4"
  2871. },
  2872. {
  2873. "automaton":"process5"
  2874. }
  2875. ],
  2876. "syncs":[
  2877. {
  2878. "synchronise":[
  2879. "read",
  2880. "read",
  2881. "read",
  2882. "read",
  2883. "read",
  2884. "read"
  2885. ],
  2886. "result":"read"
  2887. },
  2888. {
  2889. "synchronise":[
  2890. "done",
  2891. "done",
  2892. "done",
  2893. "done",
  2894. "done",
  2895. "done"
  2896. ],
  2897. "result":"done"
  2898. },
  2899. {
  2900. "synchronise":[
  2901. "retry",
  2902. "retry",
  2903. "retry",
  2904. "retry",
  2905. "retry",
  2906. "retry"
  2907. ],
  2908. "result":"retry"
  2909. },
  2910. {
  2911. "synchronise":[
  2912. "loop",
  2913. "loop",
  2914. "loop",
  2915. "loop",
  2916. "loop",
  2917. "loop"
  2918. ],
  2919. "result":"loop"
  2920. },
  2921. {
  2922. "synchronise":[
  2923. null,
  2924. "pick",
  2925. "pick",
  2926. "pick",
  2927. "pick",
  2928. "pick"
  2929. ],
  2930. "result":"pick"
  2931. }
  2932. ]
  2933. }
  2934. }