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.

1943 lines
63 KiB

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