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.

1208 lines
43 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. "name":"done"
  14. }
  15. ],
  16. "variables":[
  17. {
  18. "name":"pay",
  19. "type":{
  20. "kind":"bounded",
  21. "base":"int",
  22. "lower-bound":0,
  23. "upper-bound":3
  24. }
  25. },
  26. {
  27. "name":"coin1",
  28. "type":{
  29. "kind":"bounded",
  30. "base":"int",
  31. "lower-bound":0,
  32. "upper-bound":2
  33. }
  34. },
  35. {
  36. "name":"s1",
  37. "type":{
  38. "kind":"bounded",
  39. "base":"int",
  40. "lower-bound":0,
  41. "upper-bound":1
  42. }
  43. },
  44. {
  45. "name":"agree1",
  46. "type":{
  47. "kind":"bounded",
  48. "base":"int",
  49. "lower-bound":0,
  50. "upper-bound":1
  51. }
  52. },
  53. {
  54. "name":"coin2",
  55. "type":{
  56. "kind":"bounded",
  57. "base":"int",
  58. "lower-bound":0,
  59. "upper-bound":2
  60. }
  61. },
  62. {
  63. "name":"s2",
  64. "type":{
  65. "kind":"bounded",
  66. "base":"int",
  67. "lower-bound":0,
  68. "upper-bound":1
  69. }
  70. },
  71. {
  72. "name":"agree2",
  73. "type":{
  74. "kind":"bounded",
  75. "base":"int",
  76. "lower-bound":0,
  77. "upper-bound":1
  78. }
  79. },
  80. {
  81. "name":"coin3",
  82. "type":{
  83. "kind":"bounded",
  84. "base":"int",
  85. "lower-bound":0,
  86. "upper-bound":2
  87. }
  88. },
  89. {
  90. "name":"s3",
  91. "type":{
  92. "kind":"bounded",
  93. "base":"int",
  94. "lower-bound":0,
  95. "upper-bound":1
  96. }
  97. },
  98. {
  99. "name":"agree3",
  100. "type":{
  101. "kind":"bounded",
  102. "base":"int",
  103. "lower-bound":0,
  104. "upper-bound":1
  105. }
  106. }
  107. ],
  108. "observables":[
  109. ],
  110. "initial-states":{
  111. "exp":{
  112. "op":"∧",
  113. "left":{
  114. "op":"∧",
  115. "left":{
  116. "op":"∧",
  117. "left":{
  118. "op":"∧",
  119. "left":{
  120. "op":"∧",
  121. "left":{
  122. "op":"∧",
  123. "left":{
  124. "op":"∧",
  125. "left":{
  126. "op":"∧",
  127. "left":{
  128. "op":"=",
  129. "left":"coin1",
  130. "right":0
  131. },
  132. "right":{
  133. "op":"=",
  134. "left":"s1",
  135. "right":0
  136. }
  137. },
  138. "right":{
  139. "op":"=",
  140. "left":"agree1",
  141. "right":0
  142. }
  143. },
  144. "right":{
  145. "op":"=",
  146. "left":"coin2",
  147. "right":0
  148. }
  149. },
  150. "right":{
  151. "op":"=",
  152. "left":"s2",
  153. "right":0
  154. }
  155. },
  156. "right":{
  157. "op":"=",
  158. "left":"agree2",
  159. "right":0
  160. }
  161. },
  162. "right":{
  163. "op":"=",
  164. "left":"coin3",
  165. "right":0
  166. }
  167. },
  168. "right":{
  169. "op":"=",
  170. "left":"s3",
  171. "right":0
  172. }
  173. },
  174. "right":{
  175. "op":"=",
  176. "left":"agree3",
  177. "right":0
  178. }
  179. }
  180. },
  181. "automata":[
  182. {
  183. "name":"crypt1",
  184. "locations":[
  185. {
  186. "name":"location"
  187. }
  188. ],
  189. "initial-locations":[
  190. "location"
  191. ],
  192. "edges":[
  193. {
  194. "location":"location",
  195. "action":"tau__",
  196. "guard":{
  197. "exp":{
  198. "op":"=",
  199. "left":"coin1",
  200. "right":0
  201. }
  202. },
  203. "destinations":[
  204. {
  205. "probability":{
  206. "exp":0.5000000
  207. },
  208. "location":"location",
  209. "assignments":[
  210. {
  211. "ref":"coin1",
  212. "value":1
  213. }
  214. ],
  215. "observables":[
  216. ]
  217. },
  218. {
  219. "probability":{
  220. "exp":0.5000000
  221. },
  222. "location":"location",
  223. "assignments":[
  224. {
  225. "ref":"coin1",
  226. "value":2
  227. }
  228. ],
  229. "observables":[
  230. ]
  231. }
  232. ]
  233. },
  234. {
  235. "location":"location",
  236. "action":"tau__",
  237. "guard":{
  238. "exp":{
  239. "op":"∧",
  240. "left":{
  241. "op":"∧",
  242. "left":{
  243. "op":"∧",
  244. "left":{
  245. "op":"∧",
  246. "left":{
  247. "op":"=",
  248. "left":"s1",
  249. "right":0
  250. },
  251. "right":{
  252. "op":">",
  253. "left":"coin1",
  254. "right":0
  255. }
  256. },
  257. "right":{
  258. "op":">",
  259. "left":"coin2",
  260. "right":0
  261. }
  262. },
  263. "right":{
  264. "op":"=",
  265. "left":"coin1",
  266. "right":"coin2"
  267. }
  268. },
  269. "right":{
  270. "op":"≠",
  271. "left":"pay",
  272. "right":1
  273. }
  274. }
  275. },
  276. "destinations":[
  277. {
  278. "probability":{
  279. "exp":1
  280. },
  281. "location":"location",
  282. "assignments":[
  283. {
  284. "ref":"s1",
  285. "value":1
  286. },
  287. {
  288. "ref":"agree1",
  289. "value":1
  290. }
  291. ],
  292. "observables":[
  293. ]
  294. }
  295. ]
  296. },
  297. {
  298. "location":"location",
  299. "action":"tau__",
  300. "guard":{
  301. "exp":{
  302. "op":"∧",
  303. "left":{
  304. "op":"∧",
  305. "left":{
  306. "op":"∧",
  307. "left":{
  308. "op":"∧",
  309. "left":{
  310. "op":"=",
  311. "left":"s1",
  312. "right":0
  313. },
  314. "right":{
  315. "op":">",
  316. "left":"coin1",
  317. "right":0
  318. }
  319. },
  320. "right":{
  321. "op":">",
  322. "left":"coin2",
  323. "right":0
  324. }
  325. },
  326. "right":{
  327. "op":"¬",
  328. "exp":{
  329. "op":"=",
  330. "left":"coin1",
  331. "right":"coin2"
  332. }
  333. }
  334. },
  335. "right":{
  336. "op":"≠",
  337. "left":"pay",
  338. "right":1
  339. }
  340. }
  341. },
  342. "destinations":[
  343. {
  344. "probability":{
  345. "exp":1
  346. },
  347. "location":"location",
  348. "assignments":[
  349. {
  350. "ref":"s1",
  351. "value":1
  352. }
  353. ],
  354. "observables":[
  355. ]
  356. }
  357. ]
  358. },
  359. {
  360. "location":"location",
  361. "action":"tau__",
  362. "guard":{
  363. "exp":{
  364. "op":"∧",
  365. "left":{
  366. "op":"∧",
  367. "left":{
  368. "op":"∧",
  369. "left":{
  370. "op":"∧",
  371. "left":{
  372. "op":"=",
  373. "left":"s1",
  374. "right":0
  375. },
  376. "right":{
  377. "op":">",
  378. "left":"coin1",
  379. "right":0
  380. }
  381. },
  382. "right":{
  383. "op":">",
  384. "left":"coin2",
  385. "right":0
  386. }
  387. },
  388. "right":{
  389. "op":"=",
  390. "left":"coin1",
  391. "right":"coin2"
  392. }
  393. },
  394. "right":{
  395. "op":"=",
  396. "left":"pay",
  397. "right":1
  398. }
  399. }
  400. },
  401. "destinations":[
  402. {
  403. "probability":{
  404. "exp":1
  405. },
  406. "location":"location",
  407. "assignments":[
  408. {
  409. "ref":"s1",
  410. "value":1
  411. }
  412. ],
  413. "observables":[
  414. ]
  415. }
  416. ]
  417. },
  418. {
  419. "location":"location",
  420. "action":"tau__",
  421. "guard":{
  422. "exp":{
  423. "op":"∧",
  424. "left":{
  425. "op":"∧",
  426. "left":{
  427. "op":"∧",
  428. "left":{
  429. "op":"∧",
  430. "left":{
  431. "op":"=",
  432. "left":"s1",
  433. "right":0
  434. },
  435. "right":{
  436. "op":">",
  437. "left":"coin1",
  438. "right":0
  439. }
  440. },
  441. "right":{
  442. "op":">",
  443. "left":"coin2",
  444. "right":0
  445. }
  446. },
  447. "right":{
  448. "op":"¬",
  449. "exp":{
  450. "op":"=",
  451. "left":"coin1",
  452. "right":"coin2"
  453. }
  454. }
  455. },
  456. "right":{
  457. "op":"=",
  458. "left":"pay",
  459. "right":1
  460. }
  461. }
  462. },
  463. "destinations":[
  464. {
  465. "probability":{
  466. "exp":1
  467. },
  468. "location":"location",
  469. "assignments":[
  470. {
  471. "ref":"s1",
  472. "value":1
  473. },
  474. {
  475. "ref":"agree1",
  476. "value":1
  477. }
  478. ],
  479. "observables":[
  480. ]
  481. }
  482. ]
  483. },
  484. {
  485. "location":"location",
  486. "action":"done",
  487. "guard":{
  488. "exp":{
  489. "op":"=",
  490. "left":"s1",
  491. "right":1
  492. }
  493. },
  494. "destinations":[
  495. {
  496. "probability":{
  497. "exp":1
  498. },
  499. "location":"location",
  500. "assignments":[
  501. ],
  502. "observables":[
  503. ]
  504. }
  505. ]
  506. }
  507. ]
  508. },
  509. {
  510. "name":"crypt2",
  511. "locations":[
  512. {
  513. "name":"location"
  514. }
  515. ],
  516. "initial-locations":[
  517. "location"
  518. ],
  519. "edges":[
  520. {
  521. "location":"location",
  522. "action":"tau__",
  523. "guard":{
  524. "exp":{
  525. "op":"=",
  526. "left":"coin2",
  527. "right":0
  528. }
  529. },
  530. "destinations":[
  531. {
  532. "probability":{
  533. "exp":0.5000000
  534. },
  535. "location":"location",
  536. "assignments":[
  537. {
  538. "ref":"coin2",
  539. "value":1
  540. }
  541. ],
  542. "observables":[
  543. ]
  544. },
  545. {
  546. "probability":{
  547. "exp":0.5000000
  548. },
  549. "location":"location",
  550. "assignments":[
  551. {
  552. "ref":"coin2",
  553. "value":2
  554. }
  555. ],
  556. "observables":[
  557. ]
  558. }
  559. ]
  560. },
  561. {
  562. "location":"location",
  563. "action":"tau__",
  564. "guard":{
  565. "exp":{
  566. "op":"∧",
  567. "left":{
  568. "op":"∧",
  569. "left":{
  570. "op":"∧",
  571. "left":{
  572. "op":"∧",
  573. "left":{
  574. "op":"=",
  575. "left":"s2",
  576. "right":0
  577. },
  578. "right":{
  579. "op":">",
  580. "left":"coin2",
  581. "right":0
  582. }
  583. },
  584. "right":{
  585. "op":">",
  586. "left":"coin3",
  587. "right":0
  588. }
  589. },
  590. "right":{
  591. "op":"=",
  592. "left":"coin2",
  593. "right":"coin3"
  594. }
  595. },
  596. "right":{
  597. "op":"≠",
  598. "left":"pay",
  599. "right":2
  600. }
  601. }
  602. },
  603. "destinations":[
  604. {
  605. "probability":{
  606. "exp":1
  607. },
  608. "location":"location",
  609. "assignments":[
  610. {
  611. "ref":"s2",
  612. "value":1
  613. },
  614. {
  615. "ref":"agree2",
  616. "value":1
  617. }
  618. ],
  619. "observables":[
  620. ]
  621. }
  622. ]
  623. },
  624. {
  625. "location":"location",
  626. "action":"tau__",
  627. "guard":{
  628. "exp":{
  629. "op":"∧",
  630. "left":{
  631. "op":"∧",
  632. "left":{
  633. "op":"∧",
  634. "left":{
  635. "op":"∧",
  636. "left":{
  637. "op":"=",
  638. "left":"s2",
  639. "right":0
  640. },
  641. "right":{
  642. "op":">",
  643. "left":"coin2",
  644. "right":0
  645. }
  646. },
  647. "right":{
  648. "op":">",
  649. "left":"coin3",
  650. "right":0
  651. }
  652. },
  653. "right":{
  654. "op":"¬",
  655. "exp":{
  656. "op":"=",
  657. "left":"coin2",
  658. "right":"coin3"
  659. }
  660. }
  661. },
  662. "right":{
  663. "op":"≠",
  664. "left":"pay",
  665. "right":2
  666. }
  667. }
  668. },
  669. "destinations":[
  670. {
  671. "probability":{
  672. "exp":1
  673. },
  674. "location":"location",
  675. "assignments":[
  676. {
  677. "ref":"s2",
  678. "value":1
  679. }
  680. ],
  681. "observables":[
  682. ]
  683. }
  684. ]
  685. },
  686. {
  687. "location":"location",
  688. "action":"tau__",
  689. "guard":{
  690. "exp":{
  691. "op":"∧",
  692. "left":{
  693. "op":"∧",
  694. "left":{
  695. "op":"∧",
  696. "left":{
  697. "op":"∧",
  698. "left":{
  699. "op":"=",
  700. "left":"s2",
  701. "right":0
  702. },
  703. "right":{
  704. "op":">",
  705. "left":"coin2",
  706. "right":0
  707. }
  708. },
  709. "right":{
  710. "op":">",
  711. "left":"coin3",
  712. "right":0
  713. }
  714. },
  715. "right":{
  716. "op":"=",
  717. "left":"coin2",
  718. "right":"coin3"
  719. }
  720. },
  721. "right":{
  722. "op":"=",
  723. "left":"pay",
  724. "right":2
  725. }
  726. }
  727. },
  728. "destinations":[
  729. {
  730. "probability":{
  731. "exp":1
  732. },
  733. "location":"location",
  734. "assignments":[
  735. {
  736. "ref":"s2",
  737. "value":1
  738. }
  739. ],
  740. "observables":[
  741. ]
  742. }
  743. ]
  744. },
  745. {
  746. "location":"location",
  747. "action":"tau__",
  748. "guard":{
  749. "exp":{
  750. "op":"∧",
  751. "left":{
  752. "op":"∧",
  753. "left":{
  754. "op":"∧",
  755. "left":{
  756. "op":"∧",
  757. "left":{
  758. "op":"=",
  759. "left":"s2",
  760. "right":0
  761. },
  762. "right":{
  763. "op":">",
  764. "left":"coin2",
  765. "right":0
  766. }
  767. },
  768. "right":{
  769. "op":">",
  770. "left":"coin3",
  771. "right":0
  772. }
  773. },
  774. "right":{
  775. "op":"¬",
  776. "exp":{
  777. "op":"=",
  778. "left":"coin2",
  779. "right":"coin3"
  780. }
  781. }
  782. },
  783. "right":{
  784. "op":"=",
  785. "left":"pay",
  786. "right":2
  787. }
  788. }
  789. },
  790. "destinations":[
  791. {
  792. "probability":{
  793. "exp":1
  794. },
  795. "location":"location",
  796. "assignments":[
  797. {
  798. "ref":"s2",
  799. "value":1
  800. },
  801. {
  802. "ref":"agree2",
  803. "value":1
  804. }
  805. ],
  806. "observables":[
  807. ]
  808. }
  809. ]
  810. },
  811. {
  812. "location":"location",
  813. "action":"done",
  814. "guard":{
  815. "exp":{
  816. "op":"=",
  817. "left":"s2",
  818. "right":1
  819. }
  820. },
  821. "destinations":[
  822. {
  823. "probability":{
  824. "exp":1
  825. },
  826. "location":"location",
  827. "assignments":[
  828. ]
  829. }
  830. ]
  831. }
  832. ]
  833. },
  834. {
  835. "name":"crypt3",
  836. "locations":[
  837. {
  838. "name":"location"
  839. }
  840. ],
  841. "initial-locations":[
  842. "location"
  843. ],
  844. "edges":[
  845. {
  846. "location":"location",
  847. "action":"tau__",
  848. "guard":{
  849. "exp":{
  850. "op":"=",
  851. "left":"coin3",
  852. "right":0
  853. }
  854. },
  855. "destinations":[
  856. {
  857. "probability":{
  858. "exp":0.5000000
  859. },
  860. "location":"location",
  861. "assignments":[
  862. {
  863. "ref":"coin3",
  864. "value":1
  865. }
  866. ],
  867. "observables":[
  868. ]
  869. },
  870. {
  871. "probability":{
  872. "exp":0.5000000
  873. },
  874. "location":"location",
  875. "assignments":[
  876. {
  877. "ref":"coin3",
  878. "value":2
  879. }
  880. ],
  881. "observables":[
  882. ]
  883. }
  884. ]
  885. },
  886. {
  887. "location":"location",
  888. "action":"tau__",
  889. "guard":{
  890. "exp":{
  891. "op":"∧",
  892. "left":{
  893. "op":"∧",
  894. "left":{
  895. "op":"∧",
  896. "left":{
  897. "op":"∧",
  898. "left":{
  899. "op":"=",
  900. "left":"s3",
  901. "right":0
  902. },
  903. "right":{
  904. "op":">",
  905. "left":"coin3",
  906. "right":0
  907. }
  908. },
  909. "right":{
  910. "op":">",
  911. "left":"coin1",
  912. "right":0
  913. }
  914. },
  915. "right":{
  916. "op":"=",
  917. "left":"coin3",
  918. "right":"coin1"
  919. }
  920. },
  921. "right":{
  922. "op":"≠",
  923. "left":"pay",
  924. "right":3
  925. }
  926. }
  927. },
  928. "destinations":[
  929. {
  930. "probability":{
  931. "exp":1
  932. },
  933. "location":"location",
  934. "assignments":[
  935. {
  936. "ref":"s3",
  937. "value":1
  938. },
  939. {
  940. "ref":"agree3",
  941. "value":1
  942. }
  943. ],
  944. "observables":[
  945. ]
  946. }
  947. ]
  948. },
  949. {
  950. "location":"location",
  951. "action":"tau__",
  952. "guard":{
  953. "exp":{
  954. "op":"∧",
  955. "left":{
  956. "op":"∧",
  957. "left":{
  958. "op":"∧",
  959. "left":{
  960. "op":"∧",
  961. "left":{
  962. "op":"=",
  963. "left":"s3",
  964. "right":0
  965. },
  966. "right":{
  967. "op":">",
  968. "left":"coin3",
  969. "right":0
  970. }
  971. },
  972. "right":{
  973. "op":">",
  974. "left":"coin1",
  975. "right":0
  976. }
  977. },
  978. "right":{
  979. "op":"¬",
  980. "exp":{
  981. "op":"=",
  982. "left":"coin3",
  983. "right":"coin1"
  984. }
  985. }
  986. },
  987. "right":{
  988. "op":"≠",
  989. "left":"pay",
  990. "right":3
  991. }
  992. }
  993. },
  994. "destinations":[
  995. {
  996. "probability":{
  997. "exp":1
  998. },
  999. "location":"location",
  1000. "assignments":[
  1001. {
  1002. "ref":"s3",
  1003. "value":1
  1004. }
  1005. ],
  1006. "observables":[
  1007. ]
  1008. }
  1009. ]
  1010. },
  1011. {
  1012. "location":"location",
  1013. "action":"tau__",
  1014. "guard":{
  1015. "exp":{
  1016. "op":"∧",
  1017. "left":{
  1018. "op":"∧",
  1019. "left":{
  1020. "op":"∧",
  1021. "left":{
  1022. "op":"∧",
  1023. "left":{
  1024. "op":"=",
  1025. "left":"s3",
  1026. "right":0
  1027. },
  1028. "right":{
  1029. "op":">",
  1030. "left":"coin3",
  1031. "right":0
  1032. }
  1033. },
  1034. "right":{
  1035. "op":">",
  1036. "left":"coin1",
  1037. "right":0
  1038. }
  1039. },
  1040. "right":{
  1041. "op":"=",
  1042. "left":"coin3",
  1043. "right":"coin1"
  1044. }
  1045. },
  1046. "right":{
  1047. "op":"=",
  1048. "left":"pay",
  1049. "right":3
  1050. }
  1051. }
  1052. },
  1053. "destinations":[
  1054. {
  1055. "probability":{
  1056. "exp":1
  1057. },
  1058. "location":"location",
  1059. "assignments":[
  1060. {
  1061. "ref":"s3",
  1062. "value":1
  1063. }
  1064. ],
  1065. "observables":[
  1066. ]
  1067. }
  1068. ]
  1069. },
  1070. {
  1071. "location":"location",
  1072. "action":"tau__",
  1073. "guard":{
  1074. "exp":{
  1075. "op":"∧",
  1076. "left":{
  1077. "op":"∧",
  1078. "left":{
  1079. "op":"∧",
  1080. "left":{
  1081. "op":"∧",
  1082. "left":{
  1083. "op":"=",
  1084. "left":"s3",
  1085. "right":0
  1086. },
  1087. "right":{
  1088. "op":">",
  1089. "left":"coin3",
  1090. "right":0
  1091. }
  1092. },
  1093. "right":{
  1094. "op":">",
  1095. "left":"coin1",
  1096. "right":0
  1097. }
  1098. },
  1099. "right":{
  1100. "op":"¬",
  1101. "exp":{
  1102. "op":"=",
  1103. "left":"coin3",
  1104. "right":"coin1"
  1105. }
  1106. }
  1107. },
  1108. "right":{
  1109. "op":"=",
  1110. "left":"pay",
  1111. "right":3
  1112. }
  1113. }
  1114. },
  1115. "destinations":[
  1116. {
  1117. "probability":{
  1118. "exp":1
  1119. },
  1120. "location":"location",
  1121. "assignments":[
  1122. {
  1123. "ref":"s3",
  1124. "value":1
  1125. },
  1126. {
  1127. "ref":"agree3",
  1128. "value":1
  1129. }
  1130. ],
  1131. "observables":[
  1132. ]
  1133. }
  1134. ]
  1135. },
  1136. {
  1137. "location":"location",
  1138. "action":"done",
  1139. "guard":{
  1140. "exp":{
  1141. "op":"=",
  1142. "left":"s3",
  1143. "right":1
  1144. }
  1145. },
  1146. "destinations":[
  1147. {
  1148. "probability":{
  1149. "exp":1
  1150. },
  1151. "location":"location",
  1152. "assignments":[
  1153. ]
  1154. }
  1155. ]
  1156. }
  1157. ]
  1158. }
  1159. ],
  1160. "system":{
  1161. "elements":[
  1162. {
  1163. "automaton":"crypt1"
  1164. },
  1165. {
  1166. "automaton":"crypt2"
  1167. },
  1168. {
  1169. "automaton":"crypt3"
  1170. }
  1171. ],
  1172. "syncs":[
  1173. {
  1174. "synchronise":[
  1175. "done",
  1176. "done",
  1177. "done"
  1178. ],
  1179. "result":"done"
  1180. },
  1181. {
  1182. "synchronise":[
  1183. "tau__",
  1184. null,
  1185. null
  1186. ],
  1187. "result":"tau__"
  1188. },
  1189. {
  1190. "synchronise":[
  1191. null,
  1192. "tau__",
  1193. null
  1194. ],
  1195. "result":"tau__"
  1196. },
  1197. {
  1198. "synchronise":[
  1199. null,
  1200. null,
  1201. "tau__"
  1202. ],
  1203. "result":"tau__"
  1204. }
  1205. ]
  1206. }
  1207. }