pm_req_analyse.mvc 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150
  1. ProcessModel analyse_requirements {
  2. Start start {}
  3. Finish finish {}
  4. Exec define_req {
  5. name = "define_req"
  6. }
  7. Exec make_initial_models {
  8. name = "make_initial_models"
  9. }
  10. ForkJoin forkjoin1 {}
  11. Exec refine_plant {
  12. name = "refine_plant"
  13. }
  14. Exec refine_environment {
  15. name = "refine_environment"
  16. }
  17. Exec refine_control {
  18. name = "refine_control"
  19. }
  20. Exec refine_query {
  21. name = "refine_query"
  22. }
  23. Exec plant_to_EPN {
  24. name = "plant_to_EPN"
  25. }
  26. Exec environment_to_EPN {
  27. name = "environment_to_EPN"
  28. }
  29. Exec control_to_EPN {
  30. name = "control_to_EPN"
  31. }
  32. ForkJoin forkjoin2 {}
  33. Exec combine_EPN {
  34. name = "combine_EPN"
  35. }
  36. Exec analyse {
  37. name = "reachability"
  38. }
  39. ForkJoin forkjoin3 {}
  40. Exec matches {
  41. name = "query_match"
  42. }
  43. Decision found {}
  44. Data req {
  45. name = "requirements"
  46. type = "Requirements"
  47. }
  48. Data plant_model {
  49. name = "plant_model"
  50. type = "PW_Plant"
  51. }
  52. Data environment_model {
  53. name = "environment_model"
  54. type = "PW_Environment"
  55. }
  56. Data control_model {
  57. name = "control_model"
  58. type = "PW_Control"
  59. }
  60. Data plant_EPN {
  61. name = "plant_EPN"
  62. type = "Encapsulated_PetriNet"
  63. }
  64. Data control_EPN {
  65. name = "control_EPN"
  66. type = "Encapsulated_PetriNet"
  67. }
  68. Data environment_EPN {
  69. name = "environment_EPN"
  70. type = "Encapsulated_PetriNet"
  71. }
  72. Data pn {
  73. name = "pn"
  74. type = "PetriNet"
  75. }
  76. Data reachability_graph {
  77. name = "reachability"
  78. type = "ReachabilityGraph"
  79. }
  80. Data query {
  81. name = "query"
  82. type = "Query"
  83. }
  84. Next (start, define_req) {}
  85. Next (define_req, make_initial_models) {}
  86. Next (make_initial_models, forkjoin1) {}
  87. Next (forkjoin1, refine_plant) {}
  88. Next (forkjoin1, refine_environment) {}
  89. Next (forkjoin1, refine_control) {}
  90. Next (forkjoin1, refine_query) {}
  91. Next (refine_plant, plant_to_EPN) {}
  92. Next (refine_environment, environment_to_EPN) {}
  93. Next (refine_control, control_to_EPN) {}
  94. Next (plant_to_EPN, forkjoin2) {}
  95. Next (environment_to_EPN, forkjoin2) {}
  96. Next (control_to_EPN, forkjoin2) {}
  97. Next (forkjoin2, combine_EPN) {}
  98. Next (combine_EPN, analyse) {}
  99. Next (analyse, forkjoin3) {}
  100. Next (refine_query, forkjoin3) {}
  101. Next (forkjoin3, matches) {}
  102. Next (matches, found) {}
  103. Then (found, forkjoin1) {}
  104. Else (found, finish) {}
  105. Produces (define_req, req) {}
  106. Produces (make_initial_models, plant_model) {}
  107. Produces (make_initial_models, environment_model) {}
  108. Produces (make_initial_models, control_model) {}
  109. Produces (make_initial_models, query) {}
  110. Consumes (req, refine_plant) {}
  111. Consumes (req, refine_environment) {}
  112. Consumes (req, refine_control) {}
  113. Consumes (req, refine_query) {}
  114. Consumes (plant_model, refine_plant) {}
  115. Consumes (environment_model, refine_environment) {}
  116. Consumes (control_model, refine_control) {}
  117. Consumes (query, refine_query) {}
  118. Produces (refine_plant, plant_EPN) {}
  119. Produces (refine_control, control_EPN) {}
  120. Produces (refine_environment, environment_EPN) {}
  121. Produces (refine_query, query) {}
  122. Consumes (plant_EPN, combine_EPN) {}
  123. Consumes (environment_EPN, combine_EPN) {}
  124. Consumes (control_EPN, combine_EPN) {}
  125. Produces (combine_EPN, pn) {}
  126. Consumes (pn, analyse) {}
  127. Produces (analyse, reachability_graph) {}
  128. Consumes (reachability_graph, matches) {}
  129. Consumes (query, matches) {}
  130. }