cpee 1.5.24 → 1.5.25

Sign up to get free protection for your applications and to get access to all the features.
Files changed (88) hide show
  1. checksums.yaml +4 -4
  2. data/cockpit/index.html +2 -2
  3. data/cockpit/js/instance.js +6 -6
  4. data/cockpit/rngs/attributes.rng +2 -2
  5. data/cockpit/rngs/dataelements.rng +2 -2
  6. data/cockpit/rngs/endpoints.rng +2 -2
  7. data/cockpit/{testsets → templates.legacy}/Async.xml +0 -0
  8. data/cockpit/{testsets → templates.legacy}/BCO.xml +0 -0
  9. data/cockpit/{testsets → templates.legacy}/BCS.xml +0 -0
  10. data/cockpit/{testsets → templates.legacy}/Centurio.xml +0 -0
  11. data/cockpit/{testsets → templates.legacy}/Concurrent.xml +0 -0
  12. data/cockpit/testsets/Coopis Testset.xml b/data/cockpit/templates.legacy/Coopis → Testset.xml +0 -0
  13. data/cockpit/testsets/Endpoints and Data Manipulation.xml b/data/cockpit/templates.legacy/Endpoints and Data → Manipulation.xml +0 -0
  14. data/cockpit/testsets/ICSOC Testset.xml b/data/cockpit/templates.legacy/ICSOC → Testset.xml +0 -0
  15. data/cockpit/{testsets → templates.legacy}/Infinity.xml +0 -0
  16. data/cockpit/testsets/Lego Boxer.xml b/data/cockpit/templates.legacy/Lego → Boxer.xml +0 -0
  17. data/cockpit/testsets/Lego Conveyor.xml b/data/cockpit/templates.legacy/Lego → Conveyor.xml +0 -0
  18. data/cockpit/testsets/Lego Crane.xml b/data/cockpit/templates.legacy/Lego → Crane.xml +0 -0
  19. data/cockpit/testsets/Lego Ejector.xml b/data/cockpit/templates.legacy/Lego → Ejector.xml +0 -0
  20. data/cockpit/testsets/Lego Full.xml b/data/cockpit/templates.legacy/Lego → Full.xml +0 -0
  21. data/cockpit/testsets/Lego Liddy.xml b/data/cockpit/templates.legacy/Lego → Liddy.xml +0 -0
  22. data/cockpit/testsets/Lego Plate.xml b/data/cockpit/templates.legacy/Lego → Plate.xml +0 -0
  23. data/cockpit/testsets/Lego Transporter.xml b/data/cockpit/templates.legacy/Lego → Transporter.xml +0 -0
  24. data/cockpit/{testsets → templates.legacy}/Lego_Part_1.xml +0 -0
  25. data/cockpit/{testsets → templates.legacy}/LgLinear.xml +0 -0
  26. data/cockpit/{testsets → templates.legacy}/Linear.xml +0 -0
  27. data/cockpit/{testsets → templates.legacy}/Log.xml +0 -0
  28. data/cockpit/testsets/Mangler 1.xml b/data/cockpit/templates.legacy/Mangler → 1.xml +0 -0
  29. data/cockpit/testsets/Mangler 2.xml b/data/cockpit/templates.legacy/Mangler → 2.xml +0 -0
  30. data/cockpit/testsets/Manuel Labels.xml b/data/cockpit/templates.legacy/Manuel → Labels.xml +0 -0
  31. data/cockpit/{testsets → templates.legacy}/Promise.xml +0 -0
  32. data/cockpit/testsets/SOPROMO Test Sonification.xml b/data/cockpit/templates.legacy/SOPROMO Test → Sonification.xml +0 -0
  33. data/cockpit/testsets/Syncing P34 1.xml b/data/cockpit/templates.legacy/Syncing P34 → 1.xml +0 -0
  34. data/cockpit/testsets/Syncing P34 2.xml b/data/cockpit/templates.legacy/Syncing P34 → 2.xml +0 -0
  35. data/cockpit/testsets/Syncing P34 3.xml b/data/cockpit/templates.legacy/Syncing P34 → 3.xml +0 -0
  36. data/cockpit/testsets/Syncing P34.xml b/data/cockpit/templates.legacy/Syncing → P34.xml +0 -0
  37. data/cockpit/testsets/TEST - Bad Loop.xml b/data/cockpit/templates.legacy/TEST - Bad → Loop.xml +0 -0
  38. data/cockpit/testsets/TEST - Wrong Positions.xml b/data/cockpit/templates.legacy/TEST - Wrong → Positions.xml +0 -0
  39. data/cockpit/{testsets → templates.legacy}/Update.xml +0 -0
  40. data/cockpit/testsets/Worklist Parallel.xml b/data/cockpit/templates.legacy/Worklist → Parallel.xml +0 -0
  41. data/cockpit/testsets/Worklist Test CPEE.xml b/data/cockpit/templates.legacy/Worklist Test → CPEE.xml +0 -0
  42. data/cockpit/testsets/Worklist Test.xml b/data/cockpit/templates.legacy/Worklist → Test.xml +0 -0
  43. data/cockpit/testsets/Worklist Test2.xml b/data/cockpit/templates.legacy/Worklist → Test2.xml +0 -0
  44. data/cockpit/{testsets → templates.legacy}/convert_preset.rb +0 -0
  45. data/cockpit/{testsets → templates.legacy}/testsets.xml +0 -0
  46. data/cockpit/{testsets → templates.legacy}/transformations.xml +0 -0
  47. data/cockpit/templates/BPM 2020 Manual Adjust.xml +235 -0
  48. data/cockpit/templates/BPM 2020 Solution Baseline.xml +250 -0
  49. data/cockpit/templates/BPM 2020 Solution NN.xml +243 -0
  50. data/cockpit/templates/BPM 2020 Solution View.xml +200 -0
  51. data/cockpit/templates/BPM 2020.xml +15 -0
  52. data/cockpit/templates/Coopis 2010.xml +76 -0
  53. data/cockpit/templates/IUPC arXiv:1104.3609 P34 1.xml +80 -0
  54. data/cockpit/templates/IUPC arXiv:1104.3609 P34 2.xml +80 -0
  55. data/cockpit/templates/IUPC arXiv:1104.3609 P34 3.xml +80 -0
  56. data/cockpit/{testsets/Take_5.xml → templates/Worklist.xml} +15 -21
  57. data/cockpit/templates/convert_preset.rb +32 -0
  58. data/cockpit/templates/testsets.xml +11 -0
  59. data/cockpit/templates/transformations.xml +4 -0
  60. data/cockpit/themes/compact/rngs/call.rng +6 -0
  61. data/cockpit/themes/compact/rngs/callmanipulate.rng +6 -0
  62. data/cockpit/themes/compact/theme.js +1 -1
  63. data/cockpit/themes/default/theme.js +1 -1
  64. data/cockpit/themes/extended/rngs/call.rng +6 -0
  65. data/cockpit/themes/extended/rngs/callmanipulate.rng +6 -0
  66. data/cockpit/themes/extended/theme.js +7 -22
  67. data/cockpit/themes/model/theme.js +1 -1
  68. data/cockpit/themes/packed/rngs/call.rng +6 -0
  69. data/cockpit/themes/packed/rngs/callmanipulate.rng +6 -0
  70. data/cockpit/themes/packed/theme.js +1 -1
  71. data/cockpit/themes/preset/rngs/call.rng +6 -0
  72. data/cockpit/themes/preset/rngs/callmanipulate.rng +6 -0
  73. data/cockpit/themes/preset/theme.js +1 -1
  74. data/cpee.gemspec +1 -1
  75. data/lib/cpee/controller.rb +1 -1
  76. data/log/sic.rb +1 -0
  77. data/server/handlerwrappers/default.rb +1 -1
  78. data/tools/instantiation/instantiation +1 -0
  79. data/tools/server/server.rb +1 -0
  80. metadata +55 -51
  81. data/cockpit/test.html +0 -40
  82. data/cockpit/testsets/Subprocess.xml +0 -56
  83. data/server/resources/notifications/logging/consumer-secret +0 -1
  84. data/server/resources/notifications/logging/producer-secret +0 -1
  85. data/server/resources/notifications/logging/subscription.xml +0 -19
  86. data/server/resources/test1.xml +0 -58
  87. data/server/resources/test2.xml +0 -60
  88. data/server/resources/test3.xml +0 -217
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: c202a4a42d4e886fa9899514f6e4490943276739bc9ca61196f2e8c5a407ef3f
4
- data.tar.gz: 3b07b85f227d87aef3ffd78a5afd2b975f20cc7ebf15bf8ca416f5443e2e0de8
3
+ metadata.gz: 37efc8a4ee5d0180cb006297e5948408f7c1772b9f8fc2a87d1612b7d59caf06
4
+ data.tar.gz: 77d0bec7010653f12b05ef43a1f585c3207fe45a07fddb28c3fb6f4e411a107e
5
5
  SHA512:
6
- metadata.gz: 39bc0af5d72254412377b210c14aa1b8929b40cd74be68f442e6aa0184fbaf89fed360433a47d1458ce3a6feef721b30e931007dc3db58006d85a2930e32d5f1
7
- data.tar.gz: 3a1eb0511449d32b1d275d0a5648d194a252b09d371e2d619b78d9e9753c5c744c33cd44015c807382107873e5f48a537a371fa0a0e83f869abdad892d0b69ca
6
+ metadata.gz: 6c3985ee99ff71092829163a58fed998a6095df1c34bd50d9172d607894ff43ff7e47de0c0ceceab0cf67ee8eefb9d1b67973f3bec3ccd6019fc67e2a84ff3cb
7
+ data.tar.gz: 879610b214fbd73ba364936ee83f75a63921d058966ba37e5308b44e8f164cf4029afbe0211c0a01aa322a6fa96ce3518b03971345c814809ecc91f70934f946
@@ -112,7 +112,7 @@
112
112
 
113
113
  <div class='hidden' id='relaxngworker'></div>
114
114
 
115
- <div class='menu' id='predefinedtestsets'></div>
115
+ <div class='menu' id='templates'></div>
116
116
  <div class='menu' id='modeltypes'></div>
117
117
 
118
118
  <ui-tabbed id="instance">
