cpee 2.1.134 → 2.1.136

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.
Files changed (205) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +1 -1
  3. data/cockpit/compliance-view.html +12 -13
  4. data/cockpit/compliance.html +12 -13
  5. data/cockpit/css/llm.css +3 -3
  6. data/cockpit/css/llmmodel.css +140 -0
  7. data/cockpit/css/model.css +0 -1
  8. data/cockpit/css/ui.css +13 -7
  9. data/cockpit/css/wfadaptor.css +15 -10
  10. data/cockpit/edit.html +17 -13
  11. data/cockpit/graph.html +8 -8
  12. data/cockpit/index.html +12 -13
  13. data/cockpit/js/build-bpmn2.js +302 -0
  14. data/cockpit/js/details.js +27 -10
  15. data/cockpit/js/instance.js +193 -203
  16. data/cockpit/js/llm-ui-bubble.js +36 -0
  17. data/cockpit/js/llm-ui-status.js +34 -0
  18. data/cockpit/js/llm-ui.js +87 -0
  19. data/cockpit/js/llm.js +463 -118
  20. data/cockpit/js/parameters.js +45 -14
  21. data/cockpit/js/wfadaptor.js +394 -75
  22. data/cockpit/llm.html +17 -15
  23. data/cockpit/llmmodel.html +18 -17
  24. data/cockpit/model.html +9 -9
  25. data/cockpit/only_llm.html +15 -13
  26. data/cockpit/themes/base.js +1 -1
  27. data/cockpit/themes/packed/theme.js +3 -0
  28. data/cockpit/themes/presetlr/rngs/alternative.rng +28 -0
  29. data/cockpit/themes/presetlr/rngs/call.rng +249 -0
  30. data/cockpit/themes/presetlr/rngs/callmanipulate.rng +281 -0
  31. data/cockpit/themes/presetlr/rngs/choose.rng +27 -0
  32. data/cockpit/themes/presetlr/rngs/closed_loop.rng +62 -0
  33. data/cockpit/themes/presetlr/rngs/closed_loop_cancel.rng +5 -0
  34. data/cockpit/themes/presetlr/rngs/closed_loop_control.rng +31 -0
  35. data/cockpit/themes/presetlr/rngs/closed_loop_measuring.rng +12 -0
  36. data/cockpit/themes/presetlr/rngs/critical.rng +8 -0
  37. data/cockpit/themes/presetlr/rngs/escape.rng +5 -0
  38. data/cockpit/themes/presetlr/rngs/group.rng +3 -0
  39. data/cockpit/themes/presetlr/rngs/loop.rng +40 -0
  40. data/cockpit/themes/presetlr/rngs/manipulate.rng +76 -0
  41. data/cockpit/themes/presetlr/rngs/otherwise.rng +25 -0
  42. data/cockpit/themes/presetlr/rngs/parallel.rng +24 -0
  43. data/cockpit/themes/presetlr/rngs/parallel_branch.rng +5 -0
  44. data/cockpit/themes/presetlr/rngs/scripts.rng +23 -0
  45. data/cockpit/themes/presetlr/rngs/start.rng +143 -0
  46. data/cockpit/themes/presetlr/rngs/stop.rng +5 -0
  47. data/cockpit/themes/presetlr/rngs/terminate.rng +8 -0
  48. data/cockpit/themes/presetlr/rngs/wait_for_signal.rng +8 -0
  49. data/cockpit/themes/presetlr/symbols/alternative.svg +19 -0
  50. data/cockpit/themes/presetlr/symbols/arrow.svg +1 -0
  51. data/cockpit/themes/presetlr/symbols/call.svg +1 -0
  52. data/cockpit/themes/presetlr/symbols/call_sensor.svg +1 -0
  53. data/cockpit/themes/presetlr/symbols/callmanipulate.svg +1 -0
  54. data/cockpit/themes/presetlr/symbols/callmanipulate_sensor.svg +1 -0
  55. data/cockpit/themes/presetlr/symbols/callmanipulate_sensor_signal.svg +1 -0
  56. data/cockpit/themes/presetlr/symbols/callmanipulate_signal.svg +1 -0
  57. data/cockpit/themes/presetlr/symbols/choose.svg +15 -0
  58. data/cockpit/themes/presetlr/symbols/choose_exclusive.svg +15 -0
  59. data/cockpit/themes/presetlr/symbols/choose_exclusive_finish.svg +1 -0
  60. data/cockpit/themes/presetlr/symbols/choose_inclusive.svg +13 -0
  61. data/cockpit/themes/presetlr/symbols/choose_inclusive_finish.svg +1 -0
  62. data/cockpit/themes/presetlr/symbols/closed_loop.svg +1 -0
  63. data/cockpit/themes/presetlr/symbols/closed_loop_cancel.svg +1 -0
  64. data/cockpit/themes/presetlr/symbols/closed_loop_control.svg +1 -0
  65. data/cockpit/themes/presetlr/symbols/closed_loop_measuring.svg +1 -0
  66. data/cockpit/themes/presetlr/symbols/complex.svg +1 -0
  67. data/cockpit/themes/presetlr/symbols/critical.svg +1 -0
  68. data/cockpit/themes/presetlr/symbols/delete.svg +1 -0
  69. data/cockpit/themes/presetlr/symbols/end.svg +1 -0
  70. data/cockpit/themes/presetlr/symbols/escape.svg +1 -0
  71. data/cockpit/themes/presetlr/symbols/event_end.svg +1 -0
  72. data/cockpit/themes/presetlr/symbols/event_start.svg +1 -0
  73. data/cockpit/themes/presetlr/symbols/loop.svg +15 -0
  74. data/cockpit/themes/presetlr/symbols/loop_end.svg +15 -0
  75. data/cockpit/themes/presetlr/symbols/loop_end_pre.svg +15 -0
  76. data/cockpit/themes/presetlr/symbols/manipulate.svg +1 -0
  77. data/cockpit/themes/presetlr/symbols/mark.svg +1 -0
  78. data/cockpit/themes/presetlr/symbols/otherwise.svg +7 -0
  79. data/cockpit/themes/presetlr/symbols/parallel.svg +1 -0
  80. data/cockpit/themes/presetlr/symbols/parallel_branch.svg +7 -0
  81. data/cockpit/themes/presetlr/symbols/parallel_branch_event.svg +14 -0
  82. data/cockpit/themes/presetlr/symbols/parallel_branch_event_rev.svg +11 -0
  83. data/cockpit/themes/presetlr/symbols/parallel_branch_normal.svg +7 -0
  84. data/cockpit/themes/presetlr/symbols/parallel_eventbased_exclusive.svg +1 -0
  85. data/cockpit/themes/presetlr/symbols/parallel_eventbased_parallel.svg +1 -0
  86. data/cockpit/themes/presetlr/symbols/scripts.svg +1 -0
  87. data/cockpit/themes/presetlr/symbols/start.svg +1 -0
  88. data/cockpit/themes/presetlr/symbols/start_event.svg +1 -0
  89. data/cockpit/themes/presetlr/symbols/stop.svg +1 -0
  90. data/cockpit/themes/presetlr/symbols/terminate.svg +1 -0
  91. data/cockpit/themes/presetlr/symbols/wait_for_signal.svg +1 -0
  92. data/cockpit/themes/presetlr/theme.js +54 -0
  93. data/cockpit/themes/wellformed/rngs/alternative.rng +28 -0
  94. data/cockpit/themes/wellformed/rngs/call.rng +249 -0
  95. data/cockpit/themes/wellformed/rngs/callmanipulate.rng +281 -0
  96. data/cockpit/themes/wellformed/rngs/choose.rng +27 -0
  97. data/cockpit/themes/wellformed/rngs/closed_loop.rng +62 -0
  98. data/cockpit/themes/wellformed/rngs/closed_loop_cancel.rng +5 -0
  99. data/cockpit/themes/wellformed/rngs/closed_loop_control.rng +31 -0
  100. data/cockpit/themes/wellformed/rngs/closed_loop_measuring.rng +12 -0
  101. data/cockpit/themes/wellformed/rngs/critical.rng +8 -0
  102. data/cockpit/themes/wellformed/rngs/escape.rng +5 -0
  103. data/cockpit/themes/wellformed/rngs/group.rng +3 -0
  104. data/cockpit/themes/wellformed/rngs/loop.rng +40 -0
  105. data/cockpit/themes/wellformed/rngs/manipulate.rng +76 -0
  106. data/cockpit/themes/wellformed/rngs/otherwise.rng +25 -0
  107. data/cockpit/themes/wellformed/rngs/parallel.rng +24 -0
  108. data/cockpit/themes/wellformed/rngs/parallel_branch.rng +5 -0
  109. data/cockpit/themes/wellformed/rngs/scripts.rng +23 -0
  110. data/cockpit/themes/wellformed/rngs/start.rng +143 -0
  111. data/cockpit/themes/wellformed/rngs/stop.rng +5 -0
  112. data/cockpit/themes/wellformed/rngs/terminate.rng +8 -0
  113. data/cockpit/themes/wellformed/rngs/wait_for_signal.rng +8 -0
  114. data/cockpit/themes/wellformed/symbols/alternative.svg +1 -0
  115. data/cockpit/themes/wellformed/symbols/arrow.svg +1 -0
  116. data/cockpit/themes/wellformed/symbols/call.svg +1 -0
  117. data/cockpit/themes/wellformed/symbols/call_sensor.svg +1 -0
  118. data/cockpit/themes/wellformed/symbols/callmanipulate.svg +1 -0
  119. data/cockpit/themes/wellformed/symbols/callmanipulate_sensor.svg +1 -0
  120. data/cockpit/themes/wellformed/symbols/callmanipulate_sensor_signal.svg +1 -0
  121. data/cockpit/themes/wellformed/symbols/callmanipulate_signal.svg +1 -0
  122. data/cockpit/themes/wellformed/symbols/choose.svg +1 -0
  123. data/cockpit/themes/wellformed/symbols/choose_exclusive.svg +1 -0
  124. data/cockpit/themes/wellformed/symbols/choose_exclusive_finish.svg +1 -0
  125. data/cockpit/themes/wellformed/symbols/choose_inclusive.svg +1 -0
  126. data/cockpit/themes/wellformed/symbols/choose_inclusive_finish.svg +1 -0
  127. data/cockpit/themes/wellformed/symbols/closed_loop.svg +1 -0
  128. data/cockpit/themes/wellformed/symbols/closed_loop_cancel.svg +1 -0
  129. data/cockpit/themes/wellformed/symbols/closed_loop_control.svg +1 -0
  130. data/cockpit/themes/wellformed/symbols/closed_loop_measuring.svg +1 -0
  131. data/cockpit/themes/wellformed/symbols/complex.svg +1 -0
  132. data/cockpit/themes/wellformed/symbols/critical.svg +1 -0
  133. data/cockpit/themes/wellformed/symbols/delete.svg +1 -0
  134. data/cockpit/themes/wellformed/symbols/end.svg +1 -0
  135. data/cockpit/themes/wellformed/symbols/escape.svg +1 -0
  136. data/cockpit/themes/wellformed/symbols/event_end.svg +1 -0
  137. data/cockpit/themes/wellformed/symbols/event_start.svg +6 -0
  138. data/cockpit/themes/wellformed/symbols/loop.svg +1 -0
  139. data/cockpit/themes/wellformed/symbols/loop_end.svg +1 -0
  140. data/cockpit/themes/wellformed/symbols/manipulate.svg +1 -0
  141. data/cockpit/themes/wellformed/symbols/mark.svg +1 -0
  142. data/cockpit/themes/wellformed/symbols/otherwise.svg +1 -0
  143. data/cockpit/themes/wellformed/symbols/parallel.svg +1 -0
  144. data/cockpit/themes/wellformed/symbols/parallel_branch.svg +1 -0
  145. data/cockpit/themes/wellformed/symbols/parallel_branch_event.svg +1 -0
  146. data/cockpit/themes/wellformed/symbols/parallel_branch_event_rev.svg +11 -0
  147. data/cockpit/themes/wellformed/symbols/parallel_branch_normal.svg +1 -0
  148. data/cockpit/themes/wellformed/symbols/parallel_eventbased_exclusive.svg +1 -0
  149. data/cockpit/themes/wellformed/symbols/parallel_eventbased_parallel.svg +1 -0
  150. data/cockpit/themes/wellformed/symbols/scripts.svg +1 -0
  151. data/cockpit/themes/wellformed/symbols/start.svg +1 -0
  152. data/cockpit/themes/wellformed/symbols/start_event.svg +1 -0
  153. data/cockpit/themes/wellformed/symbols/stop.svg +1 -0
  154. data/cockpit/themes/wellformed/symbols/terminate.svg +1 -0
  155. data/cockpit/themes/wellformed/symbols/wait_for_signal.svg +1 -0
  156. data/cockpit/themes/wellformed/theme.js +32 -0
  157. data/cockpit/track.html +8 -8
  158. data/cpee.gemspec +2 -2
  159. data/lib/callbacks/callbacks.rng +4 -4
  160. data/lib/callbacks.xml +4 -4
  161. data/lib/cpee/constants.rb +4 -4
  162. data/lib/cpee/fail.rb +4 -4
  163. data/lib/cpee/implementation.rb +5 -4
  164. data/lib/cpee/implementation_callbacks.rb +4 -4
  165. data/lib/cpee/implementation_notifications.rb +4 -4
  166. data/lib/cpee/implementation_properties.rb +108 -12
  167. data/lib/cpee/message.rb +4 -4
  168. data/lib/cpee/persistence.rb +6 -4
  169. data/lib/cpee/redis.rb +4 -4
  170. data/lib/cpee/statemachine.rb +4 -4
  171. data/lib/cpee/value_helper.rb +4 -4
  172. data/lib/cpee.xml +4 -4
  173. data/lib/engine/executionhandler-list.rng +4 -4
  174. data/lib/engine/instance-info.rng +4 -4
  175. data/lib/engine/instances.rng +4 -4
  176. data/lib/engine.xml +4 -4
  177. data/lib/properties/t_dslx.rng +346 -0
  178. data/lib/properties/transformation.rng +14 -0
  179. data/lib/properties.xml +5 -4
  180. data/server/executionhandlers/eval/backend/opts.yaml +1 -1
  181. data/server/executionhandlers/eval/connection.rb +4 -4
  182. data/server/executionhandlers/eval/execution.rb +4 -4
  183. data/server/executionhandlers/ruby/backend/opts.yaml +1 -1
  184. data/server/executionhandlers/ruby/connection.rb +5 -6
  185. data/server/executionhandlers/ruby/controller.rb +4 -4
  186. data/server/executionhandlers/ruby/dsl_to_dslx.xsl +6 -2
  187. data/server/executionhandlers/ruby/execution.rb +4 -4
  188. data/server/resources/properties.empty +5 -4
  189. data/server/resources/properties.init +5 -4
  190. data/server/resources/topics.xml +4 -4
  191. data/server/routing/end.pid +1 -0
  192. data/server/routing/end.rb +4 -4
  193. data/server/routing/forward-events-00.pid +1 -0
  194. data/server/routing/forward-events.rb +4 -4
  195. data/server/routing/forward-votes.pid +1 -0
  196. data/server/routing/forward-votes.rb +4 -4
  197. data/server/routing/persist.pid +1 -0
  198. data/server/routing/persist.rb +6 -4
  199. data/tools/server/cpee +1 -1
  200. data/tools/server/resources/properties.init +4 -4
  201. metadata +140 -5
  202. data/cockpit/CPEE.xml +0 -8
  203. data/cockpit/Signavio.xml +0 -8
  204. data/cockpit/transformations.xml +0 -4
  205. /data/{COPYING → LICENSE} +0 -0
