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.

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