cpee 2.0.19 → 2.0.20

Sign up to get free protection for your applications and to get access to all the features.
Files changed (236) hide show
  1. checksums.yaml +4 -4
  2. data/cockpit/css/wfadaptor.css +17 -0
  3. data/cockpit/js/instance.js +0 -1
  4. data/cockpit/js_libs.zip +0 -0
  5. data/cockpit/themes/model/rngs/call.rng +2 -1
  6. data/cockpit/themes/model/rngs/callmanipulate.rng +2 -1
  7. data/cockpit/themes/model/theme.js +1 -1
  8. data/cpee.gemspec +2 -2
  9. data/lib/cpee/controller.rb +6 -3
  10. data/lib/cpee/implementation.rb +23 -8
  11. data/lib/cpee/implementation_notifications.rb +1 -1
  12. data/lib/cpee/persistence.rb +2 -1
  13. data/lib/cpee/redis.rb +57 -0
  14. data/server/routing/end.rb +16 -4
  15. data/server/routing/forward-events.rb +19 -7
  16. data/server/routing/forward-votes.rb +19 -7
  17. data/server/routing/persist.rb +26 -14
  18. data/tools/cpee +5 -5
  19. data/tools/test/README +4 -0
  20. data/tools/test/config.json +3 -0
  21. data/tools/test/contrib/graph_example.svg +1166 -0
  22. data/tools/test/contrib/legend.svg +817 -0
  23. data/tools/test/contrib/symbols.svg +224 -0
  24. data/tools/test/contrib/transformation1.xsl +264 -0
  25. data/tools/test/contrib/transformation2.xsl +10 -0
  26. data/tools/test/contrib/tree_example.svg +788 -0
  27. data/tools/test/css/model.css +24 -0
  28. data/tools/test/css/track.css +60 -0
  29. data/tools/test/css/ui.css +214 -0
  30. data/tools/test/css/wfadaptor.css +422 -0
  31. data/tools/test/edit.html +258 -0
  32. data/tools/test/graph.html +69 -0
  33. data/tools/test/index.html +258 -0
  34. data/tools/test/js/details.js +109 -0
  35. data/tools/test/js/instance.js +1344 -0
  36. data/tools/test/js/model.js +41 -0
  37. data/tools/test/js/parameters.js +82 -0
  38. data/tools/test/js/track.js +18 -0
  39. data/tools/test/js/ui.js +104 -0
  40. data/tools/test/js/wfadaptor.js +763 -0
  41. data/tools/test/js_libs.zip +0 -0
  42. data/tools/test/js_libs/Makefile +2 -0
  43. data/tools/test/js_libs/ansi_up.js +333 -0
  44. data/tools/test/js_libs/console.js +80 -0
  45. data/tools/test/js_libs/custommenu.css +84 -0
  46. data/tools/test/js_libs/custommenu.js +104 -0
  47. data/tools/test/js_libs/experiments1/relaxngui.css +185 -0
  48. data/tools/test/js_libs/experiments1/relaxngui.js +488 -0
  49. data/tools/test/js_libs/experiments1/rngtest9.html +60 -0
  50. data/tools/test/js_libs/experiments1/rngtest9.rng +35 -0
  51. data/tools/test/js_libs/experiments1/rngtest9.xml +8 -0
  52. data/tools/test/js_libs/jquery-2.2.4.min.js +4 -0
  53. data/tools/test/js_libs/jquery-3.2.1.min.js +4 -0
  54. data/tools/test/js_libs/jquery-3.3.1.min.js +2 -0
  55. data/tools/test/js_libs/jquery.browser.js +40 -0
  56. data/tools/test/js_libs/jquery.caret.min.js +10 -0
  57. data/tools/test/js_libs/jquery.cookie.js +117 -0
  58. data/tools/test/js_libs/jquery.min.js +1 -0
  59. data/tools/test/js_libs/jquery.svg.min.js +6 -0
  60. data/tools/test/js_libs/jquery.svgdom.min.js +6 -0
  61. data/tools/test/js_libs/markdown.min.js +1 -0
  62. data/tools/test/js_libs/parsequery.js +21 -0
  63. data/tools/test/js_libs/printf.js +368 -0
  64. data/tools/test/js_libs/relaxngui.css +213 -0
  65. data/tools/test/js_libs/relaxngui.js +543 -0
  66. data/tools/test/js_libs/strftime.min.js +1 -0
  67. data/tools/test/js_libs/tests/dataelements.html +59 -0
  68. data/tools/test/js_libs/tests/dataelements.rng +8 -0
  69. data/tools/test/js_libs/tests/dataelements.xml +3 -0
  70. data/tools/test/js_libs/tests/relaxngui.css +203 -0
  71. data/tools/test/js_libs/tests/relaxngui.js +502 -0
  72. data/tools/test/js_libs/tests/rngtest1.html +66 -0
  73. data/tools/test/js_libs/tests/rngtest1.rng +147 -0
  74. data/tools/test/js_libs/tests/rngtest1.xml +13 -0
  75. data/tools/test/js_libs/tests/rngtest2.html +60 -0
  76. data/tools/test/js_libs/tests/rngtest2.rng +6 -0
  77. data/tools/test/js_libs/tests/rngtest2.xml +3 -0
  78. data/tools/test/js_libs/tests/rngtest3.html +60 -0
  79. data/tools/test/js_libs/tests/rngtest3.rng +23 -0
  80. data/tools/test/js_libs/tests/rngtest3.xml +9 -0
  81. data/tools/test/js_libs/tests/rngtest4.html +60 -0
  82. data/tools/test/js_libs/tests/rngtest4.rng +19 -0
  83. data/tools/test/js_libs/tests/rngtest4.xml +12 -0
  84. data/tools/test/js_libs/tests/rngtest5.html +60 -0
  85. data/tools/test/js_libs/tests/rngtest5.rng +75 -0
  86. data/tools/test/js_libs/tests/rngtest5.xml +40 -0
  87. data/tools/test/js_libs/tests/rngtest6.html +60 -0
  88. data/tools/test/js_libs/tests/rngtest6.rng +24 -0
  89. data/tools/test/js_libs/tests/rngtest6.xml +6 -0
  90. data/tools/test/js_libs/tests/rngtest8.html +60 -0
  91. data/tools/test/js_libs/tests/rngtest8.rng +13 -0
  92. data/tools/test/js_libs/tests/rngtest8.xml +2 -0
  93. data/tools/test/js_libs/tests/rngtest9.html +60 -0
  94. data/tools/test/js_libs/tests/rngtest9.rng +31 -0
  95. data/tools/test/js_libs/tests/rngtest9.xml +8 -0
  96. data/tools/test/js_libs/ui.css +333 -0
  97. data/tools/test/js_libs/ui.html +168 -0
  98. data/tools/test/js_libs/ui.js +177 -0
  99. data/tools/test/js_libs/underscore.min.js +27 -0
  100. data/tools/test/js_libs/util.js +81 -0
  101. data/tools/test/js_libs/vkbeautify.0.99.00.beta.js +358 -0
  102. data/tools/test/js_libs/vkbeautify.js +1 -0
  103. data/tools/test/js_libs/webcomponents.min.js +196 -0
  104. data/tools/test/model.html +192 -0
  105. data/tools/test/rngs/attributes.rng +8 -0
  106. data/tools/test/rngs/dataelements.rng +8 -0
  107. data/tools/test/rngs/endpoints.rng +8 -0
  108. data/tools/test/templates.legacy/Async.xml +46 -0
  109. data/tools/test/templates.legacy/BCO.xml +70 -0
  110. data/tools/test/templates.legacy/BCS.xml +70 -0
  111. data/tools/test/templates.legacy/Centurio.xml +75 -0
  112. data/tools/test/templates.legacy/Concurrent.xml +40 -0
  113. data/tools/test/templates.legacy/Coopis Testset.xml +76 -0
  114. data/tools/test/templates.legacy/Endpoints and Data Manipulation.xml +30 -0
  115. data/tools/test/templates.legacy/ICSOC Testset.xml +95 -0
  116. data/tools/test/templates.legacy/Infinity.xml +28 -0
  117. data/tools/test/templates.legacy/Lego Boxer.xml +31 -0
  118. data/tools/test/templates.legacy/Lego Conveyor.xml +31 -0
  119. data/tools/test/templates.legacy/Lego Crane.xml +87 -0
  120. data/tools/test/templates.legacy/Lego Ejector.xml +55 -0
  121. data/tools/test/templates.legacy/Lego Full.xml +142 -0
  122. data/tools/test/templates.legacy/Lego Liddy.xml +40 -0
  123. data/tools/test/templates.legacy/Lego Plate.xml +31 -0
  124. data/tools/test/templates.legacy/Lego Transporter.xml +43 -0
  125. data/tools/test/templates.legacy/Lego_Part_1.xml +85 -0
  126. data/tools/test/templates.legacy/LgLinear.xml +65 -0
  127. data/tools/test/templates.legacy/Linear.xml +77 -0
  128. data/tools/test/templates.legacy/Log.xml +117 -0
  129. data/tools/test/templates.legacy/Mangler 1.xml +87 -0
  130. data/tools/test/templates.legacy/Mangler 2.xml +103 -0
  131. data/tools/test/templates.legacy/Manuel Labels.xml +55 -0
  132. data/tools/test/templates.legacy/Promise.xml +275 -0
  133. data/tools/test/templates.legacy/SOPROMO Test Sonification.xml +83 -0
  134. data/tools/test/templates.legacy/Subprocess.xml +56 -0
  135. data/tools/test/templates.legacy/Syncing P34 1.xml +77 -0
  136. data/tools/test/templates.legacy/Syncing P34 2.xml +77 -0
  137. data/tools/test/templates.legacy/Syncing P34 3.xml +77 -0
  138. data/tools/test/templates.legacy/Syncing P34.xml +77 -0
  139. data/tools/test/templates.legacy/TEST - Bad Loop.xml +173 -0
  140. data/tools/test/templates.legacy/TEST - Wrong Positions.xml +174 -0
  141. data/tools/test/templates.legacy/Take_5.xml +48 -0
  142. data/tools/test/templates.legacy/Update.xml +32 -0
  143. data/tools/test/templates.legacy/Worklist Parallel.xml +104 -0
  144. data/tools/test/templates.legacy/Worklist Test CPEE.xml +40 -0
  145. data/tools/test/templates.legacy/Worklist Test.xml +42 -0
  146. data/tools/test/templates.legacy/Worklist Test2.xml +43 -0
  147. data/tools/test/templates.legacy/convert_cpee2.rb +15 -0
  148. data/tools/test/templates.legacy/convert_preset.rb +32 -0
  149. data/tools/test/templates.legacy/testsets.xml +37 -0
  150. data/tools/test/templates.legacy/transformations.xml +4 -0
  151. data/tools/test/templates/Coopis 2010.xml +76 -0
  152. data/tools/test/templates/IUPC arXiv:1104.3609 P34 1.xml +77 -0
  153. data/tools/test/templates/IUPC arXiv:1104.3609 P34 2.xml +77 -0
  154. data/tools/test/templates/IUPC arXiv:1104.3609 P34 3.xml +77 -0
  155. data/tools/test/templates/Track Test Local.xml +82 -0
  156. data/tools/test/templates/Track Test.xml +82 -0
  157. data/tools/test/templates/UR-VUE 2020 Manual Adjust.xml +182 -0
  158. data/tools/test/templates/UR-VUE 2020 Solution Baseline.xml +203 -0
  159. data/tools/test/templates/UR-VUE 2020 Solution NN.xml +197 -0
  160. data/tools/test/templates/UR-VUE 2020 Solution View.xml +151 -0
  161. data/tools/test/templates/UR-VUE 2020.xml +26 -0
  162. data/tools/test/templates/Worklist.xml +42 -0
  163. data/tools/test/templates/instantiate.local/Take_Sub.xml +59 -0
  164. data/tools/test/templates/instantiate/Take_Perf.xml +46 -0
  165. data/tools/test/templates/instantiate/Take_Sub.xml +58 -0
  166. data/tools/test/templates/instantiate/Take_X.xml +48 -0
  167. data/tools/test/themes/compact/theme.js +1285 -0
  168. data/tools/test/themes/diana/theme.js +1650 -0
  169. data/tools/test/themes/extended/theme.js +1325 -0
  170. data/tools/test/themes/model/rngs/alternative.rng +1 -0
  171. data/tools/test/themes/model/rngs/call.rng +67 -0
  172. data/tools/test/themes/model/rngs/callmanipulate.rng +72 -0
  173. data/tools/test/themes/model/rngs/choose.rng +1 -0
  174. data/tools/test/themes/model/rngs/critical.rng +1 -0
  175. data/tools/test/themes/model/rngs/escape.rng +1 -0
  176. data/tools/test/themes/model/rngs/group.rng +1 -0
  177. data/tools/test/themes/model/rngs/loop.rng +1 -0
  178. data/tools/test/themes/model/rngs/manipulate.rng +1 -0
  179. data/tools/test/themes/model/rngs/otherwise.rng +1 -0
  180. data/tools/test/themes/model/rngs/parallel.rng +1 -0
  181. data/tools/test/themes/model/rngs/parallel_branch.rng +1 -0
  182. data/tools/test/themes/model/rngs/scripts.rng +7 -0
  183. data/tools/test/themes/model/rngs/stop.rng +1 -0
  184. data/tools/test/themes/model/rngs/terminate.rng +1 -0
  185. data/tools/test/themes/model/theme.js +1268 -0
  186. data/tools/test/themes/packed/theme.js +1286 -0
  187. data/tools/test/themes/preset/rngs/alternative.rng +25 -0
  188. data/tools/test/themes/preset/rngs/call.rng +122 -0
  189. data/tools/test/themes/preset/rngs/callmanipulate.rng +145 -0
  190. data/tools/test/themes/preset/rngs/choose.rng +14 -0
  191. data/tools/test/themes/preset/rngs/closed_loop.rng +62 -0
  192. data/tools/test/themes/preset/rngs/closed_loop_cancel.rng +5 -0
  193. data/tools/test/themes/preset/rngs/closed_loop_control.rng +31 -0
  194. data/tools/test/themes/preset/rngs/closed_loop_measuring.rng +12 -0
  195. data/tools/test/themes/preset/rngs/critical.rng +5 -0
  196. data/tools/test/themes/preset/rngs/escape.rng +1 -0
  197. data/tools/test/themes/preset/rngs/group.rng +3 -0
  198. data/tools/test/themes/preset/rngs/loop.rng +22 -0
  199. data/tools/test/themes/preset/rngs/manipulate.rng +9 -0
  200. data/tools/test/themes/preset/rngs/otherwise.rng +22 -0
  201. data/tools/test/themes/preset/rngs/parallel.rng +21 -0
  202. data/tools/test/themes/preset/rngs/parallel_branch.rng +8 -0
  203. data/tools/test/themes/preset/rngs/scripts.rng +23 -0
  204. data/tools/test/themes/preset/rngs/stop.rng +5 -0
  205. data/tools/test/themes/preset/rngs/terminate.rng +1 -0
  206. data/tools/test/themes/preset/symbols/alternative.svg +5 -0
  207. data/tools/test/themes/preset/symbols/arrow.svg +3 -0
  208. data/tools/test/themes/preset/symbols/call.svg +6 -0
  209. data/tools/test/themes/preset/symbols/callmanipulate.svg +8 -0
  210. data/tools/test/themes/preset/symbols/choose.svg +5 -0
  211. data/tools/test/themes/preset/symbols/choose_exclusive.svg +5 -0
  212. data/tools/test/themes/preset/symbols/choose_inclusive.svg +4 -0
  213. data/tools/test/themes/preset/symbols/closed_loop.svg +5 -0
  214. data/tools/test/themes/preset/symbols/closed_loop_cancel.svg +5 -0
  215. data/tools/test/themes/preset/symbols/closed_loop_control.svg +5 -0
  216. data/tools/test/themes/preset/symbols/closed_loop_measuring.svg +6 -0
  217. data/tools/test/themes/preset/symbols/complex.svg +8 -0
  218. data/tools/test/themes/preset/symbols/critical.svg +4 -0
  219. data/tools/test/themes/preset/symbols/end.svg +3 -0
  220. data/tools/test/themes/preset/symbols/escape.svg +5 -0
  221. data/tools/test/themes/preset/symbols/event_end.svg +3 -0
  222. data/tools/test/themes/preset/symbols/loop.svg +5 -0
  223. data/tools/test/themes/preset/symbols/manipulate.svg +4 -0
  224. data/tools/test/themes/preset/symbols/otherwise.svg +5 -0
  225. data/tools/test/themes/preset/symbols/parallel.svg +5 -0
  226. data/tools/test/themes/preset/symbols/parallel_branch.svg +5 -0
  227. data/tools/test/themes/preset/symbols/parallel_branch_compact.svg +4 -0
  228. data/tools/test/themes/preset/symbols/parallel_branch_event.svg +14 -0
  229. data/tools/test/themes/preset/symbols/parallel_branch_normal.svg +5 -0
  230. data/tools/test/themes/preset/symbols/scripts.svg +4 -0
  231. data/tools/test/themes/preset/symbols/start.svg +3 -0
  232. data/tools/test/themes/preset/symbols/stop.svg +5 -0
  233. data/tools/test/themes/preset/symbols/terminate.svg +4 -0
  234. data/tools/test/themes/preset/theme.js +1287 -0
  235. data/tools/test/track.html +142 -0
  236. metadata +221 -2
