plant_to_EPN.mvc 23 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595
  1. All_RAM pw_to_epn {
  2. Composite schedule {
  3. {Contains} Success success {}
  4. {Contains} Atomic R_no_sensor {
  5. LHS {
  6. Pre_PW_Plant/Side {
  7. label = "1"
  8. }
  9. }
  10. NAC {
  11. Pre_PW_Plant/Side n_nac_s{
  12. label = "1"
  13. }
  14. Pre_PW_Plant/Infrared n_nac_i{
  15. label = "2"
  16. }
  17. Pre_PW_Plant/HasSensor (n_nac_s, n_nac_i) {
  18. label = "3"
  19. }
  20. }
  21. RHS {
  22. Post_Encapsulated_PetriNet/Boundary n_0{
  23. label = "0"
  24. }
  25. Post_Encapsulated_PetriNet/Port n_4{
  26. label = "4"
  27. value_name = $
  28. String function value(host_model : Element, name : String, mapping : Element):
  29. return "InControlGoingDown"!
  30. $
  31. }
  32. Post_Encapsulated_PetriNet/Port n_6{
  33. label = "6"
  34. value_name = $
  35. String function value(host_model : Element, name : String, mapping : Element):
  36. return "InControlMovingUp"!
  37. $
  38. }
  39. Post_Encapsulated_PetriNet/Port n_50{
  40. label = "50"
  41. value_name = $
  42. String function value(host_model : Element, name : String, mapping : Element):
  43. return "InControlNeutral"!
  44. $
  45. }
  46. Post_Encapsulated_PetriNet/Transition n_16{
  47. value_name = $
  48. String function value(host_model : Element, name : String, mapping : Element):
  49. return "InControlMovingUp"!
  50. $
  51. label = "16"
  52. }
  53. Post_Encapsulated_PetriNet/Transition n_18{
  54. label = "18"
  55. value_name = $
  56. String function value(host_model : Element, name : String, mapping : Element):
  57. return "InControlMovingUp"!
  58. $
  59. }
  60. Post_Encapsulated_PetriNet/Transition n_20{
  61. label = "20"
  62. value_name = $
  63. String function value(host_model : Element, name : String, mapping : Element):
  64. return "InControlNeutral"!
  65. $
  66. }
  67. Post_Encapsulated_PetriNet/Transition n_22{
  68. label = "22"
  69. value_name = $
  70. String function value(host_model : Element, name : String, mapping : Element):
  71. return "InControlNeutral"!
  72. $
  73. }
  74. Post_Encapsulated_PetriNet/Transition n_24{
  75. label = "24"
  76. value_name = $
  77. String function value(host_model : Element, name : String, mapping : Element):
  78. return "InControlNeutral"!
  79. $
  80. }
  81. Post_Encapsulated_PetriNet/Transition n_26{
  82. label = "26"
  83. value_name = $
  84. String function value(host_model : Element, name : String, mapping : Element):
  85. return "InControlMovingUp"!
  86. $
  87. }
  88. Post_Encapsulated_PetriNet/Transition n_28{
  89. label = "28"
  90. value_name = $
  91. String function value(host_model : Element, name : String, mapping : Element):
  92. return "InControlMovingUp"!
  93. $
  94. }
  95. Post_Encapsulated_PetriNet/Place n_9{
  96. label = "9"
  97. value_nbTokens = $
  98. Integer function value(host_model : Element, name : String, mapping : Element):
  99. return 0!
  100. $
  101. value_name = $
  102. String function value(host_model : Element, name : String, mapping : Element):
  103. return "top"!
  104. $
  105. }
  106. Post_Encapsulated_PetriNet/Place n_11{
  107. label = "11"
  108. value_nbTokens = $
  109. Integer function value(host_model : Element, name : String, mapping : Element):
  110. return 0!
  111. $
  112. value_name = $
  113. String function value(host_model : Element, name : String, mapping : Element):
  114. return "middle"!
  115. $
  116. }
  117. Post_Encapsulated_PetriNet/Place n_14{
  118. label = "14"
  119. value_nbTokens = $
  120. Integer function value(host_model : Element, name : String, mapping : Element):
  121. return 1!
  122. $
  123. value_name = $
  124. String function value(host_model : Element, name : String, mapping : Element):
  125. return "bottom"!
  126. $
  127. }
  128. Post_Encapsulated_PetriNet/Has3 (n_0, n_4){
  129. label = "5"
  130. }
  131. Post_Encapsulated_PetriNet/Has3 (n_0, n_6){
  132. label = "7"
  133. }
  134. Post_Encapsulated_PetriNet/Has3 (n_0, n_50){
  135. label = "8"
  136. }
  137. Post_Encapsulated_PetriNet/Has2 (n_0, n_16){
  138. label = "17"
  139. }
  140. Post_Encapsulated_PetriNet/Has2 (n_0, n_18){
  141. label = "19"
  142. }
  143. Post_Encapsulated_PetriNet/Has2 (n_0, n_20){
  144. label = "21"
  145. }
  146. Post_Encapsulated_PetriNet/Has2 (n_0, n_22){
  147. label = "23"
  148. }
  149. Post_Encapsulated_PetriNet/Has2 (n_0, n_24){
  150. label = "25"
  151. }
  152. Post_Encapsulated_PetriNet/Has2 (n_0, n_26){
  153. label = "27"
  154. }
  155. Post_Encapsulated_PetriNet/Has2 (n_0, n_28){
  156. label = "29"
  157. }
  158. Post_Encapsulated_PetriNet/Has1 (n_0, n_9){
  159. label = "10"
  160. }
  161. Post_Encapsulated_PetriNet/Has1 (n_0, n_11){
  162. label = "13"
  163. }
  164. Post_Encapsulated_PetriNet/Has1 (n_0, n_14){
  165. label = "15"
  166. }
  167. Post_Encapsulated_PetriNet/PortTransition (n_6, n_16){
  168. label = "32"
  169. }
  170. Post_Encapsulated_PetriNet/PortTransition (n_6, n_18){
  171. label = "49"
  172. }
  173. Post_Encapsulated_PetriNet/PortTransition (n_4, n_28){
  174. label = "54"
  175. }
  176. Post_Encapsulated_PetriNet/PortTransition (n_4, n_26){
  177. label = "53"
  178. }
  179. Post_Encapsulated_PetriNet/PortTransition (n_50, n_20){
  180. label = "52"
  181. }
  182. Post_Encapsulated_PetriNet/PortTransition (n_50, n_22){
  183. label = "51"
  184. }
  185. Post_Encapsulated_PetriNet/PortTransition (n_50, n_24){
  186. label = "12"
  187. }
  188. Post_Encapsulated_PetriNet/P2T (n_9, n_20) {
  189. label = "40"
  190. }
  191. Post_Encapsulated_PetriNet/P2T (n_9, n_26) {
  192. label = "36"
  193. }
  194. Post_Encapsulated_PetriNet/P2T (n_11, n_16) {
  195. label = "34"
  196. }
  197. Post_Encapsulated_PetriNet/P2T (n_11, n_22) {
  198. label = "42"
  199. }
  200. Post_Encapsulated_PetriNet/P2T (n_11, n_28) {
  201. label = "38"
  202. }
  203. Post_Encapsulated_PetriNet/P2T (n_14, n_18) {
  204. label = "31"
  205. }
  206. Post_Encapsulated_PetriNet/P2T (n_14, n_24) {
  207. label = "44"
  208. }
  209. Post_Encapsulated_PetriNet/T2P (n_16, n_9) {
  210. label = "35"
  211. }
  212. Post_Encapsulated_PetriNet/T2P (n_18, n_11) {
  213. label = "33"
  214. }
  215. Post_Encapsulated_PetriNet/T2P (n_20, n_9) {
  216. label = "41"
  217. }
  218. Post_Encapsulated_PetriNet/T2P (n_22, n_11) {
  219. label = "43"
  220. }
  221. Post_Encapsulated_PetriNet/T2P (n_24, n_14) {
  222. label = "45"
  223. }
  224. Post_Encapsulated_PetriNet/T2P (n_26, n_11) {
  225. label = "37"
  226. }
  227. Post_Encapsulated_PetriNet/T2P (n_28, n_14) {
  228. label = "39"
  229. }
  230. }
  231. }
  232. {Contains} Atomic R_sensor {
  233. LHS {
  234. Pre_PW_Plant/Side s_s{
  235. label = "1"
  236. }
  237. Pre_PW_Plant/Infrared s_i{
  238. label = "2"
  239. }
  240. Pre_PW_Plant/HasSensor (s_s, s_i) {
  241. label = "3"
  242. }
  243. }
  244. RHS {
  245. Post_Encapsulated_PetriNet/Boundary s_0{
  246. label = "0"
  247. }
  248. Post_Encapsulated_PetriNet/Port s_36{
  249. label = "36"
  250. value_name = $
  251. String function value(host_model : Element, name : String, mapping : Element):
  252. return "InControlNeutral"!
  253. $
  254. }
  255. Post_Encapsulated_PetriNet/Port s_38{
  256. label = "38"
  257. value_name = $
  258. String function value(host_model : Element, name : String, mapping : Element):
  259. return "InControlMovingUp"!
  260. $
  261. }
  262. Post_Encapsulated_PetriNet/Port s_40{
  263. label = "40"
  264. value_name = $
  265. String function value(host_model : Element, name : String, mapping : Element):
  266. return "InControlMovingDown"!
  267. $
  268. }
  269. Post_Encapsulated_PetriNet/Port s_42{
  270. label = "42"
  271. value_name = $
  272. String function value(host_model : Element, name : String, mapping : Element):
  273. return "detectedObject"!
  274. $
  275. }
  276. Post_Encapsulated_PetriNet/Place s_9{
  277. label = "9"
  278. value_nbTokens = $
  279. Integer function value(host_model : Element, name : String, mapping : Element):
  280. return 0!
  281. $
  282. value_name = $
  283. String function value(host_model : Element, name : String, mapping : Element):
  284. return "top"!
  285. $
  286. }
  287. Post_Encapsulated_PetriNet/Place s_11{
  288. label = "11"
  289. value_nbTokens = $
  290. Integer function value(host_model : Element, name : String, mapping : Element):
  291. return 0!
  292. $
  293. value_name = $
  294. String function value(host_model : Element, name : String, mapping : Element):
  295. return "middle"!
  296. $
  297. }
  298. Post_Encapsulated_PetriNet/Place s_14{
  299. label = "14"
  300. value_nbTokens = $
  301. Integer function value(host_model : Element, name : String, mapping : Element):
  302. return 1!
  303. $
  304. value_name = $
  305. String function value(host_model : Element, name : String, mapping : Element):
  306. return "bottom"!
  307. $
  308. }
  309. Post_Encapsulated_PetriNet/Place s_19{
  310. label = "19"
  311. value_nbTokens = $
  312. Integer function value(host_model : Element, name : String, mapping : Element):
  313. return 0!
  314. $
  315. value_name = $
  316. String function value(host_model : Element, name : String, mapping : Element):
  317. return "topDetectedFrame"!
  318. $
  319. }
  320. Post_Encapsulated_PetriNet/Place s_23{
  321. label = "23"
  322. value_nbTokens = $
  323. Integer function value(host_model : Element, name : String, mapping : Element):
  324. return 0!
  325. $
  326. value_name = $
  327. String function value(host_model : Element, name : String, mapping : Element):
  328. return "middleDetectedFrame"!
  329. $
  330. }
  331. Post_Encapsulated_PetriNet/Transition s_32{
  332. label = "32"
  333. value_name = $
  334. String function value(host_model : Element, name : String, mapping : Element):
  335. return "ControlUp+Object"!
  336. $
  337. }
  338. Post_Encapsulated_PetriNet/Transition s_33{
  339. label = "33"
  340. value_name = $
  341. String function value(host_model : Element, name : String, mapping : Element):
  342. return "ControlUp+Object"!
  343. $
  344. }
  345. Post_Encapsulated_PetriNet/Transition s_27{
  346. label = "27"
  347. value_name = $
  348. String function value(host_model : Element, name : String, mapping : Element):
  349. return "InControlNeutral"!
  350. $
  351. }
  352. Post_Encapsulated_PetriNet/Transition s_29{
  353. label = "29"
  354. value_name = $
  355. String function value(host_model : Element, name : String, mapping : Element):
  356. return "InControlNeutral"!
  357. $
  358. }
  359. Post_Encapsulated_PetriNet/Transition s_16{
  360. label = "16"
  361. value_name = $
  362. String function value(host_model : Element, name : String, mapping : Element):
  363. return "InControlMovingUp"!
  364. $
  365. }
  366. Post_Encapsulated_PetriNet/Transition s_18{
  367. label = "18"
  368. value_name = $
  369. String function value(host_model : Element, name : String, mapping : Element):
  370. return "InControlMovingUp"!
  371. $
  372. }
  373. Post_Encapsulated_PetriNet/Transition s_20{
  374. label = "20"
  375. value_name = $
  376. String function value(host_model : Element, name : String, mapping : Element):
  377. return "InControlNeutral"!
  378. $
  379. }
  380. Post_Encapsulated_PetriNet/Transition s_22{
  381. label = "22"
  382. value_name = $
  383. String function value(host_model : Element, name : String, mapping : Element):
  384. return "InControlNeutral"!
  385. $
  386. }
  387. Post_Encapsulated_PetriNet/Transition s_24{
  388. label = "24"
  389. value_name = $
  390. String function value(host_model : Element, name : String, mapping : Element):
  391. return "InControlNeutral"!
  392. $
  393. }
  394. Post_Encapsulated_PetriNet/Transition s_26{
  395. label = "26"
  396. value_name = $
  397. String function value(host_model : Element, name : String, mapping : Element):
  398. return "InControlMovingUp"!
  399. $
  400. }
  401. Post_Encapsulated_PetriNet/Transition s_28{
  402. label = "28"
  403. value_name = $
  404. String function value(host_model : Element, name : String, mapping : Element):
  405. return "InControlMovingUp"!
  406. $
  407. }
  408. Post_Encapsulated_PetriNet/PortTransition (s_42, s_32){
  409. label = "68"
  410. }
  411. Post_Encapsulated_PetriNet/PortTransition (s_42, s_33){
  412. label = "69"
  413. }
  414. Post_Encapsulated_PetriNet/PortTransition (s_38, s_18){
  415. label = "70"
  416. }
  417. Post_Encapsulated_PetriNet/PortTransition (s_38, s_16){
  418. label = "71"
  419. }
  420. Post_Encapsulated_PetriNet/PortTransition (s_40, s_26){
  421. label = "59"
  422. }
  423. Post_Encapsulated_PetriNet/PortTransition (s_40, s_28){
  424. label = "58"
  425. }
  426. Post_Encapsulated_PetriNet/PortTransition (s_36, s_27){
  427. label = "a_0"
  428. }
  429. Post_Encapsulated_PetriNet/PortTransition (s_36, s_29){
  430. label = "a_1"
  431. }
  432. Post_Encapsulated_PetriNet/PortTransition (s_36, s_20){
  433. label = "a_2"
  434. }
  435. Post_Encapsulated_PetriNet/PortTransition (s_36, s_22){
  436. label = "a_3"
  437. }
  438. Post_Encapsulated_PetriNet/PortTransition (s_36, s_24){
  439. label = "a_4"
  440. }
  441. Post_Encapsulated_PetriNet/P2T (s_19, s_27){
  442. label = "60"
  443. }
  444. Post_Encapsulated_PetriNet/P2T (s_23, s_29){
  445. label = "64"
  446. }
  447. Post_Encapsulated_PetriNet/P2T (s_9, s_32){
  448. label = "62"
  449. }
  450. Post_Encapsulated_PetriNet/P2T (s_9, s_20){
  451. label = "52"
  452. }
  453. Post_Encapsulated_PetriNet/P2T (s_9, s_26){
  454. label = "48"
  455. }
  456. Post_Encapsulated_PetriNet/P2T (s_11, s_28){
  457. label = "50"
  458. }
  459. Post_Encapsulated_PetriNet/P2T (s_11, s_22){
  460. label = "55"
  461. }
  462. Post_Encapsulated_PetriNet/P2T (s_11, s_16){
  463. label = "46"
  464. }
  465. Post_Encapsulated_PetriNet/P2T (s_11, s_18){
  466. label = "45"
  467. }
  468. Post_Encapsulated_PetriNet/P2T (s_14, s_24){
  469. label = "56"
  470. }
  471. Post_Encapsulated_PetriNet/P2T (s_14, s_18){
  472. label = "44"
  473. }
  474. Post_Encapsulated_PetriNet/T2P (s_32, s_19){
  475. label = "63"
  476. }
  477. Post_Encapsulated_PetriNet/T2P (s_33, s_23){
  478. label = "67"
  479. }
  480. Post_Encapsulated_PetriNet/T2P (s_27, s_9){
  481. label = "61"
  482. }
  483. Post_Encapsulated_PetriNet/T2P (s_29, s_11){
  484. label = "65"
  485. }
  486. Post_Encapsulated_PetriNet/T2P (s_16, s_9){
  487. label = "47"
  488. }
  489. Post_Encapsulated_PetriNet/T2P (s_18, s_11){
  490. label = "45"
  491. }
  492. Post_Encapsulated_PetriNet/T2P (s_20, s_9){
  493. label = "53"
  494. }
  495. Post_Encapsulated_PetriNet/T2P (s_26, s_11){
  496. label = "49"
  497. }
  498. Post_Encapsulated_PetriNet/T2P (s_22, s_11){
  499. label = "55"
  500. }
  501. Post_Encapsulated_PetriNet/T2P (s_28, s_14){
  502. label = "51"
  503. }
  504. Post_Encapsulated_PetriNet/T2P (s_24, s_14){
  505. label = "57"
  506. }
  507. Post_Encapsulated_PetriNet/Has3 (s_0, s_42){
  508. label = "43"
  509. }
  510. Post_Encapsulated_PetriNet/Has3 (s_0, s_36){
  511. label = "37"
  512. }
  513. Post_Encapsulated_PetriNet/Has3 (s_0, s_38){
  514. label = "39"
  515. }
  516. Post_Encapsulated_PetriNet/Has3 (s_0, s_40){
  517. label = "41"
  518. }
  519. Post_Encapsulated_PetriNet/Has2 (s_0, s_32){
  520. label = "34"
  521. }
  522. Post_Encapsulated_PetriNet/Has2 (s_0, s_33){
  523. label = "35"
  524. }
  525. Post_Encapsulated_PetriNet/Has2 (s_0, s_27){
  526. label = "30"
  527. }
  528. Post_Encapsulated_PetriNet/Has2 (s_0, s_29){
  529. label = "31"
  530. }
  531. Post_Encapsulated_PetriNet/Has2 (s_0, s_16){
  532. label = "7"
  533. }
  534. Post_Encapsulated_PetriNet/Has2 (s_0, s_18){
  535. label = "8"
  536. }
  537. Post_Encapsulated_PetriNet/Has2 (s_0, s_20){
  538. label = "13"
  539. }
  540. Post_Encapsulated_PetriNet/Has2 (s_0, s_22){
  541. label = "15"
  542. }
  543. Post_Encapsulated_PetriNet/Has2 (s_0, s_24){
  544. label = "17"
  545. }
  546. Post_Encapsulated_PetriNet/Has2 (s_0, s_26){
  547. label = "10"
  548. }
  549. Post_Encapsulated_PetriNet/Has2 (s_0, s_28){
  550. label = "12"
  551. }
  552. Post_Encapsulated_PetriNet/Has1 (s_0, s_9){
  553. label = "4"
  554. }
  555. Post_Encapsulated_PetriNet/Has1 (s_0, s_11){
  556. label = "5"
  557. }
  558. Post_Encapsulated_PetriNet/Has1 (s_0, s_14){
  559. label = "6"
  560. }
  561. Post_Encapsulated_PetriNet/Has1 (s_0, s_19){
  562. label = "21"
  563. }
  564. Post_Encapsulated_PetriNet/Has1 (s_0, s_23){
  565. label = "25"
  566. }
  567. }
  568. }
  569. }
  570. Initial (schedule, R_no_sensor) {}
  571. OnSuccess (R_no_sensor, R_no_sensor) {}
  572. OnFailure (R_no_sensor, R_sensor) {}
  573. OnSuccess (R_sensor, R_sensor) {}
  574. OnFailure (R_sensor, success) {}
  575. }