cpee 2.0.20 → 2.0.25
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/cockpit/CPEE.xml +8 -0
- data/cockpit/Signavio.xml +8 -0
- data/cockpit/css/model.css +2 -0
- data/cockpit/css/replay.css +55 -0
- data/cockpit/css/ui.css +3 -1
- data/cockpit/edit.html +260 -0
- data/cockpit/index.html +2 -2
- data/cockpit/js/edit.js +32 -0
- data/cockpit/js/instance.js +34 -36
- data/cockpit/js/model.js +0 -25
- data/cockpit/js/parameters.js +3 -0
- data/cockpit/js/replay.js +40 -0
- data/cockpit/js/ui.js +7 -0
- data/cockpit/model.html +4 -1
- data/cockpit/replay.html +52 -0
- data/cockpit/templates/instantiate.local/Take_Sub.xml +1 -1
- data/cockpit/themes/compact/rngs/call.rng +93 -41
- data/cockpit/themes/compact/rngs/callmanipulate.rng +113 -40
- data/cockpit/themes/compact/theme.js +57 -25
- data/cockpit/themes/{diana → control}/rngs/alternative.rng +0 -0
- data/cockpit/themes/control/rngs/call.rng +174 -0
- data/cockpit/themes/control/rngs/callmanipulate.rng +218 -0
- data/cockpit/themes/{diana → control}/rngs/choose.rng +0 -0
- data/cockpit/themes/{diana → control}/rngs/closed_loop.rng +0 -0
- data/cockpit/themes/{diana → control}/rngs/closed_loop_cancel.rng +0 -0
- data/cockpit/themes/{diana → control}/rngs/closed_loop_control.rng +0 -0
- data/cockpit/themes/{diana → control}/rngs/closed_loop_measuring.rng +0 -0
- data/cockpit/themes/{diana → control}/rngs/critical.rng +0 -0
- data/cockpit/themes/{diana → control}/rngs/escape.rng +0 -0
- data/cockpit/themes/{diana → control}/rngs/group.rng +0 -0
- data/cockpit/themes/{diana → control}/rngs/loop.rng +0 -0
- data/cockpit/themes/{diana → control}/rngs/manipulate.rng +0 -0
- data/cockpit/themes/{diana → control}/rngs/otherwise.rng +0 -0
- data/cockpit/themes/{diana → control}/rngs/parallel.rng +0 -0
- data/cockpit/themes/{diana → control}/rngs/parallel_branch.rng +0 -0
- data/cockpit/themes/{diana → control}/rngs/scripts.rng +0 -0
- data/cockpit/themes/{diana → control}/rngs/stop.rng +0 -0
- data/cockpit/themes/{diana → control}/rngs/terminate.rng +0 -0
- data/cockpit/themes/{diana → control}/symbols/alternative.svg +0 -0
- data/cockpit/themes/{diana → control}/symbols/arrow.svg +0 -0
- data/cockpit/themes/{diana → control}/symbols/call.svg +0 -0
- data/cockpit/themes/{diana → control}/symbols/callmanipulate.svg +0 -0
- data/cockpit/themes/{diana → control}/symbols/choose.svg +0 -0
- data/cockpit/themes/{diana → control}/symbols/choose_exclusive.svg +0 -0
- data/cockpit/themes/{diana → control}/symbols/choose_inclusive.svg +0 -0
- data/cockpit/themes/{diana → control}/symbols/closed_loop.svg +0 -0
- data/cockpit/themes/{diana → control}/symbols/closed_loop_cancel.svg +0 -0
- data/cockpit/themes/{diana → control}/symbols/closed_loop_control.svg +0 -0
- data/cockpit/themes/{diana → control}/symbols/closed_loop_measuring.svg +0 -0
- data/cockpit/themes/{diana → control}/symbols/complex.svg +0 -0
- data/cockpit/themes/{diana → control}/symbols/critical.svg +0 -0
- data/cockpit/themes/{diana → control}/symbols/end.svg +0 -0
- data/cockpit/themes/{diana → control}/symbols/escape.svg +0 -0
- data/cockpit/themes/{diana → control}/symbols/event_end.svg +0 -0
- data/cockpit/themes/{diana → control}/symbols/loop.svg +0 -0
- data/cockpit/themes/{diana → control}/symbols/manipulate.svg +0 -0
- data/cockpit/themes/{diana → control}/symbols/otherwise.svg +0 -0
- data/cockpit/themes/{diana → control}/symbols/parallel.svg +0 -0
- data/cockpit/themes/{diana → control}/symbols/parallel_branch.svg +0 -0
- data/cockpit/themes/{diana → control}/symbols/parallel_branch_compact.svg +0 -0
- data/cockpit/themes/{diana → control}/symbols/parallel_branch_event.svg +0 -0
- data/cockpit/themes/{diana → control}/symbols/parallel_branch_normal.svg +0 -0
- data/cockpit/themes/{diana → control}/symbols/scripts.svg +0 -0
- data/cockpit/themes/{diana → control}/symbols/start.svg +0 -0
- data/cockpit/themes/{diana → control}/symbols/stop.svg +0 -0
- data/cockpit/themes/{diana → control}/symbols/terminate.svg +0 -0
- data/cockpit/themes/{diana → control}/theme.js +74 -28
- data/cockpit/themes/default/rngs/call.rng +93 -41
- data/cockpit/themes/default/rngs/callmanipulate.rng +113 -40
- data/cockpit/themes/default/theme.js +1318 -0
- data/cockpit/themes/extended/rngs/call.rng +93 -41
- data/cockpit/themes/extended/rngs/callmanipulate.rng +113 -40
- data/cockpit/themes/extended/theme.js +50 -19
- data/cockpit/themes/model/rngs/call.rng +21 -20
- data/cockpit/themes/model/rngs/callmanipulate.rng +23 -22
- data/cockpit/themes/model/theme.js +51 -20
- data/cockpit/themes/packed/rngs/call.rng +93 -41
- data/cockpit/themes/packed/rngs/callmanipulate.rng +113 -40
- data/cockpit/themes/packed/theme.js +50 -19
- data/cockpit/themes/preset/rngs/call.rng +93 -41
- data/cockpit/themes/preset/rngs/callmanipulate.rng +113 -40
- data/cockpit/themes/preset/theme.js +49 -18
- data/cockpit/track.html +0 -7
- data/cockpit/transformations.xml +4 -0
- data/cpee.gemspec +2 -2
- data/lib/callbacks.xml +5 -0
- data/lib/cpee/controller.rb +29 -27
- data/lib/cpee/implementation_callbacks.rb +53 -0
- data/server/handlerwrappers/default.rb +17 -5
- data/server/resources/notifications/logging/subscription.xml +6 -0
- data/server/resources/transformation_dslx.xsl +1 -1
- data/server/routing/end.pid +1 -0
- data/server/routing/forward-events.pid +1 -0
- data/server/routing/forward-votes.pid +1 -0
- data/server/routing/persist.pid +1 -0
- data/server/routing/persist.rb +3 -3
- data/server/server.pid +1 -0
- metadata +63 -50
- data/cockpit/edit.html +0 -1
- data/cockpit/themes/diana/rngs/call.rng +0 -122
- data/cockpit/themes/diana/rngs/callmanipulate.rng +0 -145
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -49,6 +49,16 @@ function WFAdaptorManifestation(adaptor) {
|
|
|
49
49
|
});
|
|
50
50
|
return svgid;
|
|
51
51
|
}; //}}}
|
|
52
|
+
//{{{ Return the json for all marked tasks
|
|
53
|
+
this.marked_text = function(){
|
|
54
|
+
var nodes = [];
|
|
55
|
+
var markymark = _.uniq(self.marked());
|
|
56
|
+
$(markymark).each(function(key,svgid){
|
|
57
|
+
var node = self.adaptor.description.get_node_by_svg_id(svgid);
|
|
58
|
+
nodes.push($(node).serializePrettyXML());
|
|
59
|
+
});
|
|
60
|
+
return JSON.stringify(nodes);
|
|
61
|
+
}; //}}}
|
|
52
62
|
//{{{ Render the details from rng (right hand side of graph tab)
|
|
53
63
|
this.update_details = function(svgid){
|
|
54
64
|
var tab = $('#dat_details');
|
|
@@ -76,35 +86,46 @@ function WFAdaptorManifestation(adaptor) {
|
|
|
76
86
|
}; //}}}
|
|
77
87
|
|
|
78
88
|
function copyOrMove(menu,group,xml_node,mode) { //{{{
|
|
79
|
-
var
|
|
89
|
+
var nodes = localStorage.getItem('marked');
|
|
90
|
+
|
|
91
|
+
if (typeof(nodes) != "string") { return; }
|
|
92
|
+
|
|
93
|
+
nodes = JSON.parse(nodes);
|
|
94
|
+
$(nodes).each(function(key,str) {
|
|
95
|
+
nodes[key] = $X(str);;
|
|
96
|
+
});
|
|
97
|
+
|
|
80
98
|
var check1 = [];
|
|
81
99
|
var check2 = [];
|
|
82
|
-
$(
|
|
83
|
-
var node = self.adaptor.description.get_node_by_svg_id(svgid);
|
|
100
|
+
$(nodes).each(function(key,node){
|
|
84
101
|
check1.push($(node).attr('svg-type'));
|
|
85
102
|
});
|
|
86
103
|
$(group).each(function(key,value){
|
|
87
104
|
check2.push(value.type);
|
|
88
105
|
});
|
|
89
106
|
|
|
90
|
-
if (
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
}
|
|
96
|
-
|
|
107
|
+
if (nodes.length > 0 && _.uniq(check1).length == _.intersection(check1,check2).length) {
|
|
108
|
+
if (myid == localStorage.getItem('marked_from')) {
|
|
109
|
+
$(nodes).each(function(key,node){
|
|
110
|
+
nodes[key] = self.adaptor.description.get_node_by_svg_id($(node).attr('svg-id'));
|
|
111
|
+
});
|
|
112
|
+
}
|
|
113
|
+
nodes.reverse();
|
|
97
114
|
var iconm = self.resources['arrow'].clone();
|
|
98
115
|
var iconc = self.resources['arrow'].clone();
|
|
99
116
|
iconm.children('.rfill').addClass('menu');
|
|
117
|
+
if (myid == localStorage.getItem('marked_from')) {
|
|
118
|
+
menu.push(
|
|
119
|
+
{
|
|
120
|
+
'label': '<em>Move Marked Elements</em>',
|
|
121
|
+
'function_call': mode,
|
|
122
|
+
'menu_icon': iconm,
|
|
123
|
+
'type': undefined,
|
|
124
|
+
'params': [nodes, xml_node]
|
|
125
|
+
}
|
|
126
|
+
);
|
|
127
|
+
}
|
|
100
128
|
menu.push(
|
|
101
|
-
{
|
|
102
|
-
'label': '<em>Move Marked Elements</em>',
|
|
103
|
-
'function_call': mode,
|
|
104
|
-
'menu_icon': iconm,
|
|
105
|
-
'type': undefined,
|
|
106
|
-
'params': [nodes, xml_node]
|
|
107
|
-
},
|
|
108
129
|
{
|
|
109
130
|
'label': '<em>Copy Marked Elements</em>',
|
|
110
131
|
'function_call': mode,
|
|
@@ -217,16 +238,26 @@ function WFAdaptorManifestation(adaptor) {
|
|
|
217
238
|
self.adaptor.illustrator.get_elements().removeClass('selected');
|
|
218
239
|
self.adaptor.illustrator.get_labels().removeClass('selected');
|
|
219
240
|
|
|
220
|
-
if (e && e.ctrlKey) {
|
|
241
|
+
if (e && (e.ctrlKey || e.metaKey)) {
|
|
221
242
|
if (save['state'] != "ready" && save['state'] != "stopped") { return false; }
|
|
222
243
|
var tab = $('#dat_details');
|
|
223
244
|
tab.empty();
|
|
224
245
|
var vtarget = self.adaptor.illustrator.get_node_by_svg_id(svgid);
|
|
225
246
|
if (vtarget.length > 0) {
|
|
226
|
-
vtarget.parents('g.element[element-id]')
|
|
247
|
+
var vt = vtarget.parents('g.element[element-id]');
|
|
248
|
+
vt.toggleClass('marked');
|
|
249
|
+
if (vt.hasClass('marked')) {
|
|
250
|
+
localStorage.setItem('marked',self.marked_text());
|
|
251
|
+
localStorage.setItem('marked_from',myid);
|
|
252
|
+
} else {
|
|
253
|
+
localStorage.removeItem('marked');
|
|
254
|
+
localStorage.removeItem('marked_from');
|
|
255
|
+
}
|
|
227
256
|
}
|
|
228
257
|
} else {
|
|
229
258
|
self.adaptor.illustrator.get_elements().removeClass('marked');
|
|
259
|
+
localStorage.removeItem('marked');
|
|
260
|
+
localStorage.removeItem('marked_from');
|
|
230
261
|
|
|
231
262
|
var vtarget = self.adaptor.illustrator.get_node_by_svg_id(svgid);
|
|
232
263
|
if (vtarget.length > 0) {
|
|
@@ -866,7 +897,7 @@ function WFAdaptorManifestation(adaptor) {
|
|
|
866
897
|
},
|
|
867
898
|
'label': function(node){
|
|
868
899
|
var avg = $('> _probability_avg',$(node).children('_probability')).text();
|
|
869
|
-
var ret = [ { column: 'Label', value:
|
|
900
|
+
var ret = [ { column: 'Label', value: $(node).attr('overrun') } ];
|
|
870
901
|
if (avg != '') {
|
|
871
902
|
ret.push({ column: 'Average', value: avg + '%' });
|
|
872
903
|
}
|
|
@@ -921,8 +952,17 @@ function WFAdaptorManifestation(adaptor) {
|
|
|
921
952
|
return false;
|
|
922
953
|
},
|
|
923
954
|
'label': function(node){
|
|
924
|
-
var vals =
|
|
925
|
-
|
|
955
|
+
var vals = [];
|
|
956
|
+
$('> value',$(node).children('_expected')).each((k,v) => {
|
|
957
|
+
vals.push($(v).text());
|
|
958
|
+
});
|
|
959
|
+
var valtext = '';
|
|
960
|
+
if (vals.length > 0) {
|
|
961
|
+
valtext = ' (' + vals.join(', ') + ')';
|
|
962
|
+
} else {
|
|
963
|
+
valtext = '';
|
|
964
|
+
}
|
|
965
|
+
var ret = [ { column: 'Label', value: 'measure: f = ' + $(node).attr('frequency') + ' Hz' + valtext } ];
|
|
926
966
|
return ret;
|
|
927
967
|
},
|
|
928
968
|
'svg': self.adaptor.theme_dir + 'symbols/closed_loop_measuring.svg'
|
|
@@ -998,7 +1038,13 @@ function WFAdaptorManifestation(adaptor) {
|
|
|
998
1038
|
$('> change > value',$(node).children('_expected')).each((k,v) => {
|
|
999
1039
|
vals.push($(v).text());
|
|
1000
1040
|
});
|
|
1001
|
-
var
|
|
1041
|
+
var valtext = '';
|
|
1042
|
+
if (vals.length > 0) {
|
|
1043
|
+
valtext = ' (' + vals.join(', ') + ')';
|
|
1044
|
+
} else {
|
|
1045
|
+
valtext = '';
|
|
1046
|
+
}
|
|
1047
|
+
var ret = [ { column: 'Label', value: 'control: f = ' + $(node).attr('frequency') + ' Hz' + valtext } ];
|
|
1002
1048
|
return ret;
|
|
1003
1049
|
},
|
|
1004
1050
|
'svg': self.adaptor.theme_dir + 'symbols/closed_loop_control.svg'
|
|
@@ -1019,6 +1065,11 @@ function WFAdaptorManifestation(adaptor) {
|
|
|
1019
1065
|
'menu_icon': self.elements.call.illustrator.svg.clone(),
|
|
1020
1066
|
'type': 'call',
|
|
1021
1067
|
'params': [self.adaptor.description.elements.call, node]},
|
|
1068
|
+
{'label': 'Control',
|
|
1069
|
+
'function_call': func,
|
|
1070
|
+
'menu_icon': self.elements.closed_loop_control.illustrator.svg.clone(),
|
|
1071
|
+
'type': 'closed_loop_control',
|
|
1072
|
+
'params': [self.adaptor.description.elements.closed_loop_control, node]},
|
|
1022
1073
|
{'label': 'Script',
|
|
1023
1074
|
'function_call': func,
|
|
1024
1075
|
'menu_icon': self.elements.manipulate.illustrator.svg.clone(),
|
|
@@ -1039,11 +1090,6 @@ function WFAdaptorManifestation(adaptor) {
|
|
|
1039
1090
|
'menu_icon': self.elements.loop.illustrator.svg.clone(),
|
|
1040
1091
|
'type': 'loop',
|
|
1041
1092
|
'params': [self.adaptor.description.elements.loop, node]},
|
|
1042
|
-
{'label': 'Closed Loop',
|
|
1043
|
-
'function_call': func,
|
|
1044
|
-
'menu_icon': self.elements.closed_loop.illustrator.svg.clone(),
|
|
1045
|
-
'type': 'closed_loop',
|
|
1046
|
-
'params': [self.adaptor.description.elements.closed_loop, node]},
|
|
1047
1093
|
{'label': 'Stop',
|
|
1048
1094
|
'function_call': func,
|
|
1049
1095
|
'menu_icon': self.elements.stop.illustrator.svg.clone(),
|
|
@@ -26,7 +26,8 @@
|
|
|
26
26
|
</zeroOrMore>
|
|
27
27
|
</element>
|
|
28
28
|
<element name="stream" rngui:header="Data Stream Handling" rngui:fold="closed">
|
|
29
|
-
|
|
29
|
+
|
|
30
|
+
<element name="sensors" rngui:header="Sensor Data Streams" rngui:fold="closed">
|
|
30
31
|
<zeroOrMore rngui:label="Add Sensor">
|
|
31
32
|
<element name="sensor">
|
|
32
33
|
<element name="name" rngui:label="Label">
|
|
@@ -35,13 +36,18 @@
|
|
|
35
36
|
<element name="extractor_url" rngui:label="Extractor Url">
|
|
36
37
|
<data type="string" rngui:label="Service Url"/>
|
|
37
38
|
</element>
|
|
38
|
-
<element name="
|
|
39
|
-
<
|
|
39
|
+
<element name="extractor_params" rngui:label="Extractor Arguments:">
|
|
40
|
+
<zeroOrMore rngui:label="Create Extractor Argument Pairs">
|
|
41
|
+
<element rngui:label="Name">
|
|
42
|
+
<anyName/>
|
|
43
|
+
<data type="string" rngui:label="Value / Json"/>
|
|
44
|
+
</element>
|
|
45
|
+
</zeroOrMore>
|
|
40
46
|
</element>
|
|
41
47
|
<element name="visualizer_url" rngui:label="Visualizer Url">
|
|
42
48
|
<data type="string" rngui:label="Service Url"/>
|
|
43
49
|
</element>
|
|
44
|
-
<element name="visualizer_params" rngui:
|
|
50
|
+
<element name="visualizer_params" rngui:label="Visualizer Arguments">
|
|
45
51
|
<zeroOrMore rngui:label="Create Visualizer Argument Pairs">
|
|
46
52
|
<element rngui:label="Name">
|
|
47
53
|
<anyName/>
|
|
@@ -52,44 +58,46 @@
|
|
|
52
58
|
</element>
|
|
53
59
|
</zeroOrMore>
|
|
54
60
|
</element>
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
<data type="string" rngui:label="Label"/>
|
|
60
|
-
</element>
|
|
61
|
-
<element name="aggregator_url" rngui:label="Aggregator Url">
|
|
62
|
-
<data type="string" rngui:label="Service Url"/>
|
|
63
|
-
</element>
|
|
64
|
-
<element name="aggregator_arg" rngui:label="Aggregator Argument">
|
|
65
|
-
<data type="string" rngui:label="Value / Json"/>
|
|
66
|
-
</element>
|
|
67
|
-
</element>
|
|
68
|
-
</zeroOrMore>
|
|
69
|
-
</element>
|
|
70
|
-
<element name="costs" rngui:header="Costs" rngui:fold="closed">
|
|
71
|
-
<zeroOrMore rngui:label="Create Cost Factor">
|
|
72
|
-
<element name="cost_factor">
|
|
61
|
+
|
|
62
|
+
<element name="ips" rngui:header="Impact Profiles" rngui:fold="closed">
|
|
63
|
+
<zeroOrMore rngui:label="Add Impact Profile">
|
|
64
|
+
<element name="ip">
|
|
73
65
|
<element name="name" rngui:label="Label">
|
|
74
66
|
<data type="string" rngui:label="Label"/>
|
|
75
67
|
</element>
|
|
76
68
|
<element name="target" rngui:label="Target Value">
|
|
77
69
|
<data type="string" rngui:label="Value"/>
|
|
78
70
|
</element>
|
|
79
|
-
<element name="
|
|
80
|
-
<
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
71
|
+
<element name="ifs" rngui:header="Impact Factors">
|
|
72
|
+
<zeroOrMore rngui:label="Add Impact Factor">
|
|
73
|
+
<element name="if">
|
|
74
|
+
<element name="ivs" rngui:header="Impact Values">
|
|
75
|
+
<zeroOrMore rngui:label="Add Impact Value ">
|
|
76
|
+
<element name="iv">
|
|
77
|
+
<element name="extractor_url" rngui:label="Extractor Url">
|
|
78
|
+
<data type="string" rngui:label="Service Url + Parameters"/>
|
|
79
|
+
</element>
|
|
80
|
+
<element name="aggregator_url" rngui:label="Aggregator Url">
|
|
81
|
+
<data type="string" rngui:label="Service Url + Parameters"/>
|
|
82
|
+
</element>
|
|
83
|
+
</element>
|
|
84
|
+
</zeroOrMore>
|
|
85
|
+
</element>
|
|
86
|
+
<element name="aggregator_url" rngui:label="Impact Function Url">
|
|
87
|
+
<data type="string" rngui:label="Service Url + Parameters"/>
|
|
88
|
+
</element>
|
|
89
|
+
</element>
|
|
90
|
+
</zeroOrMore>
|
|
84
91
|
</element>
|
|
85
|
-
<element name="
|
|
86
|
-
<data type="string" rngui:label="
|
|
92
|
+
<element name="vfunc_url" rngui:label="Violation Function Url">
|
|
93
|
+
<data type="string" rngui:label="Service Url + Parameters"/>
|
|
87
94
|
</element>
|
|
88
95
|
</element>
|
|
89
96
|
</zeroOrMore>
|
|
90
97
|
</element>
|
|
98
|
+
|
|
91
99
|
</element>
|
|
92
|
-
<element name="report" rngui:header="Reporting
|
|
100
|
+
<element name="report" rngui:header="Reporting" rngui:fold="closed">
|
|
93
101
|
<element name="url" rngui:label='HTML Snippet'>
|
|
94
102
|
<data type="string" rngui:label="url to report snippet"/>
|
|
95
103
|
</element>
|
|
@@ -97,21 +105,40 @@
|
|
|
97
105
|
</element>
|
|
98
106
|
<element name="annotations" rngui:header="Annotations">
|
|
99
107
|
<element name="_timing" rngui:header="Timing" rngui:fold="closed">
|
|
100
|
-
<element name="
|
|
101
|
-
<data type="float" rngui:label="[0,1]"
|
|
102
|
-
</element>
|
|
103
|
-
<element name="_timing_threshold" rngui:label="κ - Threshold">
|
|
104
|
-
<data type="float" rngui:label="[0,3,n]" rngui:default="3"/>
|
|
105
|
-
</element>
|
|
106
|
-
<element name="_timing_min" rngui:label="Min in min">
|
|
107
|
-
<data type="float" rngui:label="Minutes"/>
|
|
108
|
-
</element>
|
|
109
|
-
<element name="_timing_max" rngui:label="Max in min">
|
|
110
|
-
<data type="float" rngui:label="Minutes"/>
|
|
108
|
+
<element name="_timing_weight" rngui:label="ω - Weight">
|
|
109
|
+
<data type="float" rngui:label="[0,1]"/>
|
|
111
110
|
</element>
|
|
112
111
|
<element name="_timing_avg" rngui:label="Avg in min">
|
|
113
112
|
<data type="float" rngui:label="Minutes"/>
|
|
114
113
|
</element>
|
|
114
|
+
<element name="explanations" rngui:header="Explanations">
|
|
115
|
+
<zeroOrMore rngui:label="Add Explanation">
|
|
116
|
+
<element name="explanation">
|
|
117
|
+
<element name="type" rngui:label="Type">
|
|
118
|
+
<choice>
|
|
119
|
+
<value>></value>
|
|
120
|
+
<value><</value>
|
|
121
|
+
</choice>
|
|
122
|
+
</element>
|
|
123
|
+
<element name="deviation" rngui:label="Deviation">
|
|
124
|
+
<data type="float" rngui:label="Minutes"/>
|
|
125
|
+
</element>
|
|
126
|
+
<element name="behaviour" rngui:label="Behaviour">
|
|
127
|
+
<choice>
|
|
128
|
+
<value>Immediately</value>
|
|
129
|
+
<value>Wait until next</value>
|
|
130
|
+
<value>Use grace period value</value>
|
|
131
|
+
</choice>
|
|
132
|
+
</element>
|
|
133
|
+
<element name="grace" rngui:label="Grace Period" rngui:default="0.0">
|
|
134
|
+
<data type="float" rngui:label="Minutes"/>
|
|
135
|
+
</element>
|
|
136
|
+
<element name="text" rngui:label="Explanation">
|
|
137
|
+
<data type="string" rngui:label="Patterns"/>
|
|
138
|
+
</element>
|
|
139
|
+
</element>
|
|
140
|
+
</zeroOrMore>
|
|
141
|
+
</element>
|
|
115
142
|
</element>
|
|
116
143
|
<element name="_notes" rngui:header="Notes" rngui:fold="closed">
|
|
117
144
|
<element name="_notes_general" rngui:label="General">
|
|
@@ -119,4 +146,29 @@
|
|
|
119
146
|
</element>
|
|
120
147
|
</element>
|
|
121
148
|
</element>
|
|
149
|
+
<element name="input" rngui:header="Input Arguments Documentation" rngui:fold="closed">
|
|
150
|
+
<zeroOrMore rngui:label="Create Argument">
|
|
151
|
+
<element name="item" rngui:label="Description">
|
|
152
|
+
<attribute name="label" rngui:label="Name">
|
|
153
|
+
<data type="string"/>
|
|
154
|
+
</attribute>
|
|
155
|
+
<text rngui:wrap="true" rngui:label="What does it do?"/>
|
|
156
|
+
</element>
|
|
157
|
+
</zeroOrMore>
|
|
158
|
+
</element>
|
|
159
|
+
<element name="output" rngui:header="Output Elements Documentation" rngui:fold="closed">
|
|
160
|
+
<zeroOrMore rngui:label="Create Element">
|
|
161
|
+
<element name="item" rngui:label="Description">
|
|
162
|
+
<attribute name="label" rngui:label="Name">
|
|
163
|
+
<data type="string"/>
|
|
164
|
+
</attribute>
|
|
165
|
+
<text rngui:wrap="true" rngui:label="What does it do?"/>
|
|
166
|
+
</element>
|
|
167
|
+
</zeroOrMore>
|
|
168
|
+
</element>
|
|
169
|
+
<element name="implementation" rngui:header="Implementation Documentation" rngui:fold="closed">
|
|
170
|
+
<element name="description" rngui:label="Description">
|
|
171
|
+
<text rngui:wrap="true" rngui:label="What is supposed to happen?"/>
|
|
172
|
+
</element>
|
|
173
|
+
</element>
|
|
122
174
|
</element>
|