@@ -0,0 +1,346 @@
1
+ <grammar xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes" ns="http://cpee.org/ns/description/1.0">
2
+ <!-- intentionally loose: the constructs, their attributes and where they may
3
+ occur are checked. all other elements (annotations, documentation,
4
+ _probability, ...) and attributes from other namespaces are passed
5
+ through. -->
6
+ <include href="arbitrary.rng"/>
7
+
8
+ <start>
9
+ <element name="description">
10
+ <ref name="dslx_attributes"/>
11
+ <ref name="dslx_block"/>
12
+ </element>
13
+ </start>
14
+
15
+ <define name="dslx_attributes">
16
+ <zeroOrMore>
17
+ <attribute><anyName/></attribute>
18
+ </zeroOrMore>
19
+ </define>
20
+ <!-- attributes of constructs are explicit, only other namespaces are free -->
21
+ <define name="dslx_foreign_attributes">
22
+ <zeroOrMore>
23
+ <attribute><anyName><except><nsName ns=""/></except></anyName></attribute>
24
+ </zeroOrMore>
25
+ </define>
26
+ <define name="dslx_eid">
27
+ <optional><attribute name="eid"/></optional>
28
+ </define>
29
+ <define name="dslx_language">
30
+ <optional><attribute name="language"/></optional>
31
+ </define>
32
+
33
+ <!-- everything that is not a construct -->
34
+ <define name="dslx_extra">
35
+ <element>
36
+ <anyName>
37
+ <except>
38
+ <name>call</name>
39
+ <name>manipulate</name>
40
+ <name>stop</name>
41
+ <name>terminate</name>
42
+ <name>escape</name>
43
+ <name>wait_for_signal</name>
44
+ <name>parallel</name>
45
+ <name>parallel_branch</name>
46
+ <name>loop</name>
47
+ <name>choose</name>
48
+ <name>alternative</name>
49
+ <name>otherwise</name>
50
+ <name>critical</name>
51
+ <name>group</name>
52
+ <name>closed_loop</name>
53
+ <name>closed_loop_measuring</name>
54
+ <name>closed_loop_control</name>
55
+ <name>closed_loop_cancel</name>
56
+ </except>
57
+ </anyName>
58
+ <ref name="dslx_attributes"/>
59
+ <ref name="arbitrary"/>
60
+ </element>
61
+ </define>
62
+
63
+ <define name="dslx_block">
64
+ <zeroOrMore>
65
+ <choice>
66
+ <ref name="dslx_call"/>
67
+ <ref name="dslx_manipulate"/>
68
+ <ref name="dslx_stop"/>
69
+ <ref name="dslx_terminate"/>
70
+ <ref name="dslx_escape"/>
71
+ <ref name="dslx_wait_for_signal"/>
72
+ <ref name="dslx_parallel"/>
73
+ <ref name="dslx_parallel_branch"/> <!-- not only directly in parallel, e.g. parallel > loop > parallel_branch -->
74
+ <ref name="dslx_loop"/>
75
+ <ref name="dslx_choose"/>
76
+ <ref name="dslx_critical"/>
77
+ <ref name="dslx_group"/>
78
+ <ref name="dslx_closed_loop"/>
79
+ <ref name="dslx_extra"/>
80
+ </choice>
81
+ </zeroOrMore>
82
+ </define>
83
+
84
+ <!-- tasks -->
85
+ <define name="dslx_call">
86
+ <element name="call">
87
+ <attribute name="id"/>
88
+ <optional><attribute name="endpoint"/></optional>
89
+ <ref name="dslx_foreign_attributes"/>
90
+ <interleave>
91
+ <element name="parameters">
92
+ <ref name="dslx_attributes"/>
93
+ <interleave>
94
+ <element name="label"><ref name="dslx_attributes"/><text/></element>
95
+ <optional><element name="color"><ref name="dslx_attributes"/><text/></element></optional>
96
+ <optional><element name="method"><ref name="dslx_attributes"/><text/></element></optional>
97
+ <optional>
98
+ <element name="arguments">
99
+ <ref name="dslx_attributes"/>
100
+ <zeroOrMore><ref name="any"/></zeroOrMore>
101
+ </element>
102
+ </optional>
103
+ <zeroOrMore>
104
+ <element>
105
+ <anyName>
106
+ <except>
107
+ <name>label</name>
108
+ <name>color</name>
109
+ <name>method</name>
110
+ <name>arguments</name>
111
+ </except>
112
+ </anyName>
113
+ <ref name="dslx_attributes"/>
114
+ <ref name="arbitrary"/>
115
+ </element>
116
+ </zeroOrMore>
117
+ </interleave>
118
+ </element>
119
+ <optional>
120
+ <element name="code">
121
+ <ref name="dslx_attributes"/>
122
+ <interleave>
123
+ <optional><element name="prepare"><ref name="dslx_script_attributes"/><text/></element></optional>
124
+ <optional><element name="finalize"><ref name="dslx_script_attributes"/><text/></element></optional>
125
+ <optional><element name="update"><ref name="dslx_script_attributes"/><text/></element></optional>
126
+ <optional><element name="rescue"><ref name="dslx_script_attributes"/><text/></element></optional>
127
+ <optional><element name="signal"><text/></element></optional>
128
+ </interleave>
129
+ </element>
130
+ </optional>
131
+ <zeroOrMore>
132
+ <element>
133
+ <anyName>
134
+ <except>
135
+ <name>parameters</name>
136
+ <name>code</name>
137
+ <!-- old style, without surrounding code element, not allowed -->
138
+ <name>prepare</name>
139
+ <name>finalize</name>
140
+ <name>update</name>
141
+ <name>rescue</name>
142
+ </except>
143
+ </anyName>
144
+ <ref name="dslx_attributes"/>
145
+ <ref name="arbitrary"/>
146
+ </element>
147
+ </zeroOrMore>
148
+ </interleave>
149
+ </element>
150
+ </define>
151
+
152
+ <define name="dslx_script_attributes">
153
+ <optional><attribute name="output"/></optional>
154
+ <ref name="dslx_language"/>
155
+ <ref name="dslx_foreign_attributes"/>
156
+ </define>
157
+
158
+ <define name="dslx_manipulate">
159
+ <element name="manipulate">
160
+ <attribute name="id"/>
161
+ <attribute name="label"/>
162
+ <optional><attribute name="color"/></optional>
163
+ <optional><attribute name="output"/></optional>
164
+ <ref name="dslx_language"/>
165
+ <ref name="dslx_foreign_attributes"/>
166
+ <interleave>
167
+ <optional><element name="code"><ref name="dslx_attributes"/><text/></element></optional>
168
+ <zeroOrMore>
169
+ <element>
170
+ <anyName>
171
+ <except>
172
+ <name>code</name>
173
+ </except>
174
+ </anyName>
175
+ <ref name="dslx_attributes"/>
176
+ <ref name="arbitrary"/>
177
+ </element>
178
+ </zeroOrMore>
179
+ </interleave>
180
+ </element>
181
+ </define>
182
+
183
+ <define name="dslx_stop">
184
+ <element name="stop">
185
+ <attribute name="id"/>
186
+ <ref name="dslx_foreign_attributes"/>
187
+ <zeroOrMore><ref name="dslx_extra"/></zeroOrMore>
188
+ </element>
189
+ </define>
190
+
191
+ <define name="dslx_terminate">
192
+ <element name="terminate">
193
+ <ref name="dslx_eid"/>
194
+ <optional><attribute name="abandon"><data type="boolean"/></attribute></optional> <!-- default: finish -->
195
+
196
+ <ref name="dslx_foreign_attributes"/>
197
+ <zeroOrMore><ref name="dslx_extra"/></zeroOrMore>
198
+ </element>
199
+ </define>
200
+
201
+ <define name="dslx_escape">
202
+ <element name="escape">
203
+ <ref name="dslx_eid"/>
204
+ <ref name="dslx_foreign_attributes"/>
205
+ <zeroOrMore><ref name="dslx_extra"/></zeroOrMore>
206
+ </element>
207
+ </define>
208
+
209
+ <define name="dslx_wait_for_signal">
210
+ <element name="wait_for_signal">
211
+ <attribute name="id"/>
212
+ <ref name="dslx_foreign_attributes"/>
213
+ <zeroOrMore><ref name="dslx_extra"/></zeroOrMore>
214
+ </element>
215
+ </define>
216
+
217
+ <!-- gateways and blocks -->
218
+ <define name="dslx_parallel">
219
+ <element name="parallel">
220
+ <ref name="dslx_eid"/>
221
+ <attribute name="wait"><data type="integer"/></attribute>
222
+ <attribute name="cancel">
223
+ <choice>
224
+ <value>last</value>
225
+ <value>first</value>
226
+ </choice>
227
+ </attribute>
228
+ <ref name="dslx_foreign_attributes"/>
229
+ <ref name="dslx_block"/>
230
+ </element>
231
+ </define>
232
+
233
+ <define name="dslx_parallel_branch">
234
+ <element name="parallel_branch">
235
+ <ref name="dslx_eid"/>
236
+ <ref name="dslx_foreign_attributes"/>
237
+ <ref name="dslx_block"/>
238
+ </element>
239
+ </define>
240
+
241
+ <define name="dslx_loop">
242
+ <element name="loop">
243
+ <ref name="dslx_eid"/>
244
+ <attribute name="mode">
245
+ <choice>
246
+ <value>pre_test</value>
247
+ <value>post_test</value>
248
+ </choice>
249
+ </attribute>
250
+ <attribute name="condition"/>
251
+ <ref name="dslx_language"/>
252
+ <ref name="dslx_foreign_attributes"/>
253
+ <ref name="dslx_block"/>
254
+ </element>
255
+ </define>
256
+
257
+ <define name="dslx_choose">
258
+ <element name="choose">
259
+ <ref name="dslx_eid"/>
260
+ <attribute name="mode">
261
+ <choice>
262
+ <value>exclusive</value>
263
+ <value>inclusive</value>
264
+ </choice>
265
+ </attribute>
266
+ <optional><attribute name="label"/></optional>
267
+ <ref name="dslx_foreign_attributes"/>
268
+ <interleave>
269
+ <zeroOrMore>
270
+ <element name="alternative">
271
+ <ref name="dslx_eid"/>
272
+ <optional><attribute name="condition"/></optional>
273
+ <ref name="dslx_language"/>
274
+ <ref name="dslx_foreign_attributes"/>
275
+ <ref name="dslx_block"/>
276
+ </element>
277
+ </zeroOrMore>
278
+ <optional>
279
+ <element name="otherwise">
280
+ <ref name="dslx_eid"/>
281
+ <ref name="dslx_foreign_attributes"/>
282
+ <ref name="dslx_block"/>
283
+ </element>
284
+ </optional>
285
+ <zeroOrMore><ref name="dslx_extra"/></zeroOrMore>
286
+ </interleave>
287
+ </element>
288
+ </define>
289
+
290
+ <define name="dslx_critical">
291
+ <element name="critical">
292
+ <ref name="dslx_eid"/>
293
+ <attribute name="sid"/>
294
+ <ref name="dslx_foreign_attributes"/>
295
+ <ref name="dslx_block"/>
296
+ </element>
297
+ </define>
298
+
299
+ <define name="dslx_group">
300
+ <element name="group">
301
+ <ref name="dslx_foreign_attributes"/>
302
+ <ref name="dslx_block"/>
303
+ </element>
304
+ </define>
305
+
306
+ <define name="dslx_closed_loop">
307
+ <element name="closed_loop">
308
+ <attribute name="overrun">
309
+ <choice>
310
+ <value>wait</value>
311
+ <value>cancel</value>
312
+ </choice>
313
+ </attribute>
314
+ <attribute name="execution">
315
+ <choice>
316
+ <value>sequential</value>
317
+ <value>parallel</value>
318
+ </choice>
319
+ </attribute>
320
+ <ref name="dslx_foreign_attributes"/>
321
+ <zeroOrMore>
322
+ <choice>
323
+ <element name="closed_loop_measuring">
324
+ <optional><attribute name="ctime"/></optional>
325
+ <optional><attribute name="frequency"/></optional>
326
+ <ref name="dslx_foreign_attributes"/>
327
+ <ref name="dslx_block"/>
328
+ </element>
329
+ <element name="closed_loop_control">
330
+ <optional><attribute name="ctime"/></optional>
331
+ <optional><attribute name="frequency"/></optional>
332
+ <ref name="dslx_foreign_attributes"/>
333
+ <ref name="dslx_block"/>
334
+ </element>
335
+ <element name="closed_loop_cancel">
336
+ <attribute name="condition"/>
337
+ <ref name="dslx_language"/>
338
+ <ref name="dslx_foreign_attributes"/>
339
+ <zeroOrMore><ref name="dslx_extra"/></zeroOrMore>
340
+ </element>
341
+ <ref name="dslx_extra"/>
342
+ </choice>
343
+ </zeroOrMore>
344
+ </element>
345
+ </define>
346
+ </grammar>
@@ -35,6 +35,20 @@
35
35
  </attribute>