@@ -0,0 +1,82 @@
1
+ <testset xmlns="http://cpee.org/ns/properties/2.0">
2
+ <dataelements>
3
+ <i>0</i>
4
+ </dataelements>
5
+ <handlerwrapper>DefaultHandlerWrapper</handlerwrapper>
6
+ <endpoints>
7
+ <start_url>https://cpee.org/flow/start/url/</start_url>
8
+ </endpoints>
9
+ <positions/>
10
+ <description>
11
+ <description xmlns="http://cpee.org/ns/description/1.0">
12
+ <loop mode="pre_test" condition="true">
13
+ <parallel wait="-1">
14
+ <loop mode="pre_test" condition="data.i &lt; 4">
15
+ <_probability>
16
+ <_probability_min/>
17
+ <_probability_max/>
18
+ <_probability_avg/>
19
+ </_probability>
20
+ <parallel_branch pass="" local="">
21
+ <call id="a1" endpoint="start_url">
22
+ <parameters>
23
+ <label>Start</label>
24
+ <method>:post</method>
25
+ <arguments>
26
+ <behavior>wait_running</behavior>
27
+ <url>https://cpee.org/flow/templates/instantiate/Take_Sub.xml</url>
28
+ <init>
29
+ <time>4</time>
30
+ </init>
31
+ <endpoints/>
32
+ <stream/>
33
+ </arguments>
34
+ <stream>
35
+ <sensors/>
36
+ <aggregators/>
37
+ <costs/>
38
+ </stream>
39
+ <report>
40
+ <url/>
41
+ </report>
42
+ </parameters>
43
+ <annotations>
44
+ <_timing>
45
+ <_timing_wait/>
46
+ <_timing_threshold/>
47
+ <_timing_min/>
48
+ <_timing_max/>
49
+ <_timing_avg/>
50
+ </_timing>
51
+ <_notes>
52
+ <_notes_general/>
53
+ </_notes>
54
+ </annotations>
55
+ </call>
56
+ </parallel_branch>
57
+ <manipulate id="a4" label="">data.i += 1</manipulate>
58
+ </loop>
59
+ </parallel>
60
+ <manipulate id="a3" label="">data.i = 0</manipulate>
61
+ <_probability>
62
+ <_probability_min/>
63
+ <_probability_max/>
64
+ <_probability_avg/>
65
+ </_probability>
66
+ <stop id="a2"/>
67
+ </loop>
68
+ </description>
69
+ </description>
70
+ <transformation>
71
+ <description type="copy"/>
72
+ <dataelements type="none"/>
73
+ <endpoints type="none"/>
74
+ </transformation>
75
+ <attributes>
76
+ <info>Track Test</info>
77
+ <modeltype>CPEE</modeltype>
78
+ <theme>default</theme>
79
+ <customer>pilotfabrik</customer>
80
+ <status>development</status>
81
+ </attributes>
82
+ </testset>
@@ -0,0 +1,182 @@
1
+ <testset xmlns="http://cpee.org/ns/properties/2.0">
2
+ <dataelements/>
3
+ <handlerwrapper>DefaultHandlerWrapper</handlerwrapper>
4
+ <endpoints>
5
+ <overview>http-put://ryloth.wst.univie.ac.at:9329/move/overview</overview>
6
+ <move_tool>http-put://ryloth.wst.univie.ac.at:9329/move/position/point</move_tool>
7
+ <move_camera>http-put://ryloth.wst.univie.ac.at:9329/move/position/view</move_camera>
8
+ <get_items_base>http-get://ryloth.wst.univie.ac.at:9329/view/items</get_items_base>
9
+ <get_items_neural>http-get://ryloth.wst.univie.ac.at:9330/view/items</get_items_neural>
10
+ <get_offset_base>http-get://ryloth.wst.univie.ac.at:9329/view/details</get_offset_base>
11
+ <get_offset_neural>http-get://ryloth.wst.univie.ac.at:9330/view/details</get_offset_neural>
12
+ <grip_and_place>http-put://ryloth.wst.univie.ac.at:9329/move/grip_and_place</grip_and_place>
13
+ <move_rel>http-put://ryloth.wst.univie.ac.at:9329/move/position/relative</move_rel>
14
+ </endpoints>
15
+ <description>
16
+ <description xmlns="http://cpee.org/ns/description/1.0">
17
+ <call id="a6" endpoint="get_offset_base">
18
+ <parameters>
19
+ <label>Get first offset</label>
20
+ <arguments/>
21
+ <stream>
22
+ <sensors/>
23
+ <aggregators/>
24
+ <costs/>
25
+ </stream>
26
+ </parameters>
27
+ <code>
28
+ <prepare/>
29
+ <finalize output="result">data.direction_first = result
30
+ data.direction_first['x'] = data.direction_first['dir_x'] * 6
31
+ data.direction_first['y'] = data.direction_first['dir_y'] * 6</finalize>
32
+ <update output="result"/>
33
+ <rescue output="result"/>
34
+ </code>
35
+ <annotations>
36
+ <_timing>
37
+ <_timing_wait/>
38
+ <_timing_threshold/>
39
+ <_timing_min/>
40
+ <_timing_max/>
41
+ <_timing_avg/>
42
+ </_timing>
43
+ <_notes>
44
+ <_notes_general/>
45
+ </_notes>
46
+ </annotations>
47
+ </call>
48
+ <call id="a10" endpoint="move_rel">
49
+ <parameters>
50
+ <label>Move closer</label>
51
+ <arguments>
52
+ <x>!data.direction_first['x']</x>
53
+ <y>!data.direction_first['y']</y>
54
+ </arguments>
55
+ <stream>
56
+ <sensors/>
57
+ <aggregators/>
58
+ <costs/>
59
+ </stream>
60
+ </parameters>
61
+ <annotations>
62
+ <_timing>
63
+ <_timing_wait/>
64
+ <_timing_threshold/>
65
+ <_timing_min/>
66
+ <_timing_max/>
67
+ <_timing_avg/>
68
+ </_timing>
69
+ <_notes>
70
+ <_notes_general/>
71
+ </_notes>
72
+ </annotations>
73
+ </call>
74
+ <call id="a17" endpoint="get_offset_base">
75
+ <parameters>
76
+ <label>Get second offset and calc distance</label>
77
+ <arguments/>
78
+ <stream>
79
+ <sensors/>
80
+ <aggregators/>
81
+ <costs/>
82
+ </stream>
83
+ </parameters>
84
+ <code>
85
+ <prepare/>
86
+ <finalize output="result">data.direction_second = result
87
+ if (data.direction_first['dir_x'] * data.direction_second['dir_x'] &gt;= 0)
88
+ data.traveled = data.direction_first['len'] - data.direction_second['len']
89
+ else
90
+ data.traveled = data.direction_first['len'] + data.direction_second['len']
91
+ end
92
+ data.len = data.direction_second['len'] / (data.traveled / 6)
93
+ data.direction_second['x'] = data.direction_second['dir_x'] * data.len
94
+ data.direction_second['y'] = data.direction_second['dir_y'] * data.len</finalize>
95
+ <update output="result"/>
96
+ <rescue output="result"/>
97
+ </code>
98
+ <annotations>
99
+ <_timing>
100
+ <_timing_wait/>
101
+ <_timing_threshold/>
102
+ <_timing_min/>
103
+ <_timing_max/>
104
+ <_timing_avg/>
105
+ </_timing>
106
+ <_notes>
107
+ <_notes_general/>
108
+ </_notes>
109
+ </annotations>
110
+ </call>
111
+ <call id="a12" endpoint="move_rel">
112
+ <parameters>
113
+ <label>Move closer</label>
114
+ <arguments>
115
+ <x>!data.direction_second['x']</x>
116
+ <y>!data.direction_second['y']</y>
117
+ </arguments>
118
+ <stream>
119
+ <sensors/>
120
+ <aggregators/>
121
+ <costs/>
122
+ </stream>
123
+ </parameters>
124
+ <annotations>
125
+ <_timing>
126
+ <_timing_wait/>
127
+ <_timing_threshold/>
128
+ <_timing_min/>
129
+ <_timing_max/>
130
+ <_timing_avg/>
131
+ </_timing>
132
+ <_notes>
133
+ <_notes_general/>
134
+ </_notes>
135
+ </annotations>
136
+ </call>
137
+ <call id="a2" endpoint="get_offset_base">
138
+ <parameters>
139
+ <label>Investigate Precision</label>
140
+ <arguments/>
141
+ <stream>
142
+ <sensors/>
143
+ <aggregators/>
144
+ <costs/>
145
+ </stream>
146
+ </parameters>
147
+ <code>
148
+ <prepare/>
149
+ <finalize output="result">data.direction_third = result</finalize>
150
+ <update output="result"/>
151
+ <rescue output="result">'Oh no!'</rescue>
152
+ </code>
153
+ <annotations>
154
+ <_timing>
155
+ <_timing_wait/>
156
+ <_timing_threshold/>
157
+ <_timing_min/>
158
+ <_timing_max/>
159
+ <_timing_avg/>
160
+ </_timing>
161
+ <_notes>
162
+ <_notes_general/>
163
+ </_notes>
164
+ </annotations>
165
+ </call>
166
+ <manipulate id="a11" label="Calculate new position">data.item = {}
167
+ data.item['adjust_x'] = (data.direction_first['x'] + data.direction_second['x']).round(0)
168
+ data.item['adjust_y'] = (data.direction_first['y'] + data.direction_second['y']).round(0)</manipulate>
169
+ </description>
170
+ </description>
171
+ <transformation>
172
+ <description type="copy"/>
173
+ <dataelements type="none"/>
174
+ <endpoints type="none"/>
175
+ </transformation>
176
+ <attributes>
177
+ <info>UR-VUE 2020 Manual Adjust</info>
178
+ <modeltype>CPEE</modeltype>
179
+ <theme>preset</theme>
180
+ <resource>ur51</resource>
181
+ </attributes>
182
+ </testset>
@@ -0,0 +1,203 @@
1
+ <testset xmlns="http://cpee.org/ns/properties/2.0">
2
+ <dataelements>
3
+ <places>[[0,0],[1,0],[0,1],[1,1],[0,2],[1,2],[0,3],[1,3],[0,4],[1,4],[0,5],[1,5]]</places>
4
+ </dataelements>
5
+ <handlerwrapper>DefaultHandlerWrapper</handlerwrapper>
6
+ <handlers>
7
+ <handler url="http://tango.wst.univie.ac.at:9332">
8
+ <votes topic='state'>change</votes>
9
+ <events topic='state'>change</events>
10
+ <events topic='task'>instantiation</events>
11
+ </handler>
12
+ </handlers>
13
+ <endpoints>
14
+ <overview>http-put://ryloth.wst.univie.ac.at:9329/move/overview</overview>
15
+ <move_tool>http-put://ryloth.wst.univie.ac.at:9329/move/position/point</move_tool>
16
+ <move_camera>http-put://ryloth.wst.univie.ac.at:9329/move/position/view</move_camera>
17
+ <get_items_base>http-get://ryloth.wst.univie.ac.at:9329/view/items</get_items_base>
18
+ <get_items_neural>http-get://ryloth.wst.univie.ac.at:9330/view/items</get_items_neural>
19
+ <get_offset_base>http-get://ryloth.wst.univie.ac.at:9329/view/details</get_offset_base>
20
+ <get_offset_neural>http-get://ryloth.wst.univie.ac.at:9330/view/details</get_offset_neural>
21
+ <grip_and_place>http-put://ryloth.wst.univie.ac.at:9329/move/grip_and_place</grip_and_place>
22
+ <subprocess>https://cpee.org/flow/start/url/</subprocess>
23
+ </endpoints>
24
+ <description>
25
+ <description xmlns="http://cpee.org/ns/description/1.0">
26
+ <loop mode="pre_test" condition="data.places.length &gt; 0">
27
+ <_probability>
28
+ <_probability_min/>
29
+ <_probability_max/>
30
+ <_probability_avg/>
31
+ </_probability>
32
+ <call id="a1" endpoint="overview">
33
+ <parameters>
34
+ <label>Move to overview position</label>
35
+ <arguments/>
36
+ <stream>
37
+ <sensors/>
38
+ <aggregators/>
39
+ <costs/>
40
+ </stream>
41
+ </parameters>
42
+ <annotations>
43
+ <_timing>
44
+ <_timing_wait/>
45
+ <_timing_threshold/>
46
+ <_timing_min/>
47
+ <_timing_max/>
48
+ <_timing_avg/>
49
+ </_timing>
50
+ <_notes>
51
+ <_notes_general/>
52
+ </_notes>
53
+ </annotations>
54
+ </call>
55
+ <call id="a3" endpoint="get_items_base">
56
+ <parameters>
57
+ <label>Get item positions</label>
58
+ <arguments/>
59
+ <stream>
60
+ <sensors/>
61
+ <aggregators/>
62
+ <costs/>
63
+ </stream>
64
+ </parameters>
65
+ <code>
66
+ <prepare/>
67
+ <finalize output="result">data.items = result</finalize>
68
+ <update output="result"/>
69
+ <rescue output="result"/>
70
+ </code>
71
+ <annotations>
72
+ <_timing>
73
+ <_timing_wait/>
74
+ <_timing_threshold/>
75
+ <_timing_min/>
76
+ <_timing_max/>
77
+ <_timing_avg/>
78
+ </_timing>
79
+ <_notes>
80
+ <_notes_general/>
81
+ </_notes>
82
+ </annotations>
83
+ </call>
84
+ <choose mode="exclusive">
85
+ <alternative condition="data.items.length &gt; 0">
86
+ <call id="a5" endpoint="move_camera">
87
+ <parameters>
88
+ <label>Inspect first item</label>
89
+ <arguments>
90
+ <x>!data.items.first['x']</x>
91
+ <y>!data.items.first['y']</y>
92
+ </arguments>
93
+ <stream>
94
+ <sensors/>
95
+ <aggregators/>
96
+ <costs/>
97
+ </stream>
98
+ </parameters>
99
+ <annotations>
100
+ <_timing>
101
+ <_timing_wait/>
102
+ <_timing_threshold/>
103
+ <_timing_min/>
104
+ <_timing_max/>
105
+ <_timing_avg/>
106
+ </_timing>
107
+ <_notes>
108
+ <_notes_general/>
109
+ </_notes>
110
+ </annotations>
111
+ </call>
112
+ <call id="a2" endpoint="subprocess">
113
+ <parameters>
114
+ <label>Adjust</label>
115
+ <method>:post</method>
116
+ <arguments>
117
+ <behavior>wait_running</behavior>
118
+ <url>https://cpee.org/flow/templates/UR-VUE%202020%20Manual%20Adjust.xml</url>
119
+ <init/>
120
+ <endpoints/>
121
+ <stream/>
122
+ </arguments>
123
+ <stream>
124
+ <sensors/>
125
+ <aggregators/>
126
+ <costs/>
127
+ </stream>
128
+ </parameters>
129
+ <code>
130
+ <prepare/>
131
+ <finalize output="result">data.place = data.places.shift
132
+ data.item = result['item']
133
+ data.item['x'] = data.items.first['x'] + data.item['adjust_x']
134
+ data.item['y'] = data.items.first['y'] + data.item['adjust_y']</finalize>
135
+ <update output="result"/>
136
+ <rescue output="result"/>
137
+ </code>
138
+ <annotations>
139
+ <_timing>
140
+ <_timing_wait/>
141
+ <_timing_threshold/>
142
+ <_timing_min/>
143
+ <_timing_max/>
144
+ <_timing_avg/>
145
+ </_timing>
146
+ <_notes>
147
+ <_notes_general/>
148
+ </_notes>
149
+ </annotations>
150
+ </call>
151
+ <call id="a8" endpoint="grip_and_place">
152
+ <parameters>
153
+ <label>Grip and Place</label>
154
+ <arguments>
155
+ <x>!data.item['x']</x>
156
+ <y>!data.item['y']</y>
157
+ <place_x>!data.place[0]</place_x>
158
+ <place_y>!data.place[1]</place_y>
159
+ </arguments>
160
+ <stream>
161
+ <sensors/>
162
+ <aggregators/>
163
+ <costs/>
164
+ </stream>
165
+ </parameters>
166
+ <annotations>
167
+ <_timing>
168
+ <_timing_wait/>
169
+ <_timing_threshold/>
170
+ <_timing_min/>
171
+ <_timing_max/>
172
+ <_timing_avg/>
173
+ </_timing>
174
+ <_notes>
175
+ <_notes_general/>
176
+ </_notes>
177
+ </annotations>
178
+ </call>
179
+ <_probability>
180
+ <_probability_min/>
181
+ <_probability_max/>
182
+ <_probability_avg/>
183
+ </_probability>
184
+ </alternative>
185
+ <otherwise>
186
+ <terminate/>
187
+ </otherwise>
188
+ </choose>
189
+ </loop>
190
+ </description>
191
+ </description>
192
+ <transformation>
193
+ <description type="copy"/>
194
+ <dataelements type="none"/>
195
+ <endpoints type="none"/>
196
+ </transformation>
197
+ <attributes>
198
+ <info>UR-VUE 2020 Solution Baseline</info>
199
+ <modeltype>CPEE</modeltype>
200
+ <theme>preset</theme>
201
+ <resource>ur51</resource>
202
+ </attributes>
203
+ </testset>