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.

1676 lines
57 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":"NewFile"
  11. },
  12. {
  13. "name":"aF"
  14. },
  15. {
  16. "name":"aB"
  17. },
  18. {
  19. "name":"TO_Msg"
  20. },
  21. {
  22. "name":"TO_Ack"
  23. },
  24. {
  25. "name":"tau__"
  26. },
  27. {
  28. "name":"SyncWait"
  29. },
  30. {
  31. "name":"aG"
  32. },
  33. {
  34. "name":"aA"
  35. }
  36. ],
  37. "constants":[
  38. {
  39. "name":"N",
  40. "type":"int"
  41. },
  42. {
  43. "name":"MAX",
  44. "type":"int"
  45. }
  46. ],
  47. "variables":[
  48. {
  49. "name":"s",
  50. "type":{
  51. "kind":"bounded",
  52. "base":"int",
  53. "lower-bound":0,
  54. "upper-bound":6
  55. }
  56. },
  57. {
  58. "name":"srep",
  59. "type":{
  60. "kind":"bounded",
  61. "base":"int",
  62. "lower-bound":0,
  63. "upper-bound":3
  64. }
  65. },
  66. {
  67. "name":"nrtr",
  68. "type":{
  69. "kind":"bounded",
  70. "base":"int",
  71. "lower-bound":0,
  72. "upper-bound":"MAX"
  73. }
  74. },
  75. {
  76. "name":"i",
  77. "type":{
  78. "kind":"bounded",
  79. "base":"int",
  80. "lower-bound":0,
  81. "upper-bound":"N"
  82. }
  83. },
  84. {
  85. "name":"bs",
  86. "type":"bool"
  87. },
  88. {
  89. "name":"s_ab",
  90. "type":"bool"
  91. },
  92. {
  93. "name":"fs",
  94. "type":"bool"
  95. },
  96. {
  97. "name":"ls",
  98. "type":"bool"
  99. },
  100. {
  101. "name":"r",
  102. "type":{
  103. "kind":"bounded",
  104. "base":"int",
  105. "lower-bound":0,
  106. "upper-bound":5
  107. }
  108. },
  109. {
  110. "name":"rrep",
  111. "type":{
  112. "kind":"bounded",
  113. "base":"int",
  114. "lower-bound":0,
  115. "upper-bound":4
  116. }
  117. },
  118. {
  119. "name":"fr",
  120. "type":"bool"
  121. },
  122. {
  123. "name":"lr",
  124. "type":"bool"
  125. },
  126. {
  127. "name":"br",
  128. "type":"bool"
  129. },
  130. {
  131. "name":"r_ab",
  132. "type":"bool"
  133. },
  134. {
  135. "name":"recv",
  136. "type":"bool"
  137. },
  138. {
  139. "name":"T",
  140. "type":"bool"
  141. },
  142. {
  143. "name":"k",
  144. "type":{
  145. "kind":"bounded",
  146. "base":"int",
  147. "lower-bound":0,
  148. "upper-bound":2
  149. }
  150. },
  151. {
  152. "name":"l",
  153. "type":{
  154. "kind":"bounded",
  155. "base":"int",
  156. "lower-bound":0,
  157. "upper-bound":2
  158. }
  159. }
  160. ],
  161. "observables":[
  162. {
  163. "name":""
  164. }
  165. ],
  166. "initial-states":{
  167. "exp":{
  168. "op":"∧",
  169. "left":{
  170. "op":"∧",
  171. "left":{
  172. "op":"∧",
  173. "left":{
  174. "op":"∧",
  175. "left":{
  176. "op":"∧",
  177. "left":{
  178. "op":"∧",
  179. "left":{
  180. "op":"∧",
  181. "left":{
  182. "op":"∧",
  183. "left":{
  184. "op":"∧",
  185. "left":{
  186. "op":"∧",
  187. "left":{
  188. "op":"∧",
  189. "left":{
  190. "op":"∧",
  191. "left":{
  192. "op":"∧",
  193. "left":{
  194. "op":"∧",
  195. "left":{
  196. "op":"∧",
  197. "left":{
  198. "op":"∧",
  199. "left":{
  200. "op":"∧",
  201. "left":{
  202. "op":"=",
  203. "left":"s",
  204. "right":0
  205. },
  206. "right":{
  207. "op":"=",
  208. "left":"srep",
  209. "right":0
  210. }
  211. },
  212. "right":{
  213. "op":"=",
  214. "left":"nrtr",
  215. "right":0
  216. }
  217. },
  218. "right":{
  219. "op":"=",
  220. "left":"i",
  221. "right":0
  222. }
  223. },
  224. "right":{
  225. "op":"=",
  226. "left":"bs",
  227. "right":false
  228. }
  229. },
  230. "right":{
  231. "op":"=",
  232. "left":"s_ab",
  233. "right":false
  234. }
  235. },
  236. "right":{
  237. "op":"=",
  238. "left":"fs",
  239. "right":false
  240. }
  241. },
  242. "right":{
  243. "op":"=",
  244. "left":"ls",
  245. "right":false
  246. }
  247. },
  248. "right":{
  249. "op":"=",
  250. "left":"r",
  251. "right":0
  252. }
  253. },
  254. "right":{
  255. "op":"=",
  256. "left":"rrep",
  257. "right":0
  258. }
  259. },
  260. "right":{
  261. "op":"=",
  262. "left":"fr",
  263. "right":false
  264. }
  265. },
  266. "right":{
  267. "op":"=",
  268. "left":"lr",
  269. "right":false
  270. }
  271. },
  272. "right":{
  273. "op":"=",
  274. "left":"br",
  275. "right":false
  276. }
  277. },
  278. "right":{
  279. "op":"=",
  280. "left":"r_ab",
  281. "right":false
  282. }
  283. },
  284. "right":{
  285. "op":"=",
  286. "left":"recv",
  287. "right":false
  288. }
  289. },
  290. "right":{
  291. "op":"=",
  292. "left":"T",
  293. "right":false
  294. }
  295. },
  296. "right":{
  297. "op":"=",
  298. "left":"k",
  299. "right":0
  300. }
  301. },
  302. "right":{
  303. "op":"=",
  304. "left":"l",
  305. "right":0
  306. }
  307. }
  308. },
  309. "automata":[
  310. {
  311. "name":"sender",
  312. "locations":[
  313. {
  314. "name":"location"
  315. }
  316. ],
  317. "initial-locations":[
  318. "location"
  319. ],
  320. "edges":[
  321. {
  322. "location":"location",
  323. "action":"NewFile",
  324. "guard":{
  325. "exp":{
  326. "op":"=",
  327. "left":"s",
  328. "right":0
  329. }
  330. },
  331. "destinations":[
  332. {
  333. "probability":{
  334. "exp":1
  335. },
  336. "location":"location",
  337. "assignments":[
  338. {
  339. "ref":"s",
  340. "value":1
  341. },
  342. {
  343. "ref":"i",
  344. "value":1
  345. },
  346. {
  347. "ref":"srep",
  348. "value":0
  349. }
  350. ],
  351. "observables":[
  352. ]
  353. }
  354. ]
  355. },
  356. {
  357. "location":"location",
  358. "action":"aF",
  359. "guard":{
  360. "exp":{
  361. "op":"=",
  362. "left":"s",
  363. "right":1
  364. }
  365. },
  366. "destinations":[
  367. {
  368. "probability":{
  369. "exp":1
  370. },
  371. "location":"location",
  372. "assignments":[
  373. {
  374. "ref":"s",
  375. "value":2
  376. },
  377. {
  378. "ref":"fs",
  379. "value":{
  380. "op":"=",
  381. "left":"i",
  382. "right":1
  383. }
  384. },
  385. {
  386. "ref":"ls",
  387. "value":{
  388. "op":"=",
  389. "left":"i",
  390. "right":"N"
  391. }
  392. },
  393. {
  394. "ref":"bs",
  395. "value":"s_ab"
  396. },
  397. {
  398. "ref":"nrtr",
  399. "value":0
  400. }
  401. ],
  402. "observables":[
  403. {
  404. "ref":"",
  405. "value":{
  406. "op":"?:",
  407. "args":[
  408. {
  409. "op":"=",
  410. "left":"i",
  411. "right":1
  412. },
  413. 1,
  414. 0
  415. ]
  416. }
  417. }
  418. ]
  419. }
  420. ]
  421. },
  422. {
  423. "location":"location",
  424. "action":"aB",
  425. "guard":{
  426. "exp":{
  427. "op":"=",
  428. "left":"s",
  429. "right":2
  430. }
  431. },
  432. "destinations":[
  433. {
  434. "probability":{
  435. "exp":1
  436. },
  437. "location":"location",
  438. "assignments":[
  439. {
  440. "ref":"s",
  441. "value":4
  442. },
  443. {
  444. "ref":"s_ab",
  445. "value":{
  446. "op":"¬",
  447. "exp":"s_ab"
  448. }
  449. }
  450. ],
  451. "observables":[
  452. ]
  453. }
  454. ]
  455. },
  456. {
  457. "location":"location",
  458. "action":"TO_Msg",
  459. "guard":{
  460. "exp":{
  461. "op":"=",
  462. "left":"s",
  463. "right":2
  464. }
  465. },
  466. "destinations":[
  467. {
  468. "probability":{
  469. "exp":1
  470. },
  471. "location":"location",
  472. "assignments":[
  473. {
  474. "ref":"s",
  475. "value":3
  476. }
  477. ],
  478. "observables":[
  479. ]
  480. }
  481. ]
  482. },
  483. {
  484. "location":"location",
  485. "action":"TO_Ack",
  486. "guard":{
  487. "exp":{
  488. "op":"=",
  489. "left":"s",
  490. "right":2
  491. }
  492. },
  493. "destinations":[
  494. {
  495. "probability":{
  496. "exp":1
  497. },
  498. "location":"location",
  499. "assignments":[
  500. {
  501. "ref":"s",
  502. "value":3
  503. }
  504. ],
  505. "observables":[
  506. ]
  507. }
  508. ]
  509. },
  510. {
  511. "location":"location",
  512. "action":"aF",
  513. "guard":{
  514. "exp":{
  515. "op":"∧",
  516. "left":{
  517. "op":"=",
  518. "left":"s",
  519. "right":3
  520. },
  521. "right":{
  522. "op":"<",
  523. "left":"nrtr",
  524. "right":"MAX"
  525. }
  526. }
  527. },
  528. "destinations":[
  529. {
  530. "probability":{
  531. "exp":1
  532. },
  533. "location":"location",
  534. "assignments":[
  535. {
  536. "ref":"s",
  537. "value":2
  538. },
  539. {
  540. "ref":"fs",
  541. "value":{
  542. "op":"=",
  543. "left":"i",
  544. "right":1
  545. }
  546. },
  547. {
  548. "ref":"ls",
  549. "value":{
  550. "op":"=",
  551. "left":"i",
  552. "right":"N"
  553. }
  554. },
  555. {
  556. "ref":"bs",
  557. "value":"s_ab"
  558. },
  559. {
  560. "ref":"nrtr",
  561. "value":{
  562. "op":"+",
  563. "left":"nrtr",
  564. "right":1
  565. }
  566. }
  567. ],
  568. "observables":[
  569. {
  570. "ref":"",
  571. "value":{
  572. "op":"?:",
  573. "args":[
  574. {
  575. "op":"=",
  576. "left":"i",
  577. "right":1
  578. },
  579. 1,
  580. 0
  581. ]
  582. }
  583. }
  584. ]
  585. }
  586. ]
  587. },
  588. {
  589. "location":"location",
  590. "action":"tau__",
  591. "guard":{
  592. "exp":{
  593. "op":"∧",
  594. "left":{
  595. "op":"∧",
  596. "left":{
  597. "op":"=",
  598. "left":"s",
  599. "right":3
  600. },
  601. "right":{
  602. "op":"=",
  603. "left":"nrtr",
  604. "right":"MAX"
  605. }
  606. },
  607. "right":{
  608. "op":"<",
  609. "left":"i",
  610. "right":"N"
  611. }
  612. }
  613. },
  614. "destinations":[
  615. {
  616. "probability":{
  617. "exp":1
  618. },
  619. "location":"location",
  620. "assignments":[
  621. {
  622. "ref":"s",
  623. "value":5
  624. },
  625. {
  626. "ref":"srep",
  627. "value":1
  628. }
  629. ],
  630. "observables":[
  631. ]
  632. }
  633. ]
  634. },
  635. {
  636. "location":"location",
  637. "action":"tau__",
  638. "guard":{
  639. "exp":{
  640. "op":"∧",
  641. "left":{
  642. "op":"∧",
  643. "left":{
  644. "op":"=",
  645. "left":"s",
  646. "right":3
  647. },
  648. "right":{
  649. "op":"=",
  650. "left":"nrtr",
  651. "right":"MAX"
  652. }
  653. },
  654. "right":{
  655. "op":"=",
  656. "left":"i",
  657. "right":"N"
  658. }
  659. }
  660. },
  661. "destinations":[
  662. {
  663. "probability":{
  664. "exp":1
  665. },
  666. "location":"location",
  667. "assignments":[
  668. {
  669. "ref":"s",
  670. "value":5
  671. },
  672. {
  673. "ref":"srep",
  674. "value":2
  675. }
  676. ],
  677. "observables":[
  678. ]
  679. }
  680. ]
  681. },
  682. {
  683. "location":"location",
  684. "action":"tau__",
  685. "guard":{
  686. "exp":{
  687. "op":"∧",
  688. "left":{
  689. "op":"=",
  690. "left":"s",
  691. "right":4
  692. },
  693. "right":{
  694. "op":"<",
  695. "left":"i",
  696. "right":"N"
  697. }
  698. }
  699. },
  700. "destinations":[
  701. {
  702. "probability":{
  703. "exp":1
  704. },
  705. "location":"location",
  706. "assignments":[
  707. {
  708. "ref":"s",
  709. "value":1
  710. },
  711. {
  712. "ref":"i",
  713. "value":{
  714. "op":"+",
  715. "left":"i",
  716. "right":1
  717. }
  718. }
  719. ],
  720. "observables":[
  721. ]
  722. }
  723. ]
  724. },
  725. {
  726. "location":"location",
  727. "action":"tau__",
  728. "guard":{
  729. "exp":{
  730. "op":"∧",
  731. "left":{
  732. "op":"=",
  733. "left":"s",
  734. "right":4
  735. },
  736. "right":{
  737. "op":"=",
  738. "left":"i",
  739. "right":"N"
  740. }
  741. }
  742. },
  743. "destinations":[
  744. {
  745. "probability":{
  746. "exp":1
  747. },
  748. "location":"location",
  749. "assignments":[
  750. {
  751. "ref":"s",
  752. "value":0
  753. },
  754. {
  755. "ref":"srep",
  756. "value":3
  757. }
  758. ],
  759. "observables":[
  760. ]
  761. }
  762. ]
  763. },
  764. {
  765. "location":"location",
  766. "action":"SyncWait",
  767. "guard":{
  768. "exp":{
  769. "op":"=",
  770. "left":"s",
  771. "right":5
  772. }
  773. },
  774. "destinations":[
  775. {
  776. "probability":{
  777. "exp":1
  778. },
  779. "location":"location",
  780. "assignments":[
  781. {
  782. "ref":"s",
  783. "value":6
  784. }
  785. ],
  786. "observables":[
  787. ]
  788. }
  789. ]
  790. },
  791. {
  792. "location":"location",
  793. "action":"SyncWait",
  794. "guard":{
  795. "exp":{
  796. "op":"=",
  797. "left":"s",
  798. "right":6
  799. }
  800. },
  801. "destinations":[
  802. {
  803. "probability":{
  804. "exp":1
  805. },
  806. "location":"location",
  807. "assignments":[
  808. {
  809. "ref":"s",
  810. "value":0
  811. },
  812. {
  813. "ref":"s_ab",
  814. "value":false
  815. }
  816. ],
  817. "observables":[
  818. ]
  819. }
  820. ]
  821. }
  822. ]
  823. },
  824. {
  825. "name":"receiver",
  826. "locations":[
  827. {
  828. "name":"location"
  829. }
  830. ],
  831. "initial-locations":[
  832. "location"
  833. ],
  834. "edges":[
  835. {
  836. "location":"location",
  837. "action":"SyncWait",
  838. "guard":{
  839. "exp":{
  840. "op":"=",
  841. "left":"r",
  842. "right":0
  843. }
  844. },
  845. "destinations":[
  846. {
  847. "probability":{
  848. "exp":1
  849. },
  850. "location":"location",
  851. "assignments":[
  852. {
  853. "ref":"r",
  854. "value":0
  855. }
  856. ]
  857. }
  858. ]
  859. },
  860. {
  861. "location":"location",
  862. "action":"aG",
  863. "guard":{
  864. "exp":{
  865. "op":"=",
  866. "left":"r",
  867. "right":0
  868. }
  869. },
  870. "destinations":[
  871. {
  872. "probability":{
  873. "exp":1
  874. },
  875. "location":"location",
  876. "assignments":[
  877. {
  878. "ref":"r",
  879. "value":1
  880. },
  881. {
  882. "ref":"fr",
  883. "value":"fs"
  884. },
  885. {
  886. "ref":"lr",
  887. "value":"ls"
  888. },
  889. {
  890. "ref":"br",
  891. "value":"bs"
  892. },
  893. {
  894. "ref":"recv",
  895. "value":"T"
  896. }
  897. ],
  898. "observables":[
  899. ]
  900. }
  901. ]
  902. },
  903. {
  904. "location":"location",
  905. "action":"tau__",
  906. "guard":{
  907. "exp":{
  908. "op":"=",
  909. "left":"r",
  910. "right":1
  911. }
  912. },
  913. "destinations":[
  914. {
  915. "probability":{
  916. "exp":1
  917. },
  918. "location":"location",
  919. "assignments":[
  920. {
  921. "ref":"r",
  922. "value":2
  923. },
  924. {
  925. "ref":"r_ab",
  926. "value":"br"
  927. }
  928. ],
  929. "observables":[
  930. ]
  931. }
  932. ]
  933. },
  934. {
  935. "location":"location",
  936. "action":"tau__",
  937. "guard":{
  938. "exp":{
  939. "op":"∧",
  940. "left":{
  941. "op":"∧",
  942. "left":{
  943. "op":"∧",
  944. "left":{
  945. "op":"=",
  946. "left":"r",
  947. "right":2
  948. },
  949. "right":{
  950. "op":"=",
  951. "left":"r_ab",
  952. "right":"br"
  953. }
  954. },
  955. "right":{
  956. "op":"=",
  957. "left":"fr",
  958. "right":true
  959. }
  960. },
  961. "right":{
  962. "op":"=",
  963. "left":"lr",
  964. "right":false
  965. }
  966. }
  967. },
  968. "destinations":[
  969. {
  970. "probability":{
  971. "exp":1
  972. },
  973. "location":"location",
  974. "assignments":[
  975. {
  976. "ref":"r",
  977. "value":3
  978. },
  979. {
  980. "ref":"rrep",
  981. "value":1
  982. }
  983. ],
  984. "observables":[
  985. ]
  986. }
  987. ]
  988. },
  989. {
  990. "location":"location",
  991. "action":"tau__",
  992. "guard":{
  993. "exp":{
  994. "op":"∧",
  995. "left":{
  996. "op":"∧",
  997. "left":{
  998. "op":"∧",
  999. "left":{
  1000. "op":"=",
  1001. "left":"r",
  1002. "right":2
  1003. },
  1004. "right":{
  1005. "op":"=",
  1006. "left":"r_ab",
  1007. "right":"br"
  1008. }
  1009. },
  1010. "right":{
  1011. "op":"=",
  1012. "left":"fr",
  1013. "right":false
  1014. }
  1015. },
  1016. "right":{
  1017. "op":"=",
  1018. "left":"lr",
  1019. "right":false
  1020. }
  1021. }
  1022. },
  1023. "destinations":[
  1024. {
  1025. "probability":{
  1026. "exp":1
  1027. },
  1028. "location":"location",
  1029. "assignments":[
  1030. {
  1031. "ref":"r",
  1032. "value":3
  1033. },
  1034. {
  1035. "ref":"rrep",
  1036. "value":2
  1037. }
  1038. ],
  1039. "observables":[
  1040. ]
  1041. }
  1042. ]
  1043. },
  1044. {
  1045. "location":"location",
  1046. "action":"tau__",
  1047. "guard":{
  1048. "exp":{
  1049. "op":"∧",
  1050. "left":{
  1051. "op":"∧",
  1052. "left":{
  1053. "op":"∧",
  1054. "left":{
  1055. "op":"=",
  1056. "left":"r",
  1057. "right":2
  1058. },
  1059. "right":{
  1060. "op":"=",
  1061. "left":"r_ab",
  1062. "right":"br"
  1063. }
  1064. },
  1065. "right":{
  1066. "op":"=",
  1067. "left":"fr",
  1068. "right":false
  1069. }
  1070. },
  1071. "right":{
  1072. "op":"=",
  1073. "left":"lr",
  1074. "right":true
  1075. }
  1076. }
  1077. },
  1078. "destinations":[
  1079. {
  1080. "probability":{
  1081. "exp":1
  1082. },
  1083. "location":"location",
  1084. "assignments":[
  1085. {
  1086. "ref":"r",
  1087. "value":3
  1088. },
  1089. {
  1090. "ref":"rrep",
  1091. "value":3
  1092. }
  1093. ],
  1094. "observables":[
  1095. ]
  1096. }
  1097. ]
  1098. },
  1099. {
  1100. "location":"location",
  1101. "action":"aA",
  1102. "guard":{
  1103. "exp":{
  1104. "op":"∧",
  1105. "left":{
  1106. "op":"=",
  1107. "left":"r",
  1108. "right":2
  1109. },
  1110. "right":{
  1111. "op":"¬",
  1112. "exp":{
  1113. "op":"=",
  1114. "left":"r_ab",
  1115. "right":"br"
  1116. }
  1117. }
  1118. }
  1119. },
  1120. "destinations":[
  1121. {
  1122. "probability":{
  1123. "exp":1
  1124. },
  1125. "location":"location",
  1126. "assignments":[
  1127. {
  1128. "ref":"r",
  1129. "value":4
  1130. }
  1131. ],
  1132. "observables":[
  1133. ]
  1134. }
  1135. ]
  1136. },
  1137. {
  1138. "location":"location",
  1139. "action":"aA",
  1140. "guard":{
  1141. "exp":{
  1142. "op":"=",
  1143. "left":"r",
  1144. "right":3
  1145. }
  1146. },
  1147. "destinations":[
  1148. {
  1149. "probability":{
  1150. "exp":1
  1151. },
  1152. "location":"location",
  1153. "assignments":[
  1154. {
  1155. "ref":"r",
  1156. "value":4
  1157. },
  1158. {
  1159. "ref":"r_ab",
  1160. "value":{
  1161. "op":"¬",
  1162. "exp":"r_ab"
  1163. }
  1164. }
  1165. ],
  1166. "observables":[
  1167. ]
  1168. }
  1169. ]
  1170. },
  1171. {
  1172. "location":"location",
  1173. "action":"aG",
  1174. "guard":{
  1175. "exp":{
  1176. "op":"=",
  1177. "left":"r",
  1178. "right":4
  1179. }
  1180. },
  1181. "destinations":[
  1182. {
  1183. "probability":{
  1184. "exp":1
  1185. },
  1186. "location":"location",
  1187. "assignments":[
  1188. {
  1189. "ref":"r",
  1190. "value":2
  1191. },
  1192. {
  1193. "ref":"fr",
  1194. "value":"fs"
  1195. },
  1196. {
  1197. "ref":"lr",
  1198. "value":"ls"
  1199. },
  1200. {
  1201. "ref":"br",
  1202. "value":"bs"
  1203. },
  1204. {
  1205. "ref":"recv",
  1206. "value":"T"
  1207. }
  1208. ],
  1209. "observables":[
  1210. ]
  1211. }
  1212. ]
  1213. },
  1214. {
  1215. "location":"location",
  1216. "action":"SyncWait",
  1217. "guard":{
  1218. "exp":{
  1219. "op":"∧",
  1220. "left":{
  1221. "op":"=",
  1222. "left":"r",
  1223. "right":4
  1224. },
  1225. "right":{
  1226. "op":"=",
  1227. "left":"ls",
  1228. "right":true
  1229. }
  1230. }
  1231. },
  1232. "destinations":[
  1233. {
  1234. "probability":{
  1235. "exp":1
  1236. },
  1237. "location":"location",
  1238. "assignments":[
  1239. {
  1240. "ref":"r",
  1241. "value":5
  1242. }
  1243. ]
  1244. }
  1245. ]
  1246. },
  1247. {
  1248. "location":"location",
  1249. "action":"SyncWait",
  1250. "guard":{
  1251. "exp":{
  1252. "op":"∧",
  1253. "left":{
  1254. "op":"=",
  1255. "left":"r",
  1256. "right":4
  1257. },
  1258. "right":{
  1259. "op":"=",
  1260. "left":"ls",
  1261. "right":false
  1262. }
  1263. }
  1264. },
  1265. "destinations":[
  1266. {
  1267. "probability":{
  1268. "exp":1
  1269. },
  1270. "location":"location",
  1271. "assignments":[
  1272. {
  1273. "ref":"r",
  1274. "value":5
  1275. },
  1276. {
  1277. "ref":"rrep",
  1278. "value":4
  1279. }
  1280. ]
  1281. }
  1282. ]
  1283. },
  1284. {
  1285. "location":"location",
  1286. "action":"SyncWait",
  1287. "guard":{
  1288. "exp":{
  1289. "op":"=",
  1290. "left":"r",
  1291. "right":5
  1292. }
  1293. },
  1294. "destinations":[
  1295. {
  1296. "probability":{
  1297. "exp":1
  1298. },
  1299. "location":"location",
  1300. "assignments":[
  1301. {
  1302. "ref":"r",
  1303. "value":0
  1304. },
  1305. {
  1306. "ref":"rrep",
  1307. "value":0
  1308. }
  1309. ]
  1310. }
  1311. ]
  1312. }
  1313. ]
  1314. },
  1315. {
  1316. "name":"checker",
  1317. "locations":[
  1318. {
  1319. "name":"location"
  1320. }
  1321. ],
  1322. "initial-locations":[
  1323. "location"
  1324. ],
  1325. "edges":[
  1326. {
  1327. "location":"location",
  1328. "action":"NewFile",
  1329. "guard":{
  1330. "exp":{
  1331. "op":"=",
  1332. "left":"T",
  1333. "right":false
  1334. }
  1335. },
  1336. "destinations":[
  1337. {
  1338. "probability":{
  1339. "exp":1
  1340. },
  1341. "location":"location",
  1342. "assignments":[
  1343. {
  1344. "ref":"T",
  1345. "value":true
  1346. }
  1347. ]
  1348. }
  1349. ]
  1350. }
  1351. ]
  1352. },
  1353. {
  1354. "name":"channelK",
  1355. "locations":[
  1356. {
  1357. "name":"location"
  1358. }
  1359. ],
  1360. "initial-locations":[
  1361. "location"
  1362. ],
  1363. "edges":[
  1364. {
  1365. "location":"location",
  1366. "action":"aF",
  1367. "guard":{
  1368. "exp":{
  1369. "op":"=",
  1370. "left":"k",
  1371. "right":0
  1372. }
  1373. },
  1374. "destinations":[
  1375. {
  1376. "probability":{
  1377. "exp":0.9800000
  1378. },
  1379. "location":"location",
  1380. "assignments":[
  1381. {
  1382. "ref":"k",
  1383. "value":1
  1384. }
  1385. ]
  1386. },
  1387. {
  1388. "probability":{
  1389. "exp":0.0200000
  1390. },
  1391. "location":"location",
  1392. "assignments":[
  1393. {
  1394. "ref":"k",
  1395. "value":2
  1396. }
  1397. ]
  1398. }
  1399. ]
  1400. },
  1401. {
  1402. "location":"location",
  1403. "action":"aG",
  1404. "guard":{
  1405. "exp":{
  1406. "op":"=",
  1407. "left":"k",
  1408. "right":1
  1409. }
  1410. },
  1411. "destinations":[
  1412. {
  1413. "probability":{
  1414. "exp":1
  1415. },
  1416. "location":"location",
  1417. "assignments":[
  1418. {
  1419. "ref":"k",
  1420. "value":0
  1421. }
  1422. ]
  1423. }
  1424. ]
  1425. },
  1426. {
  1427. "location":"location",
  1428. "action":"TO_Msg",
  1429. "guard":{
  1430. "exp":{
  1431. "op":"=",
  1432. "left":"k",
  1433. "right":2
  1434. }
  1435. },
  1436. "destinations":[
  1437. {
  1438. "probability":{
  1439. "exp":1
  1440. },
  1441. "location":"location",
  1442. "assignments":[
  1443. {
  1444. "ref":"k",
  1445. "value":0
  1446. }
  1447. ]
  1448. }
  1449. ]
  1450. }
  1451. ]
  1452. },
  1453. {
  1454. "name":"channelL",
  1455. "locations":[
  1456. {
  1457. "name":"location"
  1458. }
  1459. ],
  1460. "initial-locations":[
  1461. "location"
  1462. ],
  1463. "edges":[
  1464. {
  1465. "location":"location",
  1466. "action":"aA",
  1467. "guard":{
  1468. "exp":{
  1469. "op":"=",
  1470. "left":"l",
  1471. "right":0
  1472. }
  1473. },
  1474. "destinations":[
  1475. {
  1476. "probability":{
  1477. "exp":0.9900000
  1478. },
  1479. "location":"location",
  1480. "assignments":[
  1481. {
  1482. "ref":"l",
  1483. "value":1
  1484. }
  1485. ]
  1486. },
  1487. {
  1488. "probability":{
  1489. "exp":0.0100000
  1490. },
  1491. "location":"location",
  1492. "assignments":[
  1493. {
  1494. "ref":"l",
  1495. "value":2
  1496. }
  1497. ]
  1498. }
  1499. ]
  1500. },
  1501. {
  1502. "location":"location",
  1503. "action":"aB",
  1504. "guard":{
  1505. "exp":{
  1506. "op":"=",
  1507. "left":"l",
  1508. "right":1
  1509. }
  1510. },
  1511. "destinations":[
  1512. {
  1513. "probability":{
  1514. "exp":1
  1515. },
  1516. "location":"location",
  1517. "assignments":[
  1518. {
  1519. "ref":"l",
  1520. "value":0
  1521. }
  1522. ]
  1523. }
  1524. ]
  1525. },
  1526. {
  1527. "location":"location",
  1528. "action":"TO_Ack",
  1529. "guard":{
  1530. "exp":{
  1531. "op":"=",
  1532. "left":"l",
  1533. "right":2
  1534. }
  1535. },
  1536. "destinations":[
  1537. {
  1538. "probability":{
  1539. "exp":1
  1540. },
  1541. "location":"location",
  1542. "assignments":[
  1543. {
  1544. "ref":"l",
  1545. "value":0
  1546. }
  1547. ]
  1548. }
  1549. ]
  1550. }
  1551. ]
  1552. }
  1553. ],
  1554. "system":{
  1555. "elements":[
  1556. {
  1557. "automaton":"sender"
  1558. },
  1559. {
  1560. "automaton":"receiver"
  1561. },
  1562. {
  1563. "automaton":"checker"
  1564. },
  1565. {
  1566. "automaton":"channelK"
  1567. },
  1568. {
  1569. "automaton":"channelL"
  1570. }
  1571. ],
  1572. "syncs":[
  1573. {
  1574. "synchronise":[
  1575. "aB",
  1576. null,
  1577. null,
  1578. null,
  1579. "aB"
  1580. ],
  1581. "result":"aB"
  1582. },
  1583. {
  1584. "synchronise":[
  1585. "TO_Ack",
  1586. null,
  1587. null,
  1588. null,
  1589. "TO_Ack"
  1590. ],
  1591. "result":"TO_Ack"
  1592. },
  1593. {
  1594. "synchronise":[
  1595. null,
  1596. "aA",
  1597. null,
  1598. null,
  1599. "aA"
  1600. ],
  1601. "result":"aA"
  1602. },
  1603. {
  1604. "synchronise":[
  1605. "aF",
  1606. null,
  1607. null,
  1608. "aF",
  1609. null
  1610. ],
  1611. "result":"aF"
  1612. },
  1613. {
  1614. "synchronise":[
  1615. "TO_Msg",
  1616. null,
  1617. null,
  1618. "TO_Msg",
  1619. null
  1620. ],
  1621. "result":"TO_Msg"
  1622. },
  1623. {
  1624. "synchronise":[
  1625. null,
  1626. "aG",
  1627. null,
  1628. "aG",
  1629. null
  1630. ],
  1631. "result":"aG"
  1632. },
  1633. {
  1634. "synchronise":[
  1635. "NewFile",
  1636. null,
  1637. "NewFile",
  1638. null,
  1639. null
  1640. ],
  1641. "result":"NewFile"
  1642. },
  1643. {
  1644. "synchronise":[
  1645. "SyncWait",
  1646. "SyncWait",
  1647. null,
  1648. null,
  1649. null
  1650. ],
  1651. "result":"SyncWait"
  1652. },
  1653. {
  1654. "synchronise":[
  1655. "tau__",
  1656. null,
  1657. null,
  1658. null,
  1659. null
  1660. ],
  1661. "result":"tau__"
  1662. },
  1663. {
  1664. "synchronise":[
  1665. null,
  1666. "tau__",
  1667. null,
  1668. null,
  1669. null
  1670. ],
  1671. "result":"tau__"
  1672. }
  1673. ]
  1674. }
  1675. }