@@ -149,7 +149,7 @@
149
149
  <form id='fuckchrome'>
150
150
  <input type='file' name='testsetfile' id='testsetfile'/>
151
151
  </form>
152
- <button title='a testset includes various settings, subscriptions and a model' name="loadtestset">load predefined testset</button><button title='a testset includes various settings, subscriptions and a model' name="loadtestsetfile">load testset file</button>
152
+ <button title='a testset includes various settings, subscriptions and a model' name="loadtestset">load template</button><button title='a testset includes various settings, subscriptions and a model' name="loadtestsetfile">load testset</button>
153
153
  </div>
154
154
  <div>
155
155
  <input type='file' name='modelfile' id='modelfile'/>
@@ -71,7 +71,7 @@ var sub_less = 'topic' + '=' + 'activity' + '&' +// {{{
71
71
  function cockpit() { //{{{
72
72
  $("button[name=base]").click(function(){ create_instance($("input[name=base-url]").val(),null,false,false); });
73
73
  $("button[name=instance]").click(function(){ ui_activate_tab("#tabinstance"); monitor_instance($("input[name=instance-url]").val(),$("input[name=res-url]").val(),false,false); });
74
- $("button[name=loadtestset]").click(function(e){new CustomMenu(e).menu($('#predefinedtestsets'),function(){ load_testset(false) } ); });
74
+ $("button[name=loadtestset]").click(function(e){new CustomMenu(e).menu($('#templates'),function(){ load_testset(false) } ); });
75
75
  $("button[name=loadtestsetfile]").click(load_testsetfile);
76
76
  $("button[name=loadmodelfile]").click(load_modelfile);
77
77
  $("button[name=loadmodeltype]").click(function(e){new CustomMenu(e).menu($('#modeltypes'),load_modeltype, $("button[name=loadmodeltype]")); });
@@ -91,7 +91,7 @@ function cockpit() { //{{{
91
91
  success: function(res){
92
92
  $('testset',res).each(function(){
93
93
  var ts = $(this).text();
94
- $('#predefinedtestsets').append($("<div class='menuitem'></div>").text(ts));
94
+ $('#templates').append($("<div class='menuitem'></div>").text(ts));
95
95
  });
96
96
  var q = $.parseQuerySimple();
97
97
  if (q.min || q.min == "") {
@@ -102,7 +102,7 @@ function cockpit() { //{{{
102
102
  if (q.load.match(/https?:\/\//)) {
103
103
  $('body').attr('load-testset',q.load);
104
104
  } else {
105
- $("#predefinedtestsets div.menuitem").each(function(k,v){
105
+ $("#templates div.menuitem").each(function(k,v){
106
106
  if ($(v).text() == q.load) { $(v).attr('data-selected','selected'); }
107
107
  });
108
108
  }
@@ -112,7 +112,7 @@ function cockpit() { //{{{
112
112
  if (q.load.match(/https?:\/\//)) {
113
113
  $('body').attr('load-testset',q.load);
114
114
  } else {
115
- $("#predefinedtestsets div.menuitem").each(function(k,v){
115
+ $("#templates div.menuitem").each(function(k,v){
116
116
  if ($(v).text() == q.load) { $(v).attr('data-selected','selected'); }
117
117
  });
118
118
  }
@@ -135,7 +135,7 @@ function cockpit() { //{{{
135
135
  if (q.exec.match(/https?:\/\//)) {
136
136
  $('body').attr('load-testset',q.load);
137
137
  } else {
138
- $("#predefinedtestsets div.menuitem").each(function(k,v){
138
+ $("#templates div.menuitem").each(function(k,v){
139
139
  if ($(v).text() == q.exec) { $(v).attr('data-selected','selected'); }
140
140
  });
141
141
  }
@@ -1001,7 +1001,7 @@ function load_testset(exec) {// {{{
1001
1001
  if (loading) return;
1002
1002
  loading = true;
1003
1003
 
1004
- var name = $("#predefinedtestsets div.menuitem[data-selected=selected]").text();
1004
+ var name = $("#templates div.menuitem[data-selected=selected]").text();
1005
1005
  var url;
1006
1006
  if (name) {
1007
1007
  url = $('body').attr('current-testsets') + name + ".xml";
@@ -1,8 +1,8 @@
1
1
  <element rngui:version="1.2" name="value" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes" xmlns="http://relaxng.org/ns/structure/1.0" xmlns:rngui="http://rngui.org">
2
2
  <zeroOrMore rngui:label="Create Attributes">
3
- <element rngui:label='Name'>
3
+ <element rngui:label='name'>
4
4
  <anyName/>
5
- <data type="string" rngui:label="Value"/>
5
+ <data type="string" rngui:label="value"/>
6
6
  </element>
7
7
  </zeroOrMore>
8
8
  </element>
@@ -1,8 +1,8 @@
1
1
  <element rngui:version="1.2" name="value" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes" xmlns="http://relaxng.org/ns/structure/1.0" xmlns:rngui="http://rngui.org">
2
2
  <zeroOrMore rngui:label="Create Data Element">
3
- <element rngui:label='Name'>
3
+ <element rngui:label='name'>
4
4
  <anyName/>
5
- <data type="string" rngui:label="Value"/>
5
+ <data type="string" rngui:label="value"/>
6
6
  </element>
7
7
  </zeroOrMore>
8
8
  </element>
@@ -1,8 +1,8 @@
1
1
  <element rngui:version="1.2" name="value" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes" xmlns="http://relaxng.org/ns/structure/1.0" xmlns:rngui="http://rngui.org">
2
2
  <zeroOrMore rngui:label="Create Endpoint">
3
- <element rngui:label='Name'>
3
+ <element rngui:label='name'>
4
4
  <anyName/>
5
- <data type="string" rngui:label="Value"/>
5
+ <data type="string" rngui:label="value"/>
6
6
  </element>
7
7
  </zeroOrMore>
8
8
  </element>
@@ -0,0 +1,235 @@
1
+ <testset>
2
+ <dataelements/>
3
+ <handlerwrapper>DefaultHandlerWrapper</handlerwrapper>
4
+ <endpoints>
5
+ <overview xmlns="http://riddl.org/ns/common-patterns/properties/1.0">http-put://tango.wst.univie.ac.at:9329/move/overview</overview>
6
+ <move_tool xmlns="http://riddl.org/ns/common-patterns/properties/1.0">http-put://tango.wst.univie.ac.at:9329/move/position/point</move_tool>
7
+ <move_camera xmlns="http://riddl.org/ns/common-patterns/properties/1.0">http-put://tango.wst.univie.ac.at:9329/move/position/view</move_camera>
8
+ <get_items_base xmlns="http://riddl.org/ns/common-patterns/properties/1.0">http-get://tango.wst.univie.ac.at:9329/view/items</get_items_base>
9
+ <get_items_neural xmlns="http://riddl.org/ns/common-patterns/properties/1.0">http-get://ryloth.wst.univie.ac.at:9330/view/items</get_items_neural>
10
+ <get_offset_base xmlns="http://riddl.org/ns/common-patterns/properties/1.0">http-get://tango.wst.univie.ac.at:9329/view/details</get_offset_base>
11
+ <get_offset_neural xmlns="http://riddl.org/ns/common-patterns/properties/1.0">http-get://ryloth.wst.univie.ac.at:9330/view/details</get_offset_neural>
12
+ <wait xmlns="http://riddl.org/ns/common-patterns/properties/1.0">http://gruppe.wst.univie.ac.at/~mangler/services/timeout.php</wait>
13
+ <grip_and_place xmlns="http://riddl.org/ns/common-patterns/properties/1.0">http-put://tango.wst.univie.ac.at:9329/move/grip_and_place</grip_and_place>
14
+ <move_rel xmlns="http://riddl.org/ns/common-patterns/properties/1.0">http-put://tango.wst.univie.ac.at:9329/move/position/relative</move_rel>
15
+ </endpoints>
16
+ <description>
17
+ <description xmlns="http://cpee.org/ns/description/1.0">
18
+ <call id="a6" endpoint="get_offset_base">
19
+ <parameters>
20
+ <label>Get first offset</label>
21
+ <arguments/>
22
+ <stream>
23
+ <sensors/>
24
+ <aggregators/>
25
+ <costs/>
26
+ </stream>
27
+ </parameters>
28
+ <code>
29
+ <prepare/>
30
+ <finalize output="result">data.direction_first = result
31
+ data.direction_first['x'] = data.direction_first['dir_x'] * 10
32
+ data.direction_first['y'] = data.direction_first['dir_y'] * 10</finalize>
33
+ <update output="result"/>
34
+ <rescue output="result"/>
35
+ </code>
36
+ <annotations>
37
+ <_timing>
38
+ <_timing_wait/>
39
+ <_timing_threshold/>
40
+ <_timing_min/>
41
+ <_timing_max/>
42
+ <_timing_avg/>
43
+ </_timing>
44
+ <_notes>
45
+ <_notes_general/>
46
+ </_notes>
47
+ </annotations>
48
+ </call>
49
+ <call id="a10" endpoint="move_rel">
50
+ <parameters>
51
+ <label>Move closer</label>
52
+ <arguments>
53
+ <x>!data.direction_first['x']</x>
54
+ <y>!data.direction_first['y']</y>
55
+ </arguments>
56
+ <stream>
57
+ <sensors/>
58
+ <aggregators/>
59
+ <costs/>
60
+ </stream>
61
+ </parameters>
62
+ <annotations>
63
+ <_timing>
64
+ <_timing_wait/>
65
+ <_timing_threshold/>
66
+ <_timing_min/>
67
+ <_timing_max/>
68
+ <_timing_avg/>
69
+ </_timing>
70
+ <_notes>
71
+ <_notes_general/>
72
+ </_notes>
73
+ </annotations>
74
+ </call>
75
+ <call id="a15" endpoint="wait">
76
+ <parameters>
77
+ <label>Wait for camera stream delay</label>
78
+ <method>:post</method>
79
+ <arguments>
80
+ <timeout>5</timeout>
81
+ </arguments>
82
+ <stream>
83
+ <sensors/>
84
+ <aggregators/>
85
+ <costs/>
86
+ </stream>
87
+ </parameters>
88
+ <annotations>
89
+ <_timing>
90
+ <_timing_wait/>
91
+ <_timing_threshold/>
92
+ <_timing_min/>
93
+ <_timing_max/>
94
+ <_timing_avg/>
95
+ </_timing>
96
+ <_notes>
97
+ <_notes_general/>
98
+ </_notes>
99
+ </annotations>
100
+ </call>
101
+ <call id="a17" endpoint="get_offset_base">
102
+ <parameters>
103
+ <label>Get second offset and calc distance</label>
104
+ <arguments/>
105
+ <stream>
106
+ <sensors/>
107
+ <aggregators/>
108
+ <costs/>
109
+ </stream>
110
+ </parameters>
111
+ <code>
112
+ <prepare/>
113
+ <finalize output="result">data.direction_second = result
114
+ if (data.direction_first['dir_x'] * data.direction_second['dir_x'] &gt;= 0)
115
+ data.traveled = data.direction_first['len'] - data.direction_second['len']
116
+ else
117
+ data.traveled = data.direction_first['len'] + data.direction_second['len']
118
+ end
119
+ data.len = data.direction_second['len'] / (data.traveled / 10)
120
+ data.direction_second['x'] = data.direction_second['dir_x'] * data.len
121
+ data.direction_second['y'] = data.direction_second['dir_y'] * data.len</finalize>
122
+ <update output="result"/>
123
+ <rescue output="result"/>
124
+ </code>
125
+ <annotations>
126
+ <_timing>
127
+ <_timing_wait/>
128
+ <_timing_threshold/>
129
+ <_timing_min/>
130
+ <_timing_max/>
131
+ <_timing_avg/>
132
+ </_timing>
133
+ <_notes>
134
+ <_notes_general/>
135
+ </_notes>
136
+ </annotations>
137
+ </call>
138
+ <call id="a12" endpoint="move_rel">
139
+ <parameters>
140
+ <label>Move closer</label>
141
+ <arguments>
142
+ <x>!data.direction_second['x']</x>
143
+ <y>!data.direction_second['y']</y>
144
+ </arguments>
145
+ <stream>
146
+ <sensors/>
147
+ <aggregators/>
148
+ <costs/>
149
+ </stream>
150
+ </parameters>
151
+ <annotations>
152
+ <_timing>
153
+ <_timing_wait/>
154
+ <_timing_threshold/>
155
+ <_timing_min/>
156
+ <_timing_max/>
157
+ <_timing_avg/>
158
+ </_timing>
159
+ <_notes>
160
+ <_notes_general/>
161
+ </_notes>
162
+ </annotations>
163
+ </call>
164
+ <call id="a16" endpoint="wait">
165
+ <parameters>
166
+ <label>Wait for camera stream delay</label>
167
+ <method>:post</method>
168
+ <arguments>
169
+ <timeout>5</timeout>
170
+ </arguments>
171
+ <stream>
172
+ <sensors/>
173
+ <aggregators/>
174
+ <costs/>
175
+ </stream>
176
+ </parameters>
177
+ <annotations>
178
+ <_timing>
179
+ <_timing_wait/>
180
+ <_timing_threshold/>
181
+ <_timing_min/>
182
+ <_timing_max/>
183
+ <_timing_avg/>
184
+ </_timing>
185
+ <_notes>
186
+ <_notes_general/>
187
+ </_notes>
188
+ </annotations>
189
+ </call>
190
+ <call id="a2" endpoint="get_offset_base">
191
+ <parameters>
192
+ <label>Investigate Precision</label>
193
+ <arguments/>
194
+ <stream>
195
+ <sensors/>
196
+ <aggregators/>
197
+ <costs/>
198
+ </stream>
199
+ </parameters>
200
+ <code>
201
+ <prepare/>
202
+ <finalize output="result">data.direction_third = result</finalize>
203
+ <update output="result"/>
204
+ <rescue output="result"/>
205
+ </code>
206
+ <annotations>
207
+ <_timing>
208
+ <_timing_wait/>
209
+ <_timing_threshold/>
210
+ <_timing_min/>
211
+ <_timing_max/>
212
+ <_timing_avg/>
213
+ </_timing>
214
+ <_notes>
215
+ <_notes_general/>
216
+ </_notes>
217
+ </annotations>
218
+ </call>
219
+ <manipulate id="a11" label="Calculate new position">data.item = {}
220
+ data.item['adjust_x'] = (data.direction_first['x'] + data.direction_second['x']).round(0)
221
+ data.item['adjust_y'] = (data.direction_first['y'] + data.direction_second['y']).round(0)</manipulate>
222
+ </description>
223
+ </description>
224
+ <transformation>
225
+ <description type="copy"/>
226
+ <dataelements type="none"/>
227
+ <endpoints type="none"/>
228
+ </transformation>
229
+ <attributes>
230
+ <info xmlns="http://riddl.org/ns/common-patterns/properties/1.0">BPM 2020 Manual Adjust</info>
231
+ <modeltype xmlns="http://riddl.org/ns/common-patterns/properties/1.0">CPEE</modeltype>
232
+ <theme xmlns="http://riddl.org/ns/common-patterns/properties/1.0">preset</theme>
233
+ <resource xmlns="http://riddl.org/ns/common-patterns/properties/1.0">ur51</resource>
234
+ </attributes>
235
+ </testset>
@@ -0,0 +1,250 @@
1
+ <testset>
2
+ <dataelements>
3
+ <places xmlns="http://riddl.org/ns/common-patterns/properties/1.0">[[0,0],[1,0],[0,1],[1,1],[0,2],[1,2]]</places>
4
+ </dataelements>
5
+ <handlerwrapper>DefaultHandlerWrapper</handlerwrapper>
6
+ <endpoints>
7
+ <overview xmlns="http://riddl.org/ns/common-patterns/properties/1.0">http-put://tango.wst.univie.ac.at:9329/move/overview</overview>
8
+ <move_tool xmlns="http://riddl.org/ns/common-patterns/properties/1.0">http-put://tango.wst.univie.ac.at:9329/move/position/point</move_tool>
9
+ <move_camera xmlns="http://riddl.org/ns/common-patterns/properties/1.0">http-put://tango.wst.univie.ac.at:9329/move/position/view</move_camera>
10
+ <get_items_base xmlns="http://riddl.org/ns/common-patterns/properties/1.0">http-get://tango.wst.univie.ac.at:9329/view/items</get_items_base>
11
+ <get_items_neural xmlns="http://riddl.org/ns/common-patterns/properties/1.0">http-get://ryloth.wst.univie.ac.at:9330/view/items</get_items_neural>
12
+ <get_offset_base xmlns="http://riddl.org/ns/common-patterns/properties/1.0">http-get://tango.wst.univie.ac.at:9329/view/details</get_offset_base>
13
+ <get_offset_neural xmlns="http://riddl.org/ns/common-patterns/properties/1.0">http-get://ryloth.wst.univie.ac.at:9330/view/details</get_offset_neural>
14
+ <wait xmlns="http://riddl.org/ns/common-patterns/properties/1.0">http://gruppe.wst.univie.ac.at/~mangler/services/timeout.php</wait>
15
+ <grip_and_place xmlns="http://riddl.org/ns/common-patterns/properties/1.0">http-put://tango.wst.univie.ac.at:9329/move/grip_and_place</grip_and_place>
16
+ <subprocess xmlns="http://riddl.org/ns/common-patterns/properties/1.0">http://cpee.org:9296/url/</subprocess>
17
+ </endpoints>
18
+ <description>
19
+ <description xmlns="http://cpee.org/ns/description/1.0">
20
+ <loop mode="pre_test" condition="data.places.length &gt; 0">
21
+ <_probability>
22
+ <_probability_min/>
23
+ <_probability_max/>
24
+ <_probability_avg/>
25
+ </_probability>
26
+ <call id="a1" endpoint="overview">
27
+ <parameters>
28
+ <label>Move to overview position</label>
29
+ <arguments/>
30
+ <stream>
31
+ <sensors/>
32
+ <aggregators/>
33
+ <costs/>
34
+ </stream>
35
+ </parameters>
36
+ <annotations>
37
+ <_timing>
38
+ <_timing_wait/>
39
+ <_timing_threshold/>
40
+ <_timing_min/>
41
+ <_timing_max/>
42
+ <_timing_avg/>
43
+ </_timing>
44
+ <_notes>
45
+ <_notes_general/>
46
+ </_notes>
47
+ </annotations>
48
+ </call>
49
+ <call id="a7" endpoint="wait">
50
+ <parameters>
51
+ <label>Wait for camera stream delay</label>
52
+ <method>:post</method>
53
+ <arguments>
54
+ <timeout>5</timeout>
55
+ </arguments>
56
+ <stream>
57
+ <sensors/>
58
+ <aggregators/>
59
+ <costs/>
60
+ </stream>
61
+ </parameters>
62
+ <annotations>
63
+ <_timing>
64
+ <_timing_wait/>
65
+ <_timing_threshold/>
66
+ <_timing_min/>
67
+ <_timing_max/>
68
+ <_timing_avg/>
69
+ </_timing>
70
+ <_notes>
71
+ <_notes_general/>
72
+ </_notes>
73
+ </annotations>
74
+ </call>
75
+ <call id="a3" endpoint="get_items_base">
76
+ <parameters>
77
+ <label>Get item positions</label>
78
+ <arguments/>
79
+ <stream>
80
+ <sensors/>
81
+ <aggregators/>
82
+ <costs/>
83
+ </stream>
84
+ </parameters>
85
+ <code>
86
+ <prepare/>
87
+ <finalize output="result">data.items = result</finalize>
88
+ <update output="result"/>
89
+ <rescue output="result"/>
90
+ </code>
91
+ <annotations>
92
+ <_timing>
93
+ <_timing_wait/>
94
+ <_timing_threshold/>
95
+ <_timing_min/>
96
+ <_timing_max/>
97
+ <_timing_avg/>
98
+ </_timing>
99
+ <_notes>
100
+ <_notes_general/>
101
+ </_notes>
102
+ </annotations>
103
+ </call>
104
+ <choose mode="exclusive">
105
+ <alternative condition="data.items.length &gt; 0">
106
+ <call id="a5" endpoint="move_camera">
107
+ <parameters>
108
+ <label>Inspect first item</label>
109
+ <arguments>
110
+ <x>!data.items.first['x']</x>
111
+ <y>!data.items.first['y']</y>
112
+ </arguments>
113
+ <stream>
114
+ <sensors/>
115
+ <aggregators/>
116
+ <costs/>
117
+ </stream>
118
+ </parameters>
119
+ <annotations>
120
+ <_timing>
121
+ <_timing_wait/>
122
+ <_timing_threshold/>
123
+ <_timing_min/>
124
+ <_timing_max/>
125
+ <_timing_avg/>
126
+ </_timing>
127
+ <_notes>
128
+ <_notes_general/>
129
+ </_notes>
130
+ </annotations>
131
+ </call>
132
+ <call id="a15" endpoint="wait">
133
+ <parameters>
134
+ <label>Wait for camera stream delay</label>
135
+ <method>:post</method>
136
+ <arguments>
137
+ <timeout>5</timeout>
138
+ </arguments>
139
+ <stream>
140
+ <sensors/>
141
+ <aggregators/>
142
+ <costs/>
143
+ </stream>
144
+ </parameters>
145
+ <annotations>
146
+ <_timing>
147
+ <_timing_wait/>
148
+ <_timing_threshold/>
149
+ <_timing_min/>
150
+ <_timing_max/>
151
+ <_timing_avg/>
152
+ </_timing>
153
+ <_notes>
154
+ <_notes_general/>
155
+ </_notes>
156
+ </annotations>
157
+ </call>
158
+ <call id="a2" endpoint="subprocess">
159
+ <parameters>
160
+ <label>Adjust</label>
161
+ <method>:post</method>
162
+ <arguments>
163
+ <behavior>wait_running</behavior>
164
+ <url>http://cpee.org/~demo/cpee-cockpit/templates/BPM%202020%20Manual%20Adjust.xml</url>
165
+ <init/>
166
+ <endpoints/>
167
+ <stream/>
168
+ </arguments>
169
+ <stream>
170
+ <sensors/>
171
+ <aggregators/>
172
+ <costs/>
173
+ </stream>
174
+ </parameters>
175
+ <code>
176
+ <prepare/>
177
+ <finalize output="result"># data.place = data.places.shift
178
+ data.item = result['item']
179
+ data.item['x'] = data.items.first['x'] + data.item['adjust_x']
180
+ data.item['y'] = data.items.first['y'] + data.item['adjust_y']</finalize>
181
+ <update output="result"/>
182
+ <rescue output="result"/>
183
+ </code>
184
+ <annotations>
185
+ <_timing>
186
+ <_timing_wait/>
187
+ <_timing_threshold/>
188
+ <_timing_min/>
189
+ <_timing_max/>
190
+ <_timing_avg/>
191
+ </_timing>
192
+ <_notes>
193
+ <_notes_general/>
194
+ </_notes>
195
+ </annotations>
196
+ </call>
197
+ <stop id="a4"/>
198
+ <call id="a8" endpoint="grip_and_place">
199
+ <parameters>
200
+ <label>Grip and Place</label>
201
+ <arguments>
202
+ <x>!data.item['x']</x>
203
+ <y>!data.item['y']</y>
204
+ <place_x>!data.place[0]</place_x>
205
+ <place_y>!data.place[1]</place_y>
206
+ </arguments>
207
+ <stream>
208
+ <sensors/>
209
+ <aggregators/>
210
+ <costs/>
211
+ </stream>
212
+ </parameters>
213
+ <annotations>
214
+ <_timing>
215
+ <_timing_wait/>
216
+ <_timing_threshold/>
217
+ <_timing_min/>
218
+ <_timing_max/>
219
+ <_timing_avg/>
220
+ </_timing>
221
+ <_notes>
222
+ <_notes_general/>
223
+ </_notes>
224
+ </annotations>
225
+ </call>
226
+ <_probability>
227
+ <_probability_min/>
228
+ <_probability_max/>
229
+ <_probability_avg/>
230
+ </_probability>
231
+ </alternative>
232
+ <otherwise>
233
+ <terminate/>
234
+ </otherwise>
235
+ </choose>
236
+ </loop>
237
+ </description>
238
+ </description>
239
+ <transformation>
240
+ <description type="copy"/>
241
+ <dataelements type="none"/>
242
+ <endpoints type="none"/>
243
+ </transformation>
244
+ <attributes>
245
+ <info xmlns="http://riddl.org/ns/common-patterns/properties/1.0">BPM 2020 Solution Baseline Manual Adjust</info>
246
+ <modeltype xmlns="http://riddl.org/ns/common-patterns/properties/1.0">CPEE</modeltype>
247
+ <theme xmlns="http://riddl.org/ns/common-patterns/properties/1.0">preset</theme>
248
+ <resource xmlns="http://riddl.org/ns/common-patterns/properties/1.0">ur51</resource>
249
+ </attributes>
250
+ </testset>