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.

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