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.

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