pm_req_analyse_debug.mvc 6.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283
  1. ProcessModel analyse_requirements {
  2. Start start {}
  3. Finish finish {}
  4. Exec revise_req {
  5. name = "revise_req"
  6. }
  7. Exec make_initial_models {
  8. name = "make_initial_models"
  9. }
  10. Fork fork1 {}
  11. Exec revise_plant {
  12. name = "revise_plant"
  13. }
  14. Exec revise_environment {
  15. name = "revise_environment"
  16. }
  17. Exec revise_control {
  18. name = "revise_control"
  19. }
  20. Exec revise_query {
  21. name = "revise_query"
  22. }
  23. Exec revise_architecture {
  24. name = "revise_architecture"
  25. }
  26. Exec plant_to_EPN {
  27. name = "plant_to_EPN"
  28. }
  29. Exec print_plant_EPN{
  30. name = "epn_print"
  31. }
  32. Exec environment_to_EPN {
  33. name = "environment_to_EPN"
  34. }
  35. Exec print_env_EPN{
  36. name = "epn_print"
  37. }
  38. Exec control_to_EPN {
  39. name = "control_to_EPN"
  40. }
  41. Exec print_control_EPN{
  42. name = "epn_print"
  43. }
  44. Join join2 {}
  45. Exec combine_EPN {
  46. name = "combine_EPN"
  47. }
  48. Exec print_pn {
  49. name = "pn_print"
  50. }
  51. Exec EPN_to_PN {
  52. name = "EPN_to_PN"
  53. }
  54. Exec analyse {
  55. name = "reachability"
  56. }
  57. Join join3 {}
  58. Exec match {
  59. name = "match"
  60. }
  61. Exec bfs {
  62. name = "bfs"
  63. }
  64. Decision found {}
  65. Data req {
  66. name = "requirements"
  67. type = "Requirements"
  68. }
  69. Data plant_model {
  70. name = "plant_model"
  71. type = "PW_Plant"
  72. }
  73. Data environment_model {
  74. name = "environment_model"
  75. type = "PW_Environment"
  76. }
  77. Data control_model {
  78. name = "control_model"
  79. type = "PW_Control"
  80. }
  81. Data plant_EPN {
  82. name = "plant_EPN"
  83. type = "Encapsulated_PetriNet"
  84. }
  85. Data control_EPN {
  86. name = "control_EPN"
  87. type = "Encapsulated_PetriNet"
  88. }
  89. Data environment_EPN {
  90. name = "environment_EPN"
  91. type = "Encapsulated_PetriNet"
  92. }
  93. Data merged_EPN {
  94. name = "merged_EPN"
  95. type = "Encapsulated_PetriNet"
  96. }
  97. Data pn {
  98. name = "pn"
  99. type = "PetriNet"
  100. }
  101. Data reachability_graph {
  102. name = "reachability"
  103. type = "ReachabilityGraph"
  104. }
  105. Data query {
  106. name = "query"
  107. type = "Query"
  108. }
  109. Data architecture {
  110. name = "architecture"
  111. type = "Architecture"
  112. }
  113. Next (start, make_initial_models) {}
  114. Next (make_initial_models, revise_req) {}
  115. Next (revise_req, fork1) {}
  116. Next (fork1, revise_plant) {}
  117. Next (fork1, revise_environment) {}
  118. Next (fork1, revise_control) {}
  119. Next (fork1, revise_query) {}
  120. Next (fork1, revise_architecture) {}
  121. Next (revise_plant, plant_to_EPN) {}
  122. Next (revise_environment, environment_to_EPN) {}
  123. Next (revise_control, control_to_EPN) {}
  124. Next (plant_to_EPN, print_plant_EPN) {}
  125. Next (print_plant_EPN, join2) {}
  126. Next (environment_to_EPN, print_env_EPN) {}
  127. Next (print_env_EPN, join2) {}
  128. Next (control_to_EPN, print_control_EPN) {}
  129. Next (print_control_EPN, join2) {}
  130. Next (revise_architecture, join2) {}
  131. Next (join2, combine_EPN) {}
  132. Next (combine_EPN, print_pn) {}
  133. Next (print_pn, analyse) {}
  134. Next (analyse, join3) {}
  135. Next (revise_query, join3) {}
  136. Next (join3, match) {}
  137. Next (match, found) {}
  138. Then (found, bfs) {}
  139. Next (bfs, fork1) {}
  140. Else (found, finish) {}
  141. Consumes (revise_req, req) {
  142. name = "requirements"
  143. }
  144. Produces (revise_req, req) {
  145. }
  146. Produces (make_initial_models, plant_model) {
  147. }
  148. Produces (make_initial_models, environment_model) {
  149. }
  150. Produces (make_initial_models, control_model) {
  151. }
  152. Produces (make_initial_models, query) {
  153. }
  154. Produces (make_initial_models, architecture) {
  155. }
  156. Produces (make_initial_models, req) {
  157. }
  158. Consumes (revise_plant, req) {
  159. name = "requirements"
  160. }
  161. Consumes (revise_environment, req) {
  162. name = "requirements"
  163. }
  164. Consumes (revise_control, req) {
  165. name = "requirements"
  166. }
  167. Consumes (revise_query, req) {
  168. name = "requirements"
  169. }
  170. Consumes (revise_architecture, req) {
  171. name = "requirements"
  172. }
  173. Consumes (revise_plant, plant_model) {
  174. name = "plant"
  175. }
  176. Consumes (revise_environment, environment_model) {
  177. name = "environment"
  178. }
  179. Consumes (revise_control, control_model) {
  180. name = "control"
  181. }
  182. Consumes (revise_query, query) {
  183. name = "query"
  184. }
  185. Consumes (revise_architecture, architecture) {
  186. name = "architecture"
  187. }
  188. Produces (revise_plant, plant_model) {
  189. }
  190. Produces (revise_control, control_model) {
  191. }
  192. Produces (revise_environment, environment_model) {
  193. }
  194. Produces (revise_query, query) {
  195. }
  196. Produces (revise_architecture, architecture) {
  197. }
  198. Consumes (plant_to_EPN, plant_model) {
  199. name = "plant_model"
  200. }
  201. Produces (plant_to_EPN, plant_EPN) {
  202. }
  203. Consumes (environment_to_EPN, environment_model) {
  204. name = "environment_model"
  205. }
  206. Produces (environment_to_EPN, environment_EPN) {
  207. }
  208. Consumes (control_to_EPN, control_model) {
  209. name = "control_model"
  210. }
  211. Produces (control_to_EPN, control_EPN) {
  212. }
  213. Consumes (combine_EPN, plant_EPN) {
  214. name = "epn_1"
  215. }
  216. Consumes (combine_EPN, environment_EPN) {
  217. name = "epn_2"
  218. }
  219. Consumes (combine_EPN, control_EPN) {
  220. name = "epn_3"
  221. }
  222. Consumes (combine_EPN, architecture) {
  223. name = "architecture"
  224. }
  225. Produces (combine_EPN, pn) {
  226. }
  227. Consumes (analyse, pn) {
  228. name = "pn"
  229. }
  230. Produces (analyse, reachability_graph) {
  231. }
  232. Consumes (match, reachability_graph) {
  233. name = "reachability_graph"
  234. }
  235. Consumes (match, query) {
  236. name = "query"
  237. }
  238. Produces (match, reachability_graph) {
  239. }
  240. Consumes (bfs, reachability_graph) {
  241. name = "reachability_graph"
  242. }
  243. Consumes (print_pn, pn) {
  244. name = "pn"
  245. }
  246. Consumes (print_plant_EPN, plant_EPN){
  247. name = "epn"
  248. }
  249. Consumes (print_control_EPN, control_EPN){
  250. name = "epn"
  251. }
  252. Consumes (print_env_EPN, environment_EPN){
  253. name = "epn"
  254. }
  255. }