36
36
  <data type="anyURI"/>
37
37
  </element>
38
+ <optional>
39
+ <!-- backtransformation: description from a directly set dslx. missing means copy -->
40
+ <element name="dslx">
41
+ <attribute name="type">
42
+ <choice>
43
+ <value>copy</value>
44
+ <value>rest</value>
45
+ <value>xslt</value>
46
+ <value>none</value>
47
+ </choice>
48
+ </attribute>
49
+ <data type="anyURI"/>
50
+ </element>
51
+ </optional>
38
52
  </element>
39
53
  </define>
40
54
  </grammar>
data/lib/properties.xml CHANGED
@@ -2,15 +2,15 @@
2
2
  This file is part of CPEE.
3
3
 
4
4
  CPEE is free software: you can redistribute it and/or modify it under the terms
5
- of the GNU General Public License as published by the Free Software Foundation,
5
+ of the GNU Lesser General Public License as published by the Free Software Foundation,
6
6
  either version 3 of the License, or (at your option) any later version.
7
7
 
8
8
  CPEE is distributed in the hope that it will be useful, but WITHOUT ANY
9
9
  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
10
- PARTICULAR PURPOSE. See the GNU General Public License for more details.
10
+ PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
11
11
 
12
- You should have received a copy of the GNU General Public License along with
13
- CPEE (file COPYING in the main directory). If not, see
12
+ You should have received a copy of the GNU Lesser General Public License along with
13
+ CPEE (file LICENSE in the main directory). If not, see
14
14
  <http://www.gnu.org/licenses/>.
15
15
  -->
16
16
 
@@ -141,6 +141,7 @@
141
141
  </message> <!--}}}-->
142
142
  <message name="dslx"> <!--{{{-->
143
143
  <parameter name="dslx" mimetype="*/xml"/>
144
+
144
145
  <zeroOrMore>
145
146
  <parameter name="exposition" mimetype="*"/>
146
147
  </zeroOrMore>
@@ -1,5 +1,5 @@
1
1
  :host: localhost
2
- :url: http://localhost:8298/
2
+ :url: http://localhost:9298/
3
3
  :redis_db: 1
4
4
  :executionhandlers: ../../executionhandlers/
5
5
  :executionhandler: eval
@@ -1,15 +1,15 @@
1
1
  # This file is part of CPEE.
2
2
  #
3
3
  # CPEE is free software: you can redistribute it and/or modify it under the terms
4
- # of the GNU General Public License as published by the Free Software Foundation,
4
+ # of the GNU Lesser General Public License as published by the Free Software Foundation,
5
5
  # either version 3 of the License, or (at your option) any later version.
6
6
  #
7
7
  # CPEE is distributed in the hope that it will be useful, but WITHOUT ANY
8
8
  # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
9
- # PARTICULAR PURPOSE. See the GNU General Public License for more details.
9
+ # PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
10
10
  #
11
- # You should have received a copy of the GNU General Public License along with
12
- # CPEE (file COPYING in the main directory). If not, see
11
+ # You should have received a copy of the GNU Lesser General Public License along with
12
+ # CPEE (file LICENSE in the main directory). If not, see
13
13
  # <http://www.gnu.org/licenses/>.
14
14
 
15
15
  require 'charlock_holmes'
@@ -1,15 +1,15 @@
1
1
  # This file is part of CPEE.
2
2
  #
3
3
  # CPEE is free software: you can redistribute it and/or modify it under the terms
4
- # of the GNU General Public License as published by the Free Software Foundation,
4
+ # of the GNU Lesser General Public License as published by the Free Software Foundation,
5
5
  # either version 3 of the License, or (at your option) any later version.
6
6
  #
7
7
  # CPEE is distributed in the hope that it will be useful, but WITHOUT ANY
8
8
  # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
9
- # PARTICULAR PURPOSE. See the GNU General Public License for more details.
9
+ # PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
10
10
  #
11
- # You should have received a copy of the GNU General Public License along with
12
- # CPEE (file COPYING in the main directory). If not, see
11
+ # You should have received a copy of the GNU Lesser General Public License along with
12
+ # CPEE (file LICENSE in the main directory). If not, see
13
13
  # <http://www.gnu.org/licenses/>.
14
14
 
15
15
  require 'net/ssh'
@@ -1,5 +1,5 @@
1
1
  :host: localhost
2
- :url: http://localhost:8298/
2
+ :url: http://localhost:9298/
3
3
  :redis_db: 1
4
4
  :executionhandlers: ../../executionhandlers/
5
5
  :executionhandler: ruby
@@ -1,15 +1,15 @@
1
1
  # This file is part of CPEE.
2
2
  #
3
3
  # CPEE is free software: you can redistribute it and/or modify it under the terms
4
- # of the GNU General Public License as published by the Free Software Foundation,
4
+ # of the GNU Lesser General Public License as published by the Free Software Foundation,
5
5
  # either version 3 of the License, or (at your option) any later version.
6
6
  #
7
7
  # CPEE is distributed in the hope that it will be useful, but WITHOUT ANY
8
8
  # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
9
- # PARTICULAR PURPOSE. See the GNU General Public License for more details.
9
+ # PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
10
10
  #
11
- # You should have received a copy of the GNU General Public License along with
12
- # CPEE (file COPYING in the main directory). If not, see
11
+ # You should have received a copy of the GNU Lesser General Public License along with
12
+ # CPEE (file LICENSE in the main directory). If not, see
13
13
  # <http://www.gnu.org/licenses/>.
14
14
 
15
15
  require 'charlock_holmes'
@@ -354,6 +354,7 @@ class ConnectionWrapper < WEEL::ConnectionWrapperBase
354
354
  end #}}}
355
355
 
356
356
  def code_error_handling(ret,where,what=RuntimeError) #{{{
357
+ raise 'external script handler probably not running' if ret.empty?
357
358
  sig = ret.find{|e| e.name == "signal" }.value
358
359
  sigt = ret.find{|e| e.name == "signal_text" }.value
359
360
  case sig
@@ -364,8 +365,6 @@ class ConnectionWrapper < WEEL::ConnectionWrapperBase
364
365
  else
365
366
  raise 'something bad happened, but we dont know what.'
366
367
  end
367
- rescue
368
- raise 'external script handler probably not running'
369
368
  end #}}}
370
369
 
371
370
  def argument_transform_value(obj, struct)
@@ -1,15 +1,15 @@
1
1
  # This file is part of CPEE.
2
2
  #
3
3
  # CPEE is free software: you can redistribute it and/or modify it under the terms
4
- # of the GNU General Public License as published by the Free Software Foundation,
4
+ # of the GNU Lesser General Public License as published by the Free Software Foundation,
5
5
  # either version 3 of the License, or (at your option) any later version.
6
6
  #
7
7
  # CPEE is distributed in the hope that it will be useful, but WITHOUT ANY
8
8
  # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
9
- # PARTICULAR PURPOSE. See the GNU General Public License for more details.
9
+ # PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
10
10
  #
11
- # You should have received a copy of the GNU General Public License along with
12
- # CPEE (file COPYING in the main directory). If not, see
11
+ # You should have received a copy of the GNU Lesser General Public License along with
12
+ # CPEE (file LICENSE in the main directory). If not, see
13
13
  # <http://www.gnu.org/licenses/>.
14
14
 
15
15
  require 'weel'
@@ -306,7 +306,7 @@
306
306
  </xsl:call-template>
307
307
  <xsl:text>closed_loop</xsl:text>
308
308
  <xsl:if test="@overrun">
309
- <xsl:text> :overrun =&gt; </xsl:text>
309
+ <xsl:text> :overrun =&gt; :</xsl:text>
310
310
  <xsl:value-of select="@overrun"/>
311
311
  <xsl:if test="@execution">
312
312
  <xsl:text>, :execution =&gt; :</xsl:text>
@@ -342,6 +342,10 @@
342
342
  <xsl:text>, :ctime =&gt; </xsl:text>
343
343
  <xsl:value-of select="@ctime"/>
344
344
  </xsl:if>
345
+ <xsl:if test="@frequency">
346
+ <xsl:text>, :frequency =&gt; </xsl:text>
347
+ <xsl:value-of select="@frequency"/>
348
+ </xsl:if>
345
349
  <xsl:text> do</xsl:text>
346
350
  <xsl:call-template name="print-newline"/>
347
351
  <xsl:apply-templates>
@@ -811,7 +815,7 @@
811
815
  <xsl:choose>
812
816
  <xsl:when test="substring(text(),1,1) = '!'">
813
817
  <xsl:text>🠊("</xsl:text>
814
- <xsl:value-of select="str:replace(str:replace(substring(text(),2),'\','\\'),'&quot;','\&quot;')"/>
818
+ <xsl:value-of select="str:replace(str:replace(str:replace(substring(text(),2),'\','\\'),'&quot;','\&quot;'),'#','\#')"/>
815
819
  <xsl:text>")</xsl:text>
816
820
  </xsl:when>
817
821
  <xsl:otherwise>
@@ -1,15 +1,15 @@
1
1
  # This file is part of CPEE.
2
2
  #
3
3
  # CPEE is free software: you can redistribute it and/or modify it under the terms
4
- # of the GNU General Public License as published by the Free Software Foundation,
4
+ # of the GNU Lesser General Public License as published by the Free Software Foundation,
5
5
  # either version 3 of the License, or (at your option) any later version.
6
6
  #
7
7
  # CPEE is distributed in the hope that it will be useful, but WITHOUT ANY
8
8
  # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
9
- # PARTICULAR PURPOSE. See the GNU General Public License for more details.
9
+ # PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
10
10
  #
11
- # You should have received a copy of the GNU General Public License along with
12
- # CPEE (file COPYING in the main directory). If not, see
11
+ # You should have received a copy of the GNU Lesser General Public License along with
12
+ # CPEE (file LICENSE in the main directory). If not, see
13
13
  # <http://www.gnu.org/licenses/>.
14
14
 
15
15
  require 'net/ssh'
@@ -3,16 +3,16 @@
3
3
  This file is part of CPEE.
4
4
 
5
5
  CPEE is free software: you can redistribute it and/or modify it under the
6
- terms of the GNU General Public License as published by the Free Software
6
+ terms of the GNU Lesser General Public License as published by the Free Software
7
7
  Foundation, either version 3 of the License, or (at your option) any later
8
8
  version.
9
9
 
10
10
  CPEE is distributed in the hope that it will be useful, but WITHOUT ANY
11
11
  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
12
- PARTICULAR PURPOSE. See the GNU General Public License for more details.
12
+ PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
13
13
 
14
- You should have received a copy of the GNU General Public License along with
15
- CPEE (file COPYING in the main directory). If not, see
14
+ You should have received a copy of the GNU Lesser General Public License along with
15
+ CPEE (file LICENSE in the main directory). If not, see
16
16
  <http://www.gnu.org/licenses/>.
17
17
  -->
18
18
 
@@ -35,5 +35,6 @@
35
35
  <description type='copy'/>
36
36
  <dataelements type='none'/>
37
37
  <endpoints type='none'/>
38
+ <dslx type='copy'/>
38
39
  </transformation>
39
40
  </properties>
@@ -3,16 +3,16 @@
3
3
  This file is part of CPEE.
4
4
 
5
5
  CPEE is free software: you can redistribute it and/or modify it under the
6
- terms of the GNU General Public License as published by the Free Software
6
+ terms of the GNU Lesser General Public License as published by the Free Software
7
7
  Foundation, either version 3 of the License, or (at your option) any later
8
8
  version.
9
9
 
10
10
  CPEE is distributed in the hope that it will be useful, but WITHOUT ANY
11
11
  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
12
- PARTICULAR PURPOSE. See the GNU General Public License for more details.
12
+ PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
13
13
 
14
- You should have received a copy of the GNU General Public License along with
15
- CPEE (file COPYING in the main directory). If not, see
14
+ You should have received a copy of the GNU Lesser General Public License along with
15
+ CPEE (file LICENSE in the main directory). If not, see
16
16
  <http://www.gnu.org/licenses/>.
17
17
  -->
18
18
 
@@ -50,5 +50,6 @@
50
50
  <description type='copy'/>
51
51
  <dataelements type='none'/>
52
52
  <endpoints type='none'/>
53
+ <dslx type='copy'/>
53
54
  </transformation>
54
55
  </properties>
@@ -2,15 +2,15 @@
2
2
  This file is part of CPEE.
3
3
 
4
4
  CPEE is free software: you can redistribute it and/or modify it under the terms
5
- of the GNU General Public License as published by the Free Software Foundation,
5
+ of the GNU Lesser General Public License as published by the Free Software Foundation,
6
6
  either version 3 of the License, or (at your option) any later version.
7
7
 
8
8
  CPEE is distributed in the hope that it will be useful, but WITHOUT ANY
9
9
  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
10
- PARTICULAR PURPOSE. See the GNU General Public License for more details.
10
+ PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
11
11
 
12
- You should have received a copy of the GNU General Public License along with
13
- CPEE (file COPYING in the main directory). If not, see
12
+ You should have received a copy of the GNU Lesser General Public License along with
13
+ CPEE (file LICENSE in the main directory). If not, see
14
14
  <http://www.gnu.org/licenses/>.
15
15
  -->
16
16
 
@@ -0,0 +1 @@
1
+ 1074986
@@ -3,15 +3,15 @@
3
3
  # This file is part of CPEE.
4
4
  #
5
5
  # CPEE is free software: you can redistribute it and/or modify it under the terms
6
- # of the GNU General Public License as published by the Free Software Foundation,
6
+ # of the GNU Lesser General Public License as published by the Free Software Foundation,
7
7
  # either version 3 of the License, or (at your option) any later version.
8
8
  #
9
9
  # CPEE is distributed in the hope that it will be useful, but WITHOUT ANY
10
10
  # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
11
- # PARTICULAR PURPOSE. See the GNU General Public License for more details.
11
+ # PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
12
12
  #
13
- # You should have received a copy of the GNU General Public License along with
14
- # CPEE (file COPYING in the main directory). If not, see
13
+ # You should have received a copy of the GNU Lesser General Public License along with
14
+ # CPEE (file LICENSE in the main directory). If not, see
15
15
  # <http://www.gnu.org/licenses/>.
16
16
 
17
17
  require 'json'