cpee 2.1.70 → 2.1.71

Sign up to get free protection for your applications and to get access to all the features.
Files changed (77) hide show
  1. checksums.yaml +4 -4
  2. data/cockpit/js/instance.js +13 -1
  3. data/cockpit/templates/{Coopis 2010 Ext.xml → Coopis 2010 Eval.xml } +2 -3
  4. data/cockpit/themes/reduced/rngs/alternative.rng +25 -0
  5. data/cockpit/themes/reduced/rngs/call.rng +228 -0
  6. data/cockpit/themes/reduced/rngs/callmanipulate.rng +257 -0
  7. data/cockpit/themes/reduced/rngs/choose.rng +14 -0
  8. data/cockpit/themes/reduced/rngs/closed_loop.rng +62 -0
  9. data/cockpit/themes/reduced/rngs/closed_loop_cancel.rng +5 -0
  10. data/cockpit/themes/reduced/rngs/closed_loop_control.rng +31 -0
  11. data/cockpit/themes/reduced/rngs/closed_loop_measuring.rng +12 -0
  12. data/cockpit/themes/reduced/rngs/critical.rng +5 -0
  13. data/cockpit/themes/reduced/rngs/escape.rng +1 -0
  14. data/cockpit/themes/reduced/rngs/group.rng +3 -0
  15. data/cockpit/themes/reduced/rngs/loop.rng +22 -0
  16. data/cockpit/themes/reduced/rngs/manipulate.rng +9 -0
  17. data/cockpit/themes/reduced/rngs/otherwise.rng +22 -0
  18. data/cockpit/themes/reduced/rngs/parallel.rng +27 -0
  19. data/cockpit/themes/reduced/rngs/parallel_branch.rng +2 -0
  20. data/cockpit/themes/reduced/rngs/scripts.rng +23 -0
  21. data/cockpit/themes/reduced/rngs/start.rng +131 -0
  22. data/cockpit/themes/reduced/rngs/stop.rng +5 -0
  23. data/cockpit/themes/reduced/rngs/terminate.rng +1 -0
  24. data/cockpit/themes/reduced/symbols/alternative.svg +5 -0
  25. data/cockpit/themes/reduced/symbols/arrow.svg +3 -0
  26. data/cockpit/themes/reduced/symbols/call.svg +6 -0
  27. data/cockpit/themes/reduced/symbols/call_sensor.svg +9 -0
  28. data/cockpit/themes/reduced/symbols/callmanipulate.svg +8 -0
  29. data/cockpit/themes/reduced/symbols/callmanipulate_sensor.svg +11 -0
  30. data/cockpit/themes/reduced/symbols/choose.svg +5 -0
  31. data/cockpit/themes/reduced/symbols/choose_exclusive.svg +5 -0
  32. data/cockpit/themes/reduced/symbols/choose_inclusive.svg +4 -0
  33. data/cockpit/themes/reduced/symbols/closed_loop.svg +5 -0
  34. data/cockpit/themes/reduced/symbols/closed_loop_cancel.svg +5 -0
  35. data/cockpit/themes/reduced/symbols/closed_loop_control.svg +5 -0
  36. data/cockpit/themes/reduced/symbols/closed_loop_measuring.svg +6 -0
  37. data/cockpit/themes/reduced/symbols/complex.svg +8 -0
  38. data/cockpit/themes/reduced/symbols/critical.svg +4 -0
  39. data/cockpit/themes/reduced/symbols/delete.svg +4 -0
  40. data/cockpit/themes/reduced/symbols/end.svg +3 -0
  41. data/cockpit/themes/reduced/symbols/escape.svg +5 -0
  42. data/cockpit/themes/reduced/symbols/event_end.svg +3 -0
  43. data/cockpit/themes/reduced/symbols/loop.svg +5 -0
  44. data/cockpit/themes/reduced/symbols/manipulate.svg +4 -0
  45. data/cockpit/themes/reduced/symbols/otherwise.svg +5 -0
  46. data/cockpit/themes/reduced/symbols/parallel.svg +5 -0
  47. data/cockpit/themes/reduced/symbols/parallel_branch.svg +5 -0
  48. data/cockpit/themes/reduced/symbols/parallel_branch_compact.svg +4 -0
  49. data/cockpit/themes/reduced/symbols/parallel_branch_event.svg +14 -0
  50. data/cockpit/themes/reduced/symbols/parallel_branch_normal.svg +5 -0
  51. data/cockpit/themes/reduced/symbols/parallel_eventbased_exclusive.svg +9 -0
  52. data/cockpit/themes/reduced/symbols/parallel_eventbased_parallel.svg +8 -0
  53. data/cockpit/themes/reduced/symbols/scripts.svg +4 -0
  54. data/cockpit/themes/reduced/symbols/start.svg +3 -0
  55. data/cockpit/themes/reduced/symbols/start_event.svg +5 -0
  56. data/cockpit/themes/reduced/symbols/stop.svg +5 -0
  57. data/cockpit/themes/reduced/symbols/terminate.svg +4 -0
  58. data/cockpit/themes/reduced/theme.js +11 -0
  59. data/cpee.gemspec +1 -1
  60. data/server/executionhandlers/{rubyext → eval}/backend/opts.yaml +1 -3
  61. data/server/executionhandlers/{rubyext → eval}/connection.rb +37 -106
  62. data/server/executionhandlers/{rubyext → eval}/controller.rb +0 -6
  63. data/server/executionhandlers/{rubyext → eval}/execution.rb +20 -22
  64. data/server/executionhandlers/ruby/backend/opts.yaml +2 -0
  65. data/server/executionhandlers/ruby/connection.rb +154 -57
  66. data/server/executionhandlers/ruby/controller.rb +16 -0
  67. data/server/executionhandlers/ruby/dsl_to_dslx.xsl +29 -29
  68. data/server/executionhandlers/ruby/execution.rb +15 -13
  69. data/server/routing/end.pid +1 -1
  70. data/server/routing/forward-events-00.pid +1 -1
  71. data/server/routing/forward-votes.pid +1 -1
  72. data/server/routing/persist.pid +1 -1
  73. metadata +67 -12
  74. /data/server/executionhandlers/{rubyext → eval}/backend/README.md +0 -0
  75. /data/server/executionhandlers/{rubyext → eval}/backend/instance.template +0 -0
  76. /data/server/executionhandlers/{rubyext → eval}/backend/run +0 -0
  77. /data/server/executionhandlers/{rubyext → eval}/dsl_to_dslx.xsl +0 -0
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 41f311fdc70aec9386640a09a7331abdd3279d08e532de6a74f019a89d413cd8
4
- data.tar.gz: 479b16db900e1270c2124d5b413d3623813bc4b37d8727a8bbce397ea1207953
3
+ metadata.gz: f518f4b9d5a0238d31aed4c8967847591bd00205c44832364fa34950d900303f
4
+ data.tar.gz: 9c1a803e5e92589016de9ec718ade8b9b69fa59ad31ba178a267d24276778185
5
5
  SHA512:
6
- metadata.gz: 0c6f6a22e4e5d76474b160f780b99a4f4e6355259174cf31f99704512e88863dcc0ee9f17a3c037a0fc44a98730ae8f1f2eff8a749de774eb87f409ecb286b11
7
- data.tar.gz: 7b70f1adc92d339b829ef8285fafb7836946d73c6b51e6cf16f0a278ba84cae0a6191897dcdbf3caf61bcd2960643da2a7cbb1b36260ef19a29639659ea3f25b
6
+ metadata.gz: 70c1113b62d8203d7663fed0cbb5304999b302fdf24b33514997f6143a8507e3030ce1ba99cb9aaf3d8f1351355872a642b7e454b26b8a4e290adf0c6ebce4f5
7
+ data.tar.gz: 9780db57e950af4ba017bc5b72a25d6d82017d7bca88eac26d91f659415b22a6b9aba1662e301587ef6ac5614b461ae9240c0d4882418289d43778bd8d11850a
@@ -7,6 +7,8 @@ var loading = false;
7
7
  var subscription;
8
8
  var subscription_state = 'less';
9
9
  var graph_changed = new Event("graph:changed", {"bubbles":true, "cancelable":false});
10
+ var graph_theme = null;
11
+ var graph_position = null;
10
12
  var model_loaded = new Event("model:loaded", {"bubbles":true, "cancelable":false});
11
13
  var save = {};
12
14
  save['endpoints'] = undefined;
@@ -125,6 +127,8 @@ function cockpit() { //{{{
125
127
  uidash_toggle_vis_tab($('#instance'));
126
128
  uidash_toggle_vis_tab($('#parameters'));
127
129
  }
130
+ if (q.theme) { graph_theme = q.theme; }
131
+ if (q.position) { graph_position = q.position; }
128
132
  if (q.monitor && q.load) {
129
133
  if (q.load.match(/https?:\/\//)) {
130
134
  $('body').attr('load-testset',q.load);
@@ -371,7 +375,7 @@ function monitor_instance(cin,rep,load,exec) {// {{{
371
375
  $("#current-track").show();
372
376
  $("#current-track").attr('href','track.html?monitor=' + url);
373
377
  var q = $.parseQuerySimple();
374
- history.replaceState({}, '', '?' + (q.min || q.min=="" ? "min&" : "") + 'monitor='+url);
378
+ history.replaceState({}, '', '?' + (graph_position ? "position=" + graph_position + "&" : "") + (graph_theme ? "theme=" + graph_theme + "&" : "") + (q.min || q.min=="" ? "min&" : "") + 'monitor='+url);
375
379
 
376
380
  // Change url to return to current instance when reloading (because new subscription is made)
377
381
  $("input[name=votecontinue]").prop( "checked", false );
@@ -552,6 +556,7 @@ function adaptor_update() { //{{{
552
556
  function adaptor_init(url,theme,dslx) { //{{{
553
557
  // while inside and svgs are reloaded, do nothing here
554
558
  if (suspended_redrawing) { return; }
559
+ if (graph_theme) { theme = graph_theme; }
555
560
  if (save['graph_theme'] != theme) {
556
561
  // while inside and svgs are reloaded, do nothing here
557
562
  suspended_redrawing = true;
@@ -857,6 +862,12 @@ function monitor_instance_state() {// {{{
857
862
  }// }}}
858
863
 
859
864
  function monitor_instance_pos() {// {{{
865
+ if (graph_position) {
866
+ save['instance_pos'] = $X('<' + graph_position + '>after</' + graph_position + '>');
867
+ format_visual_clear();
868
+ format_instance_pos();
869
+ return;
870
+ };
860
871
  var url = $('body').attr('current-instance');
861
872
  $.ajax({
862
873
  type: "GET",
@@ -889,6 +900,7 @@ function monitor_instance_running(content,event) {// {{{
889
900
  }
890
901
  } // }}}
891
902
  function monitor_instance_pos_change(content) {// {{{
903
+ if (graph_position) { return } ;
892
904
  if (content['at']) {
893
905
  $.each(content['at'],function(a,b){
894
906
  if (!save['activity_blue_states'][b.uuid]) {
@@ -1,6 +1,5 @@
1
- <?xml version="1.0"?>
2
1
  <testset xmlns="http://cpee.org/ns/properties/2.0">
3
- <executionhandler>rubyext</executionhandler>
2
+ <executionhandler>eval</executionhandler>
4
3
  <dataelements>
5
4
  <persons>3</persons>
6
5
  <card>Visa_12345</card>
@@ -23,7 +22,7 @@
23
22
  </endpoints>
24
23
  <attributes>
25
24
  <theme>extended</theme>
26
- <info>Coopis 2010 Ext</info>
25
+ <info>Coopis 2010 Eval</info>
27
26
  <creator>Christine Ashcreek</creator>
28
27
  <author>Christine Ashcreek</author>
29
28
  <modeltype>CPEE</modeltype>
@@ -0,0 +1,25 @@
1
+ <element xmlns="http://relaxng.org/ns/structure/1.0" xmlns:rngui="http://rngui.org" rngui:version="1.2" name="alternative" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes" ns="http://cpee.org/ns/description/1.0">
2
+ <attribute name="condition" rngui:label="Condition">
3
+ <data type="string" rngui:label="Condition"/>
4
+ </attribute>
5
+ <element name="_probability" rngui:mark="true" rngui:header="Execution Probability">
6
+ <element name="_probability_min" rngui:label="Min in %">
7
+ <data type="integer" rngui:label="Percent 0-100">
8
+ <param name="minInclusive">1</param>
9
+ <param name="maxInclusive">100</param>
10
+ </data>
11
+ </element>
12
+ <element name="_probability_max" rngui:label="Max in %">
13
+ <data type="integer" rngui:label="Percent 0-100">
14
+ <param name="minInclusive">1</param>
15
+ <param name="maxInclusive">100</param>
16
+ </data>
17
+ </element>
18
+ <element name="_probability_avg" rngui:label="Avg in %">
19
+ <data type="integer" rngui:label="Percent 0-100">
20
+ <param name="minInclusive">1</param>
21
+ <param name="maxInclusive">100</param>
22
+ </data>
23
+ </element>
24
+ </element>
25
+ </element>
@@ -0,0 +1,228 @@
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="call" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
2
+ <attribute name="id" rngui:label="ID" rngui:default="javascript:get_free_id()">
3
+ <data type="string" rngui:readonly="true"/>
4
+ </attribute>
5
+ <attribute name="endpoint" rngui:label="Endpoint">
6
+ <data type="string">
7
+ <param name="pattern">^[a-z_][a-zA-Z0-9_]*$</param>
8
+ </data>
9
+ </attribute>
10
+ <element name="parameters" rngui:header="Properties">
11
+ <element name="label" rngui:label="Label">
12
+ <data type="string" rngui:label="Short description of the task"/>
13
+ </element>
14
+ <element name="method" rngui:label="Method">
15
+ <choice>
16
+ <value>:post</value>
17
+ <value>:get</value>
18
+ <value>:put</value>
19
+ <value>:delete</value>
20
+ </choice>
21
+ </element>
22
+ <element name="arguments" rngui:header="Arguments">
23
+ <zeroOrMore rngui:label="Create Argument Pair">
24
+ <element rngui:label="Name" rngui:labeltype="xml">
25
+ <anyName/>
26
+ <data type="string" rngui:label="Value"/>
27
+ </element>
28
+ </zeroOrMore>
29
+ </element>
30
+ </element>
31
+ <element name="annotations" rngui:header="Annotations">
32
+ <element name="_generic" rngui:header="Generic" rngui:fold="closed">
33
+ <zeroOrMore rngui:label="Create Annotation Pair">
34
+ <element rngui:label="Name" rngui:labeltype="xml">
35
+ <anyName/>
36
+ <data type="string" rngui:label="Value"/>
37
+ </element>
38
+ </zeroOrMore>
39
+ </element>
40
+ <element name="_timing" rngui:header="Timing" rngui:fold="closed">
41
+ <element name="_timing_weight" rngui:label="&#x3C9; - Weight">
42
+ <data type="float" rngui:label="[0,1]"/>
43
+ </element>
44
+ <element name="_timing_avg" rngui:label="Avg in min">
45
+ <data type="float" rngui:label="Minutes"/>
46
+ </element>
47
+ <element name="explanations" rngui:header="Explanations">
48
+ <zeroOrMore rngui:label="Add Explanation">
49
+ <element name="explanation">
50
+ <element name="type" rngui:label="Type">
51
+ <choice>
52
+ <value>&gt;</value>
53
+ <value>&lt;</value>
54
+ </choice>
55
+ </element>
56
+ <element name="deviation" rngui:label="Deviation">
57
+ <data type="float" rngui:label="Minutes"/>
58
+ </element>
59
+ <element name="behaviour" rngui:label="Behaviour">
60
+ <choice>
61
+ <value>Immediately</value>
62
+ <value>Wait until next</value>
63
+ <value>Use grace period value</value>
64
+ </choice>
65
+ </element>
66
+ <element name="grace" rngui:label="Grace Period" rngui:default="0.0">
67
+ <data type="float" rngui:label="Minutes"/>
68
+ </element>
69
+ <element name="text" rngui:label="Explanation">
70
+ <data type="string" rngui:label="Patterns"/>
71
+ </element>
72
+ </element>
73
+ </zeroOrMore>
74
+ </element>
75
+ </element>
76
+ <element name="_shifting" rngui:header="Log Time Shifting" rngui:fold="closed_conditional">
77
+ <element name="_shifting_type" rngui:label="Type">
78
+ <choice>
79
+ <value>Duration</value>
80
+ <value>Ends</value>
81
+ </choice>
82
+ </element>
83
+ <optional>
84
+ <element name="_shifting_expression" rngui:label="Expression">
85
+ <data type="string" rngui:label="e.g.: same day, 16:00; 2 and a half weeks"/>
86
+ </element>
87
+ </optional>
88
+ </element>
89
+ <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
+ <element name="probes" rngui:header="Data Probes - Context Data Extraction" rngui:fold="closed_conditional">
91
+ <zeroOrMore rngui:label="Add Probe">
92
+ <element name="probe">
93
+ <element name="id" rngui:label="ID">
94
+ <data type="string" rngui:label="ID"/>
95
+ </element>
96
+ <element name="source" rngui:label="Source">
97
+ <data type="string" rngui:label="Where does the sensor value come from?"/>
98
+ </element>
99
+ <element name="extractor_type" rngui:label="Extractor Type">
100
+ <choice>
101
+ <value rngui:label='Intrinsic'>intrinsic</value>
102
+ <value rngui:label='Extrinsic'>extrinsic</value>
103
+ <value rngui:label='Separate'>separate</value>
104
+ </choice>
105
+ </element>
106
+ <element name="extractor_code" rngui:label="Extractor Code" rngui:hint='For intrinsic &amp; extrinsic data'>
107
+ <text rngui:label="Code"/>
108
+ </element>
109
+ <element name="extractor_url" rngui:label="Extractor Service" rngui:hint='For separate data'>
110
+ <data type="string" rngui:label="Service Url"/>
111
+ </element>
112
+ <element name="extractor_params" rngui:label="Extractor Service Arguments:">
113
+ <zeroOrMore rngui:label="Create Argument Pairs">
114
+ <element rngui:label="Name">
115
+ <anyName/>
116
+ <data type="string" rngui:label="Value / Json"/>
117
+ </element>
118
+ </zeroOrMore>
119
+ </element>
120
+ <element name="visualizer_url" rngui:label="Visualizer Url">
121
+ <data type="string" rngui:label="Service Url"/>
122
+ </element>
123
+ <element name="visualizer_params" rngui:label="Visualizer Arguments">
124
+ <zeroOrMore rngui:label="Create Argument Pairs">
125
+ <element rngui:label="Name">
126
+ <anyName/>
127
+ <data type="string" rngui:label="Value / Json"/>
128
+ </element>
129
+ </zeroOrMore>
130
+ </element>
131
+ </element>
132
+ </zeroOrMore>
133
+ </element>
134
+
135
+ <element name="ips" rngui:header="Impact Profiles" rngui:fold="closed">
136
+ <zeroOrMore rngui:label="Add Impact Profile">
137
+ <element name="ip">
138
+ <element name="name" rngui:label="Label">
139
+ <data type="string" rngui:label="Label"/>
140
+ </element>
141
+ <element name="target" rngui:label="Target Value">
142
+ <data type="string" rngui:label="Value"/>
143
+ </element>
144
+ <element name="ifs" rngui:header="Impact Factors">
145
+ <zeroOrMore rngui:label="Add Impact Factor">
146
+ <element name="if">
147
+ <element name="ivs" rngui:header="Impact Values">
148
+ <zeroOrMore rngui:label="Add Impact Value ">
149
+ <element name="iv">
150
+ <element name="extractor_url" rngui:label="Extractor Url">
151
+ <data type="string" rngui:label="Service Url + Parameters"/>
152
+ </element>
153
+ <element name="extractor_params" rngui:header="Extractor Arguments">
154
+ <zeroOrMore rngui:label="Create Extractor Argument Pairs">
155
+ <element rngui:label="Name">
156
+ <anyName/>
157
+ <data type="string" rngui:label="Value / Json"/>
158
+ </element>
159
+ </zeroOrMore>
160
+ </element>
161
+ <element name="aggregator_url" rngui:label="Aggregator Url">
162
+ <data type="string" rngui:label="Service Url + Parameters"/>
163
+ </element>
164
+ <element name="aggregator_params" rngui:header="Extractor Arguments">
165
+ <zeroOrMore rngui:label="Create Aggregator Argument Pairs">
166
+ <element rngui:label="Name">
167
+ <anyName/>
168
+ <data type="string" rngui:label="Value / Json"/>
169
+ </element>
170
+ </zeroOrMore>
171
+ </element>
172
+ </element>
173
+ </zeroOrMore>
174
+ </element>
175
+ <element name="aggregator_url" rngui:label="Impact Function Url">
176
+ <data type="string" rngui:label="Service Url + Parameters"/>
177
+ </element>
178
+ </element>
179
+ </zeroOrMore>
180
+ </element>
181
+ <element name="vfunc_url" rngui:label="Violation Function Url">
182
+ <data type="string" rngui:label="Service Url + Parameters"/>
183
+ </element>
184
+ </element>
185
+ </zeroOrMore>
186
+ </element>
187
+
188
+ </element>
189
+ <element name="report" rngui:header="Reporting" rngui:fold="closed">
190
+ <element name="url" rngui:label='HTML Snippet'>
191
+ <data type="string" rngui:label="url to report snippet"/>
192
+ </element>
193
+ </element>
194
+ <element name="_notes" rngui:header="Notes" rngui:fold="closed">
195
+ <element name="_notes_general" rngui:label="General">
196
+ <text rngui:wrap="true" rngui:label="Notes"/>
197
+ </element>
198
+ </element>
199
+ </element>
200
+
201
+ <element name="documentation" rngui:header="Documentation">
202
+ <element name="input" rngui:header="Input Arguments" rngui:fold="closed">
203
+ <zeroOrMore rngui:label="Create Argument">
204
+ <element name="item" rngui:label="Description">
205
+ <attribute name="label" rngui:label="Name">
206
+ <data type="string"/>
207
+ </attribute>
208
+ <text rngui:wrap="true" rngui:label="What does it do?"/>
209
+ </element>
210
+ </zeroOrMore>
211
+ </element>
212
+ <element name="output" rngui:header="Output Elements" rngui:fold="closed">
213
+ <zeroOrMore rngui:label="Create Element">
214
+ <element name="item" rngui:label="Description">
215
+ <attribute name="label" rngui:label="Name">
216
+ <data type="string"/>
217
+ </attribute>
218
+ <text rngui:wrap="true" rngui:label="What does it do?"/>
219
+ </element>
220
+ </zeroOrMore>
221
+ </element>
222
+ <element name="implementation" rngui:header="Implementation" rngui:fold="closed">
223
+ <element name="description" rngui:label="Description">
224
+ <text rngui:wrap="true" rngui:label="What is supposed to happen?"/>
225
+ </element>
226
+ </element>
227
+ </element>
228
+ </element>
@@ -0,0 +1,257 @@
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="call" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
2
+ <attribute name="id" rngui:label="ID" rngui:default="javascript:get_free_id()">
3
+ <data type="string" rngui:readonly="true"/>
4
+ </attribute>
5
+ <attribute name="endpoint" rngui:label="Endpoint">
6
+ <data type="string">
7
+ <param name="pattern">^[a-z_][a-zA-Z0-9_]*$</param>
8
+ </data>
9
+ </attribute>
10
+ <element name="parameters" rngui:header="Properties">
11
+ <element name="label" rngui:label="Label">
12
+ <data type="string" rngui:label="Short description of the task"/>
13
+ </element>
14
+ <element name="method" rngui:label="Method">
15
+ <choice>
16
+ <value>:post</value>
17
+ <value>:get</value>
18
+ <value>:put</value>
19
+ <value>:delete</value>
20
+ </choice>
21
+ </element>
22
+ <element name="arguments" rngui:header="Arguments">
23
+ <zeroOrMore rngui:label="Create Argument Pair">
24
+ <element rngui:label="Name" rngui:labeltype="xml">
25
+ <anyName/>
26
+ <data type="string" rngui:label="Value"/>
27
+ </element>
28
+ </zeroOrMore>
29
+ </element>
30
+ </element>
31
+ <element name="code" rngui:header="Output Handling">
32
+ <element name="prepare" rngui:header="Prepare" rngui:label="Code" rngui:fold="closed_conditional">
33
+ <text rngui:label="Script that is executed, before a service call"/>
34
+ </element>
35
+ <element name="finalize" rngui:header="Finalize" rngui:label="Code" rngui:fold="closed_conditional">
36
+ <attribute name="output" rngui:label="Access Variable" rngui:default="result">
37
+ <data type="string" rngui:readonly="true"/>
38
+ </attribute>
39
+ <text rngui:label="Script that is executed, when a service returns data"/>
40
+ </element>
41
+ <element name="update" rngui:header="Update" rngui:label="Code" rngui:fold="closed_conditional">
42
+ <attribute name="output" rngui:label="Access Variable" rngui:default="result">
43
+ <data type="string" rngui:readonly="true"/>
44
+ </attribute>
45
+ <text rngui:label="Script that is executed, when a service sends intermediate data"/>
46
+ </element>
47
+ <element name="rescue" rngui:header="Rescue" rngui:label="Code" rngui:fold="closed_conditional">
48
+ <attribute name="output" rngui:label="Access Variable" rngui:default="result">
49
+ <data type="string" rngui:readonly="true"/>
50
+ </attribute>
51
+ <text rngui:label="Script that is executed, if a service call fails"/>
52
+ </element>
53
+ </element>
54
+ <element name="annotations" rngui:header="Annotations">
55
+ <element name="_generic" rngui:header="Generic" rngui:fold="closed">
56
+ <zeroOrMore rngui:label="Create Annotation Pair">
57
+ <element rngui:label="Name" rngui:labeltype="xml">
58
+ <anyName/>
59
+ <data type="string" rngui:label="Value"/>
60
+ </element>
61
+ </zeroOrMore>
62
+ </element>
63
+ <element name="_timing" rngui:header="Timing" rngui:fold="closed">
64
+ <element name="_timing_weight" rngui:label="&#x3C9; - Weight">
65
+ <data type="float" rngui:label="[0,1]"/>
66
+ </element>
67
+ <element name="_timing_avg" rngui:label="Avg in min">
68
+ <data type="float" rngui:label="Minutes"/>
69
+ </element>
70
+ <element name="explanations" rngui:header="Explanations">
71
+ <zeroOrMore rngui:label="Add Explanation">
72
+ <element name="explanation">
73
+ <element name="type" rngui:label="Type">
74
+ <choice>
75
+ <value>&gt;</value>
76
+ <value>&lt;</value>
77
+ </choice>
78
+ </element>
79
+ <element name="deviation" rngui:label="Deviation">
80
+ <data type="float" rngui:label="Minutes"/>
81
+ </element>
82
+ <element name="behaviour" rngui:label="Behaviour">
83
+ <choice>
84
+ <value>Immediately</value>
85
+ <value>Wait until next</value>
86
+ <value>Use grace period value</value>
87
+ </choice>
88
+ </element>
89
+ <element name="grace" rngui:label="Grace Period" rngui:default="0.0">
90
+ <data type="float" rngui:label="Minutes"/>
91
+ </element>
92
+ <element name="text" rngui:label="Explanation">
93
+ <data type="string" rngui:label="Patterns"/>
94
+ </element>
95
+ </element>
96
+ </zeroOrMore>
97
+ </element>
98
+ </element>
99
+ <element name="_shifting" rngui:header="Log Time Shifting" rngui:fold="closed_conditional">
100
+ <element name="_shifting_type" rngui:label="Type">
101
+ <choice>
102
+ <value>Duration</value>
103
+ <value>Ends</value>
104
+ </choice>
105
+ </element>
106
+ <optional>
107
+ <element name="_shifting_expression" rngui:label="Expression">
108
+ <data type="string" rngui:label="e.g.: same day, 16:00; 2 and a half weeks"/>
109
+ </element>
110
+ </optional>
111
+ </element>
112
+ <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.">
113
+
114
+ <element name="probes" rngui:header="Data Probes - Context Data Extraction" rngui:fold="closed_conditional">
115
+ <zeroOrMore rngui:label="Add Probe">
116
+ <element name="probe">
117
+ <element name="id" rngui:label="ID">
118
+ <data type="string" rngui:label="ID"/>
119
+ </element>
120
+ <element name="source" rngui:label="Source">
121
+ <data type="string" rngui:label="Where does the sensor value come from?"/>
122
+ </element>
123
+ <element name="extractor_type" rngui:label="Extractor Type">
124
+ <choice>
125
+ <value rngui:label='Intrinsic'>intrinsic</value>
126
+ <value rngui:label='Extrinsic'>extrinsic</value>
127
+ <value rngui:label='Separate'>separate</value>
128
+ </choice>
129
+ </element>
130
+ <element name="extractor_code" rngui:label="Extractor Code" rngui:hint='For intrinsic &amp; extrinsic data'>
131
+ <text rngui:label="Code"/>
132
+ </element>
133
+ <element name="extractor_url" rngui:label="Extractor Service" rngui:hint='For separate data'>
134
+ <data type="string" rngui:label="Service Url"/>
135
+ </element>
136
+ <element name="extractor_params" rngui:label="Extractor Service Arguments:">
137
+ <zeroOrMore rngui:label="Create Argument Pairs">
138
+ <element rngui:label="Name">
139
+ <anyName/>
140
+ <data type="string" rngui:label="Value / Json"/>
141
+ </element>
142
+ </zeroOrMore>
143
+ </element>
144
+ <element name="visualizer_url" rngui:label="Visualizer Url">
145
+ <data type="string" rngui:label="Service Url"/>
146
+ </element>
147
+ <element name="visualizer_params" rngui:label="Visualizer Arguments">
148
+ <zeroOrMore rngui:label="Create Argument Pairs">
149
+ <element rngui:label="Name">
150
+ <anyName/>
151
+ <data type="string" rngui:label="Value / Json"/>
152
+ </element>
153
+ </zeroOrMore>
154
+ </element>
155
+ </element>
156
+ </zeroOrMore>
157
+ </element>
158
+
159
+ <element name="ips" rngui:header="Impact Profiles" rngui:fold="closed">
160
+ <zeroOrMore rngui:label="Add Impact Profile">
161
+ <element name="ip">
162
+ <element name="name" rngui:label="Label">
163
+ <data type="string" rngui:label="Label"/>
164
+ </element>
165
+ <element name="target" rngui:label="Target Value">
166
+ <data type="string" rngui:label="Value"/>
167
+ </element>
168
+ <element name="ifs" rngui:header="Impact Factors">
169
+ <zeroOrMore rngui:label="Add Impact Factor">
170
+ <element name="if">
171
+ <element name="ivs" rngui:header="Impact Values">
172
+ <zeroOrMore rngui:label="Add Impact Value ">
173
+ <element name="iv">
174
+ <element name="extractor_url" rngui:label="Extractor Url">
175
+ <data type="string" rngui:label="Service Url + Parameters"/>
176
+ </element>
177
+ <element name="extractor_params" rngui:header="Extractor Arguments">
178
+ <zeroOrMore rngui:label="Create Extractor Argument Pairs">
179
+ <element rngui:label="Name">
180
+ <anyName/>
181
+ <data type="string" rngui:label="Value / Json"/>
182
+ </element>
183
+ </zeroOrMore>
184
+ </element>
185
+ <element name="aggregator_url" rngui:label="Aggregator Url">
186
+ <data type="string" rngui:label="Service Url + Parameters"/>
187
+ </element>
188
+ <element name="aggregator_params" rngui:header="Extractor Arguments">
189
+ <zeroOrMore rngui:label="Create Aggregator Argument Pairs">
190
+ <element rngui:label="Name">
191
+ <anyName/>
192
+ <data type="string" rngui:label="Value / Json"/>
193
+ </element>
194
+ </zeroOrMore>
195
+ </element>
196
+ </element>
197
+ </zeroOrMore>
198
+ </element>
199
+ <element name="aggregator_url" rngui:label="Impact Function Url">
200
+ <data type="string" rngui:label="Service Url + Parameters"/>
201
+ </element>
202
+ </element>
203
+ </zeroOrMore>
204
+ </element>
205
+ <element name="vfunc_url" rngui:label="Violation Function Url">
206
+ <data type="string" rngui:label="Service Url + Parameters"/>
207
+ </element>
208
+ </element>
209
+ </zeroOrMore>
210
+ </element>
211
+
212
+ </element>
213
+ <element name="report" rngui:header="Reporting" rngui:fold="closed">
214
+ <element name="url" rngui:label='HTML Snippet'>
215
+ <data type="string" rngui:label="url to report snippet"/>
216
+ </element>
217
+ </element>
218
+ <element name="_notes" rngui:header="Notes" rngui:fold="closed">
219
+ <element name="_notes_general" rngui:label="General">
220
+ <text rngui:wrap="true" rngui:label="Notes"/>
221
+ </element>
222
+ </element>
223
+ </element>
224
+
225
+ <element name="documentation" rngui:header="Documentation">
226
+ <element name="input" rngui:header="Input Arguments" rngui:fold="closed">
227
+ <zeroOrMore rngui:label="Create Argument">
228
+ <element name="item" rngui:label="Description">
229
+ <attribute name="label" rngui:label="Name">
230
+ <data type="string"/>
231
+ </attribute>
232
+ <text rngui:wrap="true" rngui:label="What does it do?"/>
233
+ </element>
234
+ </zeroOrMore>
235
+ </element>
236
+ <element name="output" rngui:header="Output Elements" rngui:fold="closed">
237
+ <zeroOrMore rngui:label="Create Element">
238
+ <element name="item" rngui:label="Description">
239
+ <attribute name="label" rngui:label="Name">
240
+ <data type="string"/>
241
+ </attribute>
242
+ <text rngui:wrap="true" rngui:label="What does it do?"/>
243
+ </element>
244
+ </zeroOrMore>
245
+ </element>
246
+ <element name="implementation" rngui:header="Implementation" rngui:fold="closed">
247
+ <element name="description" rngui:label="Description">
248
+ <text rngui:wrap="true" rngui:label="What is supposed to happen?"/>
249
+ </element>
250
+ </element>
251
+ <element name="code" rngui:header="Output Handling" rngui:fold="closed">
252
+ <element name="description" rngui:label="Description">
253
+ <text rngui:wrap="true" rngui:label="Which output elements are important? How to transform and save them?"/>
254
+ </element>
255
+ </element>
256
+ </element>
257
+ </element>
@@ -0,0 +1,14 @@
1
+ <element xmlns="http://relaxng.org/ns/structure/1.0" xmlns:rngui="http://rngui.org" rngui:version="1.2" name="choose" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes" ns="http://cpee.org/ns/description/1.0">
2
+ <attribute name="mode" rngui:label="Mode" rngui:default="exclusive">
3
+ <choice>
4
+ <value>exclusive</value>
5
+ <value>inclusive</value>
6
+ </choice>
7
+ </attribute>
8
+ <element rngui:ignore="true" name="alternative">
9
+ <attribute name="condition">
10
+ <data type="string"/>
11
+ </attribute>
12
+ </element>
13
+ <element rngui:ignore="true" name="otherwise"/>
14
+ </element>