plant_to_EPN.mvc 6.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186
  1. PW_PN_RAM pw_to_epn {
  2. Composite schedule {
  3. {Contains} Success success {}
  4. {Contains} Atomic R_no_sensor {
  5. LHS {
  6. Pre_PW/Side {
  7. label = "1"
  8. }
  9. }
  10. NAC {
  11. Pre_PW/Side n_nac_s{
  12. label = "1"
  13. }
  14. Pre_PW/Infrared n_nac_i{
  15. label = "2"
  16. }
  17. Pre_PW/HasSensor (n_nac_s, n_nac_i) {
  18. label = "3"
  19. }
  20. }
  21. RHS {
  22. Post_EPN/Boundary n_0{
  23. label = "0"
  24. }
  25. Post_EPN/Port n_4{
  26. label = "4"
  27. name = $
  28. String function value(host_model : Element, name : String, mapping : Element):
  29. return "InControlGoingDown"!
  30. $
  31. }
  32. Post_EPN/Port n_6{
  33. label = "6"
  34. name = $
  35. String function value(host_model : Element, name : String, mapping : Element):
  36. return "InControlMovingUp"!
  37. $
  38. }
  39. Post_EPN/Port n_50{
  40. label = "50"
  41. name = $
  42. String function value(host_model : Element, name : String, mapping : Element):
  43. return "InControlNeutral"!
  44. $
  45. }
  46. Post_EPN/Transition n_16{
  47. name = $
  48. String function value(host_model : Element, name : String, mapping : Element):
  49. return "InControlMovingUp"!
  50. $
  51. }
  52. label = "16"
  53. Post_EPN/Transition n_18{
  54. label = "18"
  55. name = $
  56. String function value(host_model : Element, name : String, mapping : Element):
  57. return "InControlMovingUp"!
  58. $
  59. }
  60. Post_EPN/Transition n_20{
  61. label = "20"
  62. name = $
  63. String function value(host_model : Element, name : String, mapping : Element):
  64. return "InControlNeutral"!
  65. $
  66. }
  67. Post_EPN/Transition n_22{
  68. label = "22"
  69. name = $
  70. String function value(host_model : Element, name : String, mapping : Element):
  71. return "InControlNeutral"!
  72. $
  73. }
  74. Post_EPN/Transition n_24{
  75. label = "24"
  76. name = $
  77. String function value(host_model : Element, name : String, mapping : Element):
  78. return "InControlNeutral"!
  79. $
  80. }
  81. Post_EPN/Transition n_26{
  82. label = "26"
  83. name = $
  84. String function value(host_model : Element, name : String, mapping : Element):
  85. return "InControlMovingUp"!
  86. $
  87. }
  88. Post_EPN/Transition n_28{
  89. label = "28"
  90. name = $
  91. String function value(host_model : Element, name : String, mapping : Element):
  92. return "InControlMovingUp"!
  93. $
  94. }
  95. Post_EPN/Place n_9{
  96. label = "9"
  97. nbTokens = $
  98. Integer function value(host_model : Element, name : String, mapping : Element):
  99. return 0!
  100. $
  101. name = $
  102. String function value(host_model : Element, name : String, mapping : Element):
  103. return "top"!
  104. $
  105. }
  106. Post_EPN/Place n_11{
  107. label = "11"
  108. nbTokens = $
  109. Integer function value(host_model : Element, name : String, mapping : Element):
  110. return 0!
  111. $
  112. name = $
  113. String function value(host_model : Element, name : String, mapping : Element):
  114. return "middle"!
  115. $
  116. }
  117. Post_EPN/Place n_14{
  118. label = "14"
  119. nbTokens = $
  120. Integer function value(host_model : Element, name : String, mapping : Element):
  121. return 1!
  122. $
  123. name = $
  124. String function value(host_model : Element, name : String, mapping : Element):
  125. return "bottom"!
  126. $
  127. }
  128. Post_EPN/Has3 (n_0, n_4){
  129. label = "5"
  130. }
  131. Post_EPN/Has3 (n_0, n_6){
  132. label = "7"
  133. }
  134. Post_EPN/Has3 (n_0, n_50){
  135. label = "8"
  136. }
  137. Post_EPN/Has2 (n_0, n_16){
  138. label = "17"
  139. }
  140. Post_EPN/Has2 (n_0, n_18){
  141. label = "19"
  142. }
  143. Post_EPN/Has2 (n_0, n_20){
  144. label = "21"
  145. }
  146. Post_EPN/Has2 (n_0, n_22){
  147. label = "23"
  148. }
  149. Post_EPN/Has2 (n_0, n_24){
  150. label = "25"
  151. }
  152. Post_EPN/Has2 (n_0, n_26){
  153. label = "27"
  154. }
  155. Post_EPN/Has2 (n_0, n_28){
  156. label = "29"
  157. }
  158. Post_EPN/Has1 (n_0, n_9){
  159. label = "10"
  160. }
  161. Post_EPN/Has1 (n_0, n_11){
  162. label = "13"
  163. }
  164. Post_EPN/Has1 (n_0, n_14){
  165. label = "15"
  166. }
  167. }
  168. }
  169. {Contains} Atomic R_sensor {
  170. }
  171. }
  172. Initial (schedule, R_no_sensor) {}
  173. OnSuccess (R_no_sensor, R_no_sensor) {}
  174. OnFailure (R_no_sensor, R_sensor) {}
  175. OnSuccess (R_sensor, R_sensor) {}
  176. OnFailure (R_sensor, success) {}
  177. }