cpee 2.1.29 → 2.1.50

Sign up to get free protection for your applications and to get access to all the features.
Files changed (139) hide show
  1. checksums.yaml +4 -4
  2. data/Rakefile +1 -1
  3. data/cockpit/config.json +1 -1
  4. data/cockpit/css/graph.css +13 -0
  5. data/cockpit/css/track.css +1 -1
  6. data/cockpit/css/wfadaptor.css +9 -2
  7. data/cockpit/edit.html +1 -1
  8. data/cockpit/graph.html +1 -0
  9. data/cockpit/index.html +2 -2
  10. data/cockpit/js/details.js +2 -2
  11. data/cockpit/js/instance.js +162 -112
  12. data/cockpit/js/wfadaptor.js +20 -14
  13. data/cockpit/js_libs.zip +0 -0
  14. data/cockpit/templates/Coopis 2010.xml +109 -14
  15. data/cockpit/templates/Frames.xml +297 -0
  16. data/cockpit/templates/Subprocess.xml +54 -6
  17. data/cockpit/templates/Wait.xml +5 -11
  18. data/cockpit/templates/Worklist.xml +58 -26
  19. data/cockpit/themes/compact/rngs/call.rng +127 -86
  20. data/cockpit/themes/compact/rngs/callmanipulate.rng +32 -7
  21. data/cockpit/themes/compact/rngs/closed_loop_control.rng +2 -2
  22. data/cockpit/themes/compact/rngs/closed_loop_measuring.rng +3 -3
  23. data/cockpit/themes/compact/rngs/start.rng +110 -72
  24. data/cockpit/themes/compact/symbols/call_sensor.svg +9 -0
  25. data/cockpit/themes/compact/symbols/callmanipulate.svg +3 -3
  26. data/cockpit/themes/compact/symbols/callmanipulate_sensor.svg +11 -0
  27. data/cockpit/themes/compact/symbols/delete.svg +4 -0
  28. data/cockpit/themes/compact/symbols/start_event.svg +5 -0
  29. data/cockpit/themes/compact/symbols/test.svg +74 -0
  30. data/cockpit/themes/compact/theme.js +105 -9
  31. data/cockpit/themes/control/rngs/call.rng +127 -86
  32. data/cockpit/themes/control/rngs/callmanipulate.rng +32 -7
  33. data/cockpit/themes/control/rngs/closed_loop_control.rng +2 -2
  34. data/cockpit/themes/control/rngs/closed_loop_measuring.rng +3 -3
  35. data/cockpit/themes/control/rngs/start.rng +110 -72
  36. data/cockpit/themes/control/symbols/call_sensor.svg +9 -0
  37. data/cockpit/themes/control/symbols/callmanipulate.svg +3 -3
  38. data/cockpit/themes/control/symbols/callmanipulate_sensor.svg +11 -0
  39. data/cockpit/themes/control/symbols/delete.svg +4 -0
  40. data/cockpit/themes/control/symbols/start_event.svg +5 -0
  41. data/cockpit/themes/control/symbols/test.svg +74 -0
  42. data/cockpit/themes/control/theme.js +53 -7
  43. data/cockpit/themes/default/rngs/call.rng +127 -86
  44. data/cockpit/themes/default/rngs/callmanipulate.rng +32 -7
  45. data/cockpit/themes/default/rngs/closed_loop_control.rng +2 -2
  46. data/cockpit/themes/default/rngs/closed_loop_measuring.rng +3 -3
  47. data/cockpit/themes/default/rngs/start.rng +110 -72
  48. data/cockpit/themes/default/symbols/call_sensor.svg +9 -0
  49. data/cockpit/themes/default/symbols/callmanipulate.svg +3 -3
  50. data/cockpit/themes/default/symbols/callmanipulate_sensor.svg +11 -0
  51. data/cockpit/themes/default/symbols/delete.svg +4 -0
  52. data/cockpit/themes/default/symbols/start_event.svg +5 -0
  53. data/cockpit/themes/default/symbols/test.svg +74 -0
  54. data/cockpit/themes/default/theme.js +105 -9
  55. data/cockpit/themes/extended/rngs/call.rng +127 -86
  56. data/cockpit/themes/extended/rngs/callmanipulate.rng +32 -7
  57. data/cockpit/themes/extended/rngs/closed_loop_control.rng +2 -2
  58. data/cockpit/themes/extended/rngs/closed_loop_measuring.rng +3 -3
  59. data/cockpit/themes/extended/rngs/start.rng +110 -72
  60. data/cockpit/themes/extended/symbols/call_sensor.svg +9 -0
  61. data/cockpit/themes/extended/symbols/callmanipulate.svg +3 -3
  62. data/cockpit/themes/extended/symbols/callmanipulate_sensor.svg +11 -0
  63. data/cockpit/themes/extended/symbols/delete.svg +4 -0
  64. data/cockpit/themes/extended/symbols/start_event.svg +5 -0
  65. data/cockpit/themes/extended/symbols/test.svg +74 -0
  66. data/cockpit/themes/extended/theme.js +105 -9
  67. data/cockpit/themes/model/symbols/call_sensor.svg +9 -0
  68. data/cockpit/themes/model/symbols/callmanipulate.svg +3 -3
  69. data/cockpit/themes/model/symbols/callmanipulate_sensor.svg +11 -0
  70. data/cockpit/themes/model/symbols/delete.svg +4 -0
  71. data/cockpit/themes/model/symbols/start_event.svg +5 -0
  72. data/cockpit/themes/model/symbols/test.svg +74 -0
  73. data/cockpit/themes/model/theme.js +50 -4
  74. data/cockpit/themes/packed/rngs/call.rng +127 -86
  75. data/cockpit/themes/packed/rngs/callmanipulate.rng +32 -7
  76. data/cockpit/themes/packed/rngs/closed_loop_control.rng +2 -2
  77. data/cockpit/themes/packed/rngs/closed_loop_measuring.rng +3 -3
  78. data/cockpit/themes/packed/rngs/start.rng +110 -72
  79. data/cockpit/themes/packed/symbols/call_sensor.svg +9 -0
  80. data/cockpit/themes/packed/symbols/callmanipulate.svg +3 -3
  81. data/cockpit/themes/packed/symbols/callmanipulate_sensor.svg +11 -0
  82. data/cockpit/themes/packed/symbols/delete.svg +4 -0
  83. data/cockpit/themes/packed/symbols/start_event.svg +5 -0
  84. data/cockpit/themes/packed/symbols/test.svg +74 -0
  85. data/cockpit/themes/packed/theme.js +105 -9
  86. data/cockpit/themes/preset/rngs/call.rng +127 -86
  87. data/cockpit/themes/preset/rngs/callmanipulate.rng +32 -7
  88. data/cockpit/themes/preset/rngs/closed_loop_control.rng +2 -2
  89. data/cockpit/themes/preset/rngs/closed_loop_measuring.rng +3 -3
  90. data/cockpit/themes/preset/rngs/start.rng +110 -72
  91. data/cockpit/themes/preset/symbols/call_sensor.svg +9 -0
  92. data/cockpit/themes/preset/symbols/callmanipulate.svg +3 -3
  93. data/cockpit/themes/preset/symbols/callmanipulate_sensor.svg +11 -0
  94. data/cockpit/themes/preset/symbols/delete.svg +4 -0
  95. data/cockpit/themes/preset/symbols/start_event.svg +5 -0
  96. data/cockpit/themes/preset/symbols/test.svg +74 -0
  97. data/cockpit/themes/preset/theme.js +105 -9
  98. data/cpee.gemspec +6 -5
  99. data/lib/cpee/fail.rb +23 -0
  100. data/lib/cpee/implementation.rb +144 -49
  101. data/lib/cpee/implementation_callbacks.rb +11 -10
  102. data/lib/cpee/implementation_notifications.rb +4 -3
  103. data/lib/cpee/implementation_properties.rb +2 -2
  104. data/lib/cpee/message.rb +49 -15
  105. data/lib/cpee/persistence.rb +34 -12
  106. data/lib/cpee.xml +1 -1
  107. data/server/executionhandlers/ruby/backend/instance.template +1 -1
  108. data/server/executionhandlers/ruby/backend/run +4 -4
  109. data/server/executionhandlers/ruby/connection.rb +93 -34
  110. data/server/executionhandlers/ruby/controller.rb +29 -19
  111. data/server/executionhandlers/ruby/desc.xml +107 -0
  112. data/server/executionhandlers/ruby/dsl_to_dslx.xsl +67 -24
  113. data/server/executionhandlers/ruby/execution.rb +1 -0
  114. data/server/resources/states.xml +3 -0
  115. data/server/resources/test.pdf +0 -0
  116. data/server/resources/topics.xml +4 -2
  117. data/server/routing/end.pid +1 -0
  118. data/server/routing/end.rb +3 -2
  119. data/server/routing/forward-events-00.pid +1 -0
  120. data/server/routing/forward-events.rb +26 -13
  121. data/server/routing/forward-votes.pid +1 -0
  122. data/server/routing/forward-votes.rb +4 -4
  123. data/server/routing/persist.pid +1 -0
  124. data/server/routing/persist.rb +41 -31
  125. data/server/server.pid +1 -0
  126. data/tools/cpee +99 -24
  127. metadata +80 -32
  128. data/cockpit/templates/Coopis 2010.xml.active +0 -1
  129. data/cockpit/templates/Coopis 2010.xml.active-uuid +0 -1
  130. data/cockpit/templates/Subprocess.xml.active +0 -1
  131. data/cockpit/templates/Subprocess.xml.active-uuid +0 -1
  132. data/cockpit/templates/Track Test.xml.active +0 -1
  133. data/cockpit/templates/Track Test.xml.active-uuid +0 -1
  134. data/cockpit/templates/UR-VUE 2020 Solution Baseline.xml.active +0 -1
  135. data/cockpit/templates/UR-VUE 2020 Solution Baseline.xml.active-uuid +0 -1
  136. data/cockpit/templates/Wait.xml.active +0 -1
  137. data/cockpit/templates/Wait.xml.active-uuid +0 -1
  138. data/cockpit/templates/Wait.xml.attrs +0 -13
  139. data/server/executionhandlers/ruby/test.xml +0 -43
@@ -0,0 +1,5 @@
1
+ <svg class="clickable" xmlns="http://www.w3.org/2000/svg">
2
+ <circle cx="15" cy="15" r="14" class="cline stand"/>
3
+ <rect x="7" y="10" width="16" height="11" class="black" style="fill: none"/>
4
+ <path d="m 7,10 8,6 8,-6" class="black" style="fill: none"/>
5
+ </svg>
@@ -0,0 +1,74 @@
1
+ <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
+ <svg
3
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
4
+ xmlns:cc="http://creativecommons.org/ns#"
5
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
6
+ xmlns:svg="http://www.w3.org/2000/svg"
7
+ xmlns="http://www.w3.org/2000/svg"
8
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
9
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
10
+ class="clickable"
11
+ version="1.1"
12
+ id="svg10"
13
+ sodipodi:docname="test.svg"
14
+ inkscape:version="1.0.2 (e86c870879, 2021-01-15)">
15
+ <metadata
16
+ id="metadata16">
17
+ <rdf:RDF>
18
+ <cc:Work
19
+ rdf:about="">
20
+ <dc:format>image/svg+xml</dc:format>
21
+ <dc:type
22
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
23
+ </cc:Work>
24
+ </rdf:RDF>
25
+ </metadata>
26
+ <defs
27
+ id="defs14" />
28
+ <sodipodi:namedview
29
+ pagecolor="#ffffff"
30
+ bordercolor="#666666"
31
+ borderopacity="1"
32
+ objecttolerance="10"
33
+ gridtolerance="10"
34
+ guidetolerance="10"
35
+ inkscape:pageopacity="0"
36
+ inkscape:pageshadow="2"
37
+ inkscape:window-width="2062"
38
+ inkscape:window-height="1298"
39
+ id="namedview12"
40
+ showgrid="false"
41
+ inkscape:zoom="35.146667"
42
+ inkscape:cx="13.036699"
43
+ inkscape:cy="13.350011"
44
+ inkscape:window-x="0"
45
+ inkscape:window-y="27"
46
+ inkscape:window-maximized="0"
47
+ inkscape:current-layer="svg10" />
48
+ <rect
49
+ transform="rotate(45,14,12)"
50
+ x="7"
51
+ y="3"
52
+ width="21"
53
+ height="21"
54
+ class="cline hfill stand"
55
+ id="rect2"
56
+ style="fill:#3465a4" />
57
+ <circle
58
+ cx="15.5"
59
+ cy="15.5"
60
+ r="7"
61
+ class="stand"
62
+ id="circle4" />
63
+ <circle
64
+ cx="15.5"
65
+ cy="15.5"
66
+ r="7"
67
+ class="stand"
68
+ id="circle6" />
69
+ <path
70
+ d="m 15.500001,11.435193 3.825246,2.779205 -1.461114,4.496849 h -4.728265 l -1.461115,-4.496849 z"
71
+ class="stand"
72
+ id="path8"
73
+ style="fill:#ef2929;stroke-width:1" />
74
+ </svg>
@@ -93,7 +93,7 @@ function WFAdaptorManifestation(adaptor) {
93
93
 
94
94
  nodes = JSON.parse(nodes);
95
95
  $(nodes).each(function(key,str) {
96
- nodes[key] = $X(str);;
96
+ nodes[key] = $X(str);
97
97
  });
98
98
 
99
99
  var check1 = [];
@@ -176,14 +176,44 @@ function WFAdaptorManifestation(adaptor) {
176
176
 
177
177
  if(xml_node.get(0).tagName != 'description' && !self.elements[xml_node.get(0).tagName].neverdelete) {
178
178
  var icon = self.elements[xml_node.get(0).tagName].illustrator.svg.clone();
179
- icon.children('.rfill').addClass('menu');
179
+ icon.find('.rfill').addClass('menu');
180
+ icon.find('.hfill').addClass('menu');
180
181
  menu['Delete'] = [{
181
182
  'label': 'Remove Element',
182
- 'function_call': function(selector,target,selected){ self.adaptor.description.remove(selector,target); self.adaptor.illustrator.get_label_by_svg_id(selected).addClass('selected'); },
183
+ 'function_call': function(selector,target,selected){
184
+ del_ui_pos(target)
185
+ self.adaptor.description.remove(selector,target);
186
+ localStorage.removeItem('marked');
187
+ localStorage.removeItem('marked_from');
188
+ },
183
189
  'menu_icon': icon,
184
190
  'type': undefined,
185
191
  'params': [null, xml_node, self.selected()]
186
192
  }];
193
+ var nodes = localStorage.getItem('marked');
194
+ nodes = JSON.parse(nodes);
195
+ if (nodes && nodes.length > 0) {
196
+ var icond = self.resources['delete'].clone();
197
+ icond.children('.standfat').addClass('menu');
198
+ menu['Delete'].push({
199
+ 'label': 'Remove Marked Elements',
200
+ 'function_call': function(){
201
+ $(nodes).each(function(key,str) {
202
+ nodes[key] = $X(str);
203
+ });
204
+ $(nodes).each(function(key,node){
205
+ var target = self.adaptor.description.get_node_by_svg_id($(node).attr('svg-id'));
206
+ del_ui_pos(target)
207
+ self.adaptor.description.remove(null,target);
208
+ localStorage.removeItem('marked');
209
+ localStorage.removeItem('marked_from');
210
+ });
211
+ },
212
+ 'menu_icon': icond,
213
+ 'type': undefined,
214
+ 'params': []
215
+ })
216
+ }
187
217
  }
188
218
  if($('> code', xml_node).length > 0 && xml_node.get(0).tagName == 'call') {
189
219
  var icon = self.elements.callmanipulate.illustrator.svg.clone();
@@ -199,6 +229,18 @@ function WFAdaptorManifestation(adaptor) {
199
229
  new CustomMenu(e).contextmenu(menu);
200
230
  } //}}}
201
231
 
232
+ function positionHandling(svgid) {
233
+ var xml_node = self.adaptor.description.get_node_by_svg_id(svgid);
234
+ var vtarget = self.adaptor.illustrator.get_node_by_svg_id(svgid);
235
+ if (vtarget.length > 0) {
236
+ if (vtarget.parents('g.activities.passive, g.activities.active').length > 0) {
237
+ del_ui_pos(xml_node);
238
+ } else {
239
+ add_ui_pos(xml_node);
240
+ }
241
+ }
242
+ }
243
+
202
244
  // Events
203
245
  this.events.touchend = function(svgid, e) { // {{{
204
246
  clearTimeout(self.presstimer);
@@ -210,6 +252,7 @@ function WFAdaptorManifestation(adaptor) {
210
252
  this.events.mousedown = function(svgid, e, child, sibling) { // {{{
211
253
  if(e.button == 0) { // left-click
212
254
  } else if(e.button == 1) { // middle-click
255
+ positionHandling(svgid);
213
256
  } else if(e.button == 2) { // right-click
214
257
  contextMenuHandling(svgid,e,child,sibling);
215
258
  }
@@ -242,6 +285,8 @@ function WFAdaptorManifestation(adaptor) {
242
285
  localStorage.removeItem('marked_from');
243
286
  }
244
287
  }
288
+ } else if (e && (e.shiftKey)) {
289
+ positionHandling(svgid);
245
290
  } else {
246
291
  self.adaptor.illustrator.get_elements().removeClass('marked');
247
292
  localStorage.removeItem('marked');
@@ -275,6 +320,7 @@ function WFAdaptorManifestation(adaptor) {
275
320
 
276
321
  // other resources
277
322
  this.resources.arrow = self.adaptor.theme_dir + 'symbols/arrow.svg';
323
+ this.resources.delete = self.adaptor.theme_dir + 'symbols/delete.svg';
278
324
 
279
325
  // Primitive Elements
280
326
  this.elements.call = { /*{{{*/
@@ -292,7 +338,7 @@ function WFAdaptorManifestation(adaptor) {
292
338
  },
293
339
  'info': function(node){ return { 'element-endpoint': $(node).attr('endpoint') }; },
294
340
  'resolve_symbol': function(node) {
295
- if($('code', node).length > 0) {
341
+ if($('> code', node).length > 0) {
296
342
  return 'callmanipulate';
297
343
  } else {
298
344
  return 'call';
@@ -27,6 +27,14 @@
27
27
  </element>
28
28
  </element>
29
29
  <element name="annotations" rngui:header="Annotations">
30
+ <element name="_generic" rngui:header="Generic" rngui:fold="closed">
31
+ <zeroOrMore rngui:label="Create Annotation Pair">
32
+ <element rngui:label="Name" rngui:labeltype="xml">
33
+ <anyName/>
34
+ <data type="string" rngui:label="Value"/>
35
+ </element>
36
+ </zeroOrMore>
37
+ </element>
30
38
  <element name="_timing" rngui:header="Timing" rngui:fold="closed">
31
39
  <element name="_timing_weight" rngui:label="&#x3C9; - Weight">
32
40
  <data type="float" rngui:label="[0,1]"/>
@@ -34,92 +42,6 @@
34
42
  <element name="_timing_avg" rngui:label="Avg in min">
35
43
  <data type="float" rngui:label="Minutes"/>
36
44
  </element>
37
- <element name="_context_data_analysis" rngui:header="Context Data Analysis" rngui:hint="All data returned from the endpoint implementing this task as well as arbitray external data streams can be consumed and transformed in data probes. All probes can be the basis for impact factors. Please go to start to define instance data probes.">
38
-
39
- <element name="probes" rngui:header="Data Probes - Context Data Extraction" rngui:fold="closed">
40
- <zeroOrMore rngui:label="Add Probe">
41
- <element name="probe">
42
- <element name="name" rngui:label="Label">
43
- <data type="string" rngui:label="Label"/>
44
- </element>
45
- <element name="extractor_type" rngui:label="Extractor Type">
46
- <choice>
47
- <value id='code'>Code</value>
48
- <value id='service'>Service</value>
49
- </choice>
50
- </element>
51
- <element name="extractor_code" rngui:label="Extractor Code" rngui:hint='For extrinsic data'>
52
- <text rngui:label="Code"/>
53
- </element>
54
- <element name="extractor_url" rngui:label="Extractor Service" rngui:hint='For extrinsic &amp; discrete data'>
55
- <data type="string" rngui:label="Service Url"/>
56
- </element>
57
- <element name="extractor_params" rngui:label="Extractor Service Arguments:">
58
- <zeroOrMore rngui:label="Create Argument Pairs">
59
- <element rngui:label="Name">
60
- <anyName/>
61
- <data type="string" rngui:label="Value / Json"/>
62
- </element>
63
- </zeroOrMore>
64
- </element>
65
- <element name="visualizer_url" rngui:label="Visualizer Url">
66
- <data type="string" rngui:label="Service Url"/>
67
- </element>
68
- <element name="visualizer_params" rngui:label="Visualizer Arguments">
69
- <zeroOrMore rngui:label="Create Argument Pairs">
70
- <element rngui:label="Name">
71
- <anyName/>
72
- <data type="string" rngui:label="Value / Json"/>
73
- </element>
74
- </zeroOrMore>
75
- </element>
76
- </element>
77
- </zeroOrMore>
78
- </element>
79
-
80
- <element name="ips" rngui:header="Impact Profiles" rngui:fold="closed">
81
- <zeroOrMore rngui:label="Add Impact Profile">
82
- <element name="ip">
83
- <element name="name" rngui:label="Label">
84
- <data type="string" rngui:label="Label"/>
85
- </element>
86
- <element name="target" rngui:label="Target Value">
87
- <data type="string" rngui:label="Value"/>
88
- </element>
89
- <element name="ifs" rngui:header="Impact Factors">
90
- <zeroOrMore rngui:label="Add Impact Factor">
91
- <element name="if">
92
- <element name="ivs" rngui:header="Impact Values">
93
- <zeroOrMore rngui:label="Add Impact Value ">
94
- <element name="iv">
95
- <element name="extractor_url" rngui:label="Extractor Url">
96
- <data type="string" rngui:label="Service Url + Parameters"/>
97
- </element>
98
- <element name="aggregator_url" rngui:label="Aggregator Url">
99
- <data type="string" rngui:label="Service Url + Parameters"/>
100
- </element>
101
- </element>
102
- </zeroOrMore>
103
- </element>
104
- <element name="aggregator_url" rngui:label="Impact Function Url">
105
- <data type="string" rngui:label="Service Url + Parameters"/>
106
- </element>
107
- </element>
108
- </zeroOrMore>
109
- </element>
110
- <element name="vfunc_url" rngui:label="Violation Function Url">
111
- <data type="string" rngui:label="Service Url + Parameters"/>
112
- </element>
113
- </element>
114
- </zeroOrMore>
115
- </element>
116
-
117
- </element>
118
- <element name="report" rngui:header="Reporting" rngui:fold="closed">
119
- <element name="url" rngui:label='HTML Snippet'>
120
- <data type="string" rngui:label="url to report snippet"/>
121
- </element>
122
- </element>
123
45
  <element name="explanations" rngui:header="Explanations">
124
46
  <zeroOrMore rngui:label="Add Explanation">
125
47
  <element name="explanation">
@@ -149,12 +71,131 @@
149
71
  </zeroOrMore>
150
72
  </element>
151
73
  </element>
74
+ <element name="_shifting" rngui:header="Log Time Shifting" rngui:fold="closed_conditional">
75
+ <element name="_shifting_type" rngui:label="Type">
76
+ <choice>
77
+ <value>Duration</value>
78
+ <value>Ends</value>
79
+ </choice>
80
+ </element>
81
+ <optional>
82
+ <element name="_shifting_expression" rngui:label="Expression">
83
+ <data type="string" rngui:label="e.g.: same day, 16:00; 2 and a half weeks"/>
84
+ </element>
85
+ </optional>
86
+ </element>
87
+ <element name="_context_data_analysis" rngui:header="Context Data Analysis" rngui:hint="All data returned from the endpoint implementing this task as well as arbitray external data streams can be consumed and transformed in data probes. All probes can be the basis for impact factors. Please go to start to define instance data probes.">
88
+ <element name="probes" rngui:header="Data Probes - Context Data Extraction" rngui:fold="closed_conditional">
89
+ <zeroOrMore rngui:label="Add Probe">
90
+ <element name="probe">
91
+ <element name="id" rngui:label="ID">
92
+ <data type="string" rngui:label="ID"/>
93
+ </element>
94
+ <element name="source" rngui:label="Source">
95
+ <data type="string" rngui:label="Where does the sensor value come from?"/>
96
+ </element>
97
+ <element name="extractor_type" rngui:label="Extractor Type">
98
+ <choice>
99
+ <value id='intrinsic'>Intrinsic</value>
100
+ <value id='extrinsic'>Extrinsic</value>
101
+ <value id='separate'>Separate</value>
102
+ </choice>
103
+ </element>
104
+ <element name="extractor_code" rngui:label="Extractor Code" rngui:hint='For intrinsic &amp; extrinsic data'>
105
+ <text rngui:label="Code"/>
106
+ </element>
107
+ <element name="extractor_url" rngui:label="Extractor Service" rngui:hint='For separate data'>
108
+ <data type="string" rngui:label="Service Url"/>
109
+ </element>
110
+ <element name="extractor_params" rngui:label="Extractor Service Arguments:">
111
+ <zeroOrMore rngui:label="Create Argument Pairs">
112
+ <element rngui:label="Name">
113
+ <anyName/>
114
+ <data type="string" rngui:label="Value / Json"/>
115
+ </element>
116
+ </zeroOrMore>
117
+ </element>
118
+ <element name="visualizer_url" rngui:label="Visualizer Url">
119
+ <data type="string" rngui:label="Service Url"/>
120
+ </element>
121
+ <element name="visualizer_params" rngui:label="Visualizer Arguments">
122
+ <zeroOrMore rngui:label="Create Argument Pairs">
123
+ <element rngui:label="Name">
124
+ <anyName/>
125
+ <data type="string" rngui:label="Value / Json"/>
126
+ </element>
127
+ </zeroOrMore>
128
+ </element>
129
+ </element>
130
+ </zeroOrMore>
131
+ </element>
132
+
133
+ <element name="ips" rngui:header="Impact Profiles" rngui:fold="closed">
134
+ <zeroOrMore rngui:label="Add Impact Profile">
135
+ <element name="ip">
136
+ <element name="name" rngui:label="Label">
137
+ <data type="string" rngui:label="Label"/>
138
+ </element>
139
+ <element name="target" rngui:label="Target Value">
140
+ <data type="string" rngui:label="Value"/>
141
+ </element>
142
+ <element name="ifs" rngui:header="Impact Factors">
143
+ <zeroOrMore rngui:label="Add Impact Factor">
144
+ <element name="if">
145
+ <element name="ivs" rngui:header="Impact Values">
146
+ <zeroOrMore rngui:label="Add Impact Value ">
147
+ <element name="iv">
148
+ <element name="extractor_url" rngui:label="Extractor Url">
149
+ <data type="string" rngui:label="Service Url + Parameters"/>
150
+ </element>
151
+ <element name="extractor_params" rngui:header="Extractor Arguments">
152
+ <zeroOrMore rngui:label="Create Extractor Argument Pairs">
153
+ <element rngui:label="Name">
154
+ <anyName/>
155
+ <data type="string" rngui:label="Value / Json"/>
156
+ </element>
157
+ </zeroOrMore>
158
+ </element>
159
+ <element name="aggregator_url" rngui:label="Aggregator Url">
160
+ <data type="string" rngui:label="Service Url + Parameters"/>
161
+ </element>
162
+ <element name="aggregator_params" rngui:header="Extractor Arguments">
163
+ <zeroOrMore rngui:label="Create Aggregator Argument Pairs">
164
+ <element rngui:label="Name">
165
+ <anyName/>
166
+ <data type="string" rngui:label="Value / Json"/>
167
+ </element>
168
+ </zeroOrMore>
169
+ </element>
170
+ </element>
171
+ </zeroOrMore>
172
+ </element>
173
+ <element name="aggregator_url" rngui:label="Impact Function Url">
174
+ <data type="string" rngui:label="Service Url + Parameters"/>
175
+ </element>
176
+ </element>
177
+ </zeroOrMore>
178
+ </element>
179
+ <element name="vfunc_url" rngui:label="Violation Function Url">
180
+ <data type="string" rngui:label="Service Url + Parameters"/>
181
+ </element>
182
+ </element>
183
+ </zeroOrMore>
184
+ </element>
185
+
186
+ </element>
187
+ <element name="report" rngui:header="Reporting" rngui:fold="closed">
188
+ <element name="url" rngui:label='HTML Snippet'>
189
+ <data type="string" rngui:label="url to report snippet"/>
190
+ </element>
191
+ </element>
152
192
  <element name="_notes" rngui:header="Notes" rngui:fold="closed">
153
193
  <element name="_notes_general" rngui:label="General">
154
194
  <text rngui:wrap="true" rngui:label="Notes"/>
155
195
  </element>
156
196
  </element>
157
197
  </element>
198
+
158
199
  <element name="documentation" rngui:header="Documentation">
159
200
  <element name="input" rngui:header="Input Arguments" rngui:fold="closed">
160
201
  <zeroOrMore rngui:label="Create Argument">
@@ -50,6 +50,14 @@
50
50
  </element>
51
51
  </element>
52
52
  <element name="annotations" rngui:header="Annotations">
53
+ <element name="_generic" rngui:header="Generic" rngui:fold="closed">
54
+ <zeroOrMore rngui:label="Create Annotation Pair">
55
+ <element rngui:label="Name" rngui:labeltype="xml">
56
+ <anyName/>
57
+ <data type="string" rngui:label="Value"/>
58
+ </element>
59
+ </zeroOrMore>
60
+ </element>
53
61
  <element name="_timing" rngui:header="Timing" rngui:fold="closed">
54
62
  <element name="_timing_weight" rngui:label="&#x3C9; - Weight">
55
63
  <data type="float" rngui:label="[0,1]"/>
@@ -86,24 +94,41 @@
86
94
  </zeroOrMore>
87
95
  </element>
88
96
  </element>
97
+ <element name="_shifting" rngui:header="Log Time Shifting" rngui:fold="closed_conditional">
98
+ <element name="_shifting_type" rngui:label="Type">
99
+ <choice>
100
+ <value>Duration</value>
101
+ <value>Ends</value>
102
+ </choice>
103
+ </element>
104
+ <optional>
105
+ <element name="_shifting_expression" rngui:label="Expression">
106
+ <data type="string" rngui:label="e.g.: same day, 16:00; 2 and a half weeks"/>
107
+ </element>
108
+ </optional>
109
+ </element>
89
110
  <element name="_context_data_analysis" rngui:header="Context Data Analysis" rngui:hint="All data returned from the endpoint implementing this task as well as arbitray external data streams can be consumed and transformed in data probes. All probes can be the basis for impact factors. Please go to start to define instance data probes.">
90
111
 
91
- <element name="probes" rngui:header="Data Probes - Context Data Extraction" rngui:fold="closed">
112
+ <element name="probes" rngui:header="Data Probes - Context Data Extraction" rngui:fold="closed_conditional">
92
113
  <zeroOrMore rngui:label="Add Probe">
93
114
  <element name="probe">
94
- <element name="name" rngui:label="Label">
95
- <data type="string" rngui:label="Label"/>
115
+ <element name="id" rngui:label="ID">
116
+ <data type="string" rngui:label="ID"/>
117
+ </element>
118
+ <element name="source" rngui:label="Source">
119
+ <data type="string" rngui:label="Where does the sensor value come from?"/>
96
120
  </element>
97
121
  <element name="extractor_type" rngui:label="Extractor Type">
98
122
  <choice>
99
- <value id='code'>Code</value>
100
- <value id='service'>Service</value>
123
+ <value id='intrinsic'>Intrinsic</value>
124
+ <value id='extrinsic'>Extrinsic</value>
125
+ <value id='separate'>Separate</value>
101
126
  </choice>
102
127
  </element>
103
- <element name="extractor_code" rngui:label="Extractor Code" rngui:hint='For extrinsic data'>
128
+ <element name="extractor_code" rngui:label="Extractor Code" rngui:hint='For intrinsic &amp; extrinsic data'>
104
129
  <text rngui:label="Code"/>
105
130
  </element>
106
- <element name="extractor_url" rngui:label="Extractor Service" rngui:hint='For extrinsic &amp; discrete data'>
131
+ <element name="extractor_url" rngui:label="Extractor Service" rngui:hint='For separate data'>
107
132
  <data type="string" rngui:label="Service Url"/>
108
133
  </element>
109
134
  <element name="extractor_params" rngui:label="Extractor Service Arguments:">
@@ -1,6 +1,6 @@
1
1
  <element xmlns="http://relaxng.org/ns/structure/1.0" xmlns:rngui="http://rngui.org" rngui:version="1.2" ns="http://cpee.org/ns/description/1.0" name="closed_loop_control" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
2
- <attribute name="frequency" rngui:label="Interval frequency in Hz" rngui:default="0.1">
3
- <data type="float" rngui:label="Hz"/>
2
+ <attribute name="ctime" rngui:label="Cycle time in ms" rngui:default="100">
3
+ <data type="integer" rngui:label="ms"/>
4
4
  </attribute>
5
5
  <element name="_expected" rngui:header="Values Expected to Change">
6
6
  <zeroOrMore rngui:label="Add Value">
@@ -1,8 +1,8 @@
1
1
  <element xmlns="http://relaxng.org/ns/structure/1.0" xmlns:rngui="http://rngui.org" rngui:version="1.2" ns="http://cpee.org/ns/description/1.0" name="closed_loop_measuring" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
2
- <attribute name="frequency" rngui:label="Interval frequency in Hz" rngui:default="0.1">
3
- <data type="float" rngui:label="Hz"/>
2
+ <attribute name="ctime" rngui:label="Cycle time in ms" rngui:default="100">
3
+ <data type="integer" rngui:label="ms"/>
4
4
  </attribute>
5
- <element name="_expected" rngui:header="Values Expected to Change">
5
+ <element name="_expected" rngui:header="Measured Values">
6
6
  <zeroOrMore rngui:label="Add Value">
7
7
  <element name="value" rngui:label="Value">
8
8
  <data type="string" rngui:label="a dataelement"/>