cpee 2.1.130 → 2.1.132

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 (55) hide show
  1. checksums.yaml +4 -4
  2. data/FEATURES.md +9 -19
  3. data/cockpit/compliance-view.html +313 -0
  4. data/cockpit/compliance.html +34 -23
  5. data/cockpit/config.json.example +7 -6
  6. data/cockpit/css/compliance.css +70 -2
  7. data/cockpit/css/llm.css +9 -1
  8. data/cockpit/css/llmmodel.css +3 -0
  9. data/cockpit/css/ui.css +9 -30
  10. data/cockpit/edit.html +1 -1
  11. data/cockpit/graph.html +1 -1
  12. data/cockpit/index.html +6 -1
  13. data/cockpit/js/compliance.js +925 -10
  14. data/cockpit/js/instance.js +19 -9
  15. data/cockpit/js/parameters.js +37 -5
  16. data/cockpit/js/ui.js +10 -40
  17. data/cockpit/js/wfadaptor.js +4 -5
  18. data/cockpit/llm.html +24 -26
  19. data/cockpit/llmmodel.html +27 -25
  20. data/cockpit/model.html +1 -1
  21. data/cockpit/only_llm.html +5 -5
  22. data/cockpit/rngs/attributes.rng +2 -2
  23. data/cockpit/rngs/dataelements.rng +2 -2
  24. data/cockpit/rngs/documents.rng +8 -0
  25. data/cockpit/rngs/endpoints.rng +2 -2
  26. data/cockpit/rngs/requirements.rng +2 -2
  27. data/cockpit/themes/THEMES.MD +419 -0
  28. data/cockpit/themes/preset_model/symbols/critical.svg +13 -3
  29. data/cockpit/track.html +1 -1
  30. data/cpee.gemspec +1 -1
  31. data/lib/cpee/implementation.rb +3 -1
  32. data/lib/cpee/implementation_properties.rb +6 -5
  33. data/lib/cpee/persistence.rb +6 -7
  34. data/lib/properties/documents.rng +10 -0
  35. data/lib/properties/properties.rng +2 -0
  36. data/lib/properties/set-properties.rng +2 -0
  37. data/lib/properties/set-some-properties.rng +4 -0
  38. data/lib/properties/set-testset.rng +3 -0
  39. data/lib/properties/t_documents.rng +7 -0
  40. data/lib/properties.xml +22 -0
  41. data/server/executionhandlers/eval/connection.rb +1 -0
  42. data/server/executionhandlers/eval/execution.rb +2 -0
  43. data/server/executionhandlers/ruby/connection.rb +1 -0
  44. data/server/executionhandlers/ruby/controller.rb +4 -8
  45. data/server/executionhandlers/ruby/execution.rb +2 -0
  46. data/server/resources/properties.empty +1 -0
  47. data/server/resources/properties.init +1 -0
  48. data/server/routing/end.pid +1 -1
  49. data/server/routing/forward-events-00.pid +1 -1
  50. data/server/routing/forward-votes.pid +1 -1
  51. data/server/routing/persist.pid +1 -1
  52. data/server/routing/persist.rb +2 -1
  53. data/tools/cpee +1 -1
  54. metadata +7 -2
  55. data/lib/cpee/attributes_helper.rb +0 -41
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 825594df724f06da6073b554297121d71ca0e6745788bf29ef403eb58abdd134
4
- data.tar.gz: 785e81f35516662bc94bb7b3861e4f8c54cb21d3d9cf131fe8488aa68ec99bc1
3
+ metadata.gz: 3344a602b3fd2c235c2aa76a1906dd2f136fddcf8f90ea962f96b3ac28460aff
4
+ data.tar.gz: 951158f25e2e34466421aceb56539d7cf9627152f413ac7b0512029c2e0072dd
5
5
  SHA512:
6
- metadata.gz: f47fa192c73abb9072247b58e7e67a975dc794ecfd4efa31b8444c80e995fa3468de253c766e2d667bac028475b6396bdad0af67703a161f3cda033dcaa391a1
7
- data.tar.gz: 1c9e2df7f50f90ec733b6a004907d8a2d53a6b4ab8669c723bd3828800383abc20fe616f3e6a4369caac5f1724026a29fc6445474e70b46c6303bb6ba2282a73
6
+ metadata.gz: cc6ec883f44ed404abf2810ae843d9b688d2fd187e5a34fa1a7232efe62ac34a378f4cfff2f2941afae2f5b2e58baae35c388a966fe565ef1f4d5dac695de520
7
+ data.tar.gz: 5d7483dcf67e0255c2ba3f4999b6746ad7beaa81b5190345050a12d95d2312d43e1a912839427c2614f154463ebf1e9f823d7f225c0fedb409c86f3d02005e43
data/FEATURES.md CHANGED
@@ -1,31 +1,21 @@
1
1
  # CPEE Features
2
- * The engine itself is a RESTful web service for simple integration into
3
- websites and existing information systems.
4
- * Instances can be created, started, stopped, and modified through simple HTTP
5
- calls.
2
+ * The engine itself is a RESTful web service for simple integration into websites and existing information systems.
3
+ * Instances can be created, started, stopped, and modified through simple HTTP calls.
6
4
  * Instances can be serialized and migrated between multiples nodes to ensure scalability.
7
- * Every aspect of execution is exposed through an event / subscription based
8
- model.
9
- * It allows external RESTful plugins to control the execution, by voting for
10
- activity execution (start, finish activity) and state changes (stop, start
11
- engine).
12
- * It provides better coverage of workflow patterns compared to Oracle BPELPM,
13
- jBOSS jBPM, and Apache Ode.
5
+ * Every aspect of execution is exposed through an event / subscription based model.
6
+ * It allows external RESTful plugins to control the execution, by voting for activity execution (start, finish activity) and state changes (stop, start engine).
7
+ * It provides better coverage of workflow patterns compared to Oracle BPELPM, jBOSS jBPM, and Apache Ode.
14
8
 
15
9
  # CPEE Technical Details
16
10
  * Reuses an existing virtual machine for executing control flow
17
- * Supports BPEL and other languages through transformation to a directly
18
- executable DSL.
19
- * The engine (named WEEL and available as a separate package) has a core size
20
- of ~ 1110 LOC.
11
+ * Supports BPEL and other languages through transformation to a directly executable DSL.
12
+ * The engine (named WEEL and available as a separate package) has a core size of ~ 1110 LOC.
21
13
  * Each instance runs in its own OS process, can be seperately monitored and killed.
22
- * Uses ~ 50 MiB of RAM per instance (depending on storage backend and data
23
- available in instance)
14
+ * Uses ~ 50 MiB of RAM per instance (depending on storage backend and data available in instance)
24
15
  * Can utilize multiple threads per instance.
25
16
  * Can be restarted in while instances are running.
26
17
 
27
18
  # CPEE Applied Benefits
28
19
  * Interprocess Synchronization as a Service
29
20
  * Service Replacement (Repair) Service
30
- * Plain HTML & JavaScript instance editor that allows to modify all aspects of
31
- (running) process instances.
21
+ * Plain HTML & JavaScript instance editor that allows to modify all aspects of (running) process instances.
@@ -0,0 +1,313 @@
1
+ <!--
2
+ This file is part of CPEE.
3
+
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,
6
+ either version 3 of the License, or (at your option) any later version.
7
+
8
+ CPEE is distributed in the hope that it will be useful, but WITHOUT ANY
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.
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
14
+ <http://www.gnu.org/licenses/>.
15
+ -->
16
+
17
+ <!DOCTYPE html>
18
+ <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
19
+ <head>
20
+ <meta charset="utf-8"/>
21
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
22
+ <link rel="icon" type="image/png" href="/favicon.png">
23
+ <title>CPEE Cockpit</title>
24
+
25
+ <!-- libs, do not modify. When local than load local libs. -->
26
+ <script type="text/javascript" src="/js_libs/jquery.min.js"></script>
27
+ <script type="text/javascript" src="/js_libs/jquery.browser.js"></script>
28
+ <script type="text/javascript" src="/js_libs/jquery.svg.min.js"></script>
29
+ <script type="text/javascript" src="/js_libs/jquery.svgdom.min.js"></script>
30
+ <script type="text/javascript" src="/js_libs/vkbeautify.js"></script>
31
+ <script type="text/javascript" src="/js_libs/util.js"></script>
32
+ <script type="text/javascript" src="/js_libs/printf.js"></script>
33
+ <script type="text/javascript" src="/js_libs/strftime.min.js"></script>
34
+ <script type="text/javascript" src="/js_libs/parsequery.js"></script>
35
+ <script type="text/javascript" src="/js_libs/underscore.min.js"></script>
36
+ <script type="text/javascript" src="/js_libs/jquery.caret.min.js"></script>
37
+ <script type="text/javascript" src="/js_libs/jquery.cookie.js"></script>
38
+
39
+ <script type="text/javascript" src="/js_libs/relaxngui.js"></script>
40
+
41
+ <script type="text/javascript" src="/js_libs/uidash.js"></script>
42
+ <script type="text/javascript" src="/js_libs/custommenu.js"></script>
43
+
44
+ <script type="text/javascript" src="/js_libs/build-bpmn.js"></script>
45
+
46
+ <link rel="stylesheet" href="/js_libs/custommenu.css" type="text/css"/>
47
+ <link rel="stylesheet" href="/js_libs/uidash.css" type="text/css"/>
48
+
49
+ <link rel="stylesheet" href="/js_libs/relaxngui.css" type="text/css"/>
50
+
51
+ <!-- modelling ui -->
52
+ <script type="text/javascript" src="js/wfadaptor.js"></script>
53
+ <link rel="stylesheet" href="css/wfadaptor.css" type="text/css" data-include-export="true"/>
54
+
55
+ <!-- custom stuff, play arround -->
56
+ <script type="text/javascript" src="js/ui.js"></script>
57
+ <script type="text/javascript" src="js/instance.js"></script>
58
+ <script type="text/javascript" src="js/details.js"></script>
59
+ <script type="text/javascript" src="js/parameters.js"></script>
60
+ <script type="text/javascript" src="js/extended_columns.js"></script>
61
+ <script type="text/javascript" src="js/edit.js"></script>
62
+ <script type="text/javascript" src="js/modifiers.js"></script>
63
+ <script type="text/javascript" src="themes/base.js"></script>
64
+ <link rel="stylesheet" href="css/ui.css" type="text/css"/>
65
+ <link rel="stylesheet" href="css/extended_columns-label.css" type="text/css"/>
66
+ <link rel="stylesheet" href="css/extended_columns-svg.css" type="text/css" data-include-export="true"/>
67
+ <link rel="stylesheet" href="/global_ui/uicpee.css" type="text/css"/>
68
+ <style></style>
69
+
70
+ <script type="text/javascript" src="js/compliance.js"></script>
71
+ <link rel="stylesheet" href="css/compliance.css" type="text/css"/>
72
+ </head>
73
+ <body data-base-port="8298" data-base-engine="engine/" data-base-themes="themes" data-singlerule-endpoint="https://power.bpm.cit.tum.de/compextract/singlerule" is="x-ui-">
74
+ <div id='disclaimer' class='hidden'> <!--{{{-->
75
+ <h1>Disclaimer</h1>
76
+
77
+ <p>
78
+ We use reasonable care in creating and presenting the functionality
79
+ found in this demonstrator. It is provided purely for demonstration purposes
80
+ and you should seek further guidance and make independent enquiries
81
+ before relying upon it.
82
+ </p>
83
+
84
+ <p>
85
+ All functionality included in this demonstrator is subject to change
86
+ without notice. We make no representation or warranty whatsoever
87
+ regarding the completeness, accuracy, adequacy, suitability or
88
+ operation of this demonstrator, or of the results it produces.
89
+ </p>
90
+
91
+ <p>
92
+ We assume no responsibility for process instances created with this
93
+ demonstrator and disclaim all liability arising from negligence or
94
+ otherwise in respect of such process instances. We will not be liable
95
+ for any damages (including, without limitation, damages for any
96
+ consequential loss or loss of business opportunities or projects, or
97
+ loss of profits) howsoever arising from use of or inability to use
98
+ this demonstrator, or from any action or omission taken as a result of
99
+ using this demonstrator.
100
+ </p>
101
+
102
+ <p>
103
+ This demonstrator is hosted in Austria. All liability is excluded to the extent
104
+ permitted by law including any implied terms. Any interpretation of its
105
+ content, claims or disputes (of whatever nature and not limited to contractual
106
+ issues) shall be subject to the exclusive jurisdiction of the Austrian Courts
107
+ under Austrian law.
108
+ </p>
109
+
110
+ <p>
111
+ All actions performed while using this demonstrator will be logged, including
112
+ the IP address of the user.
113
+ </p>
114
+
115
+ <p>
116
+ <input id='iagree' type='checkbox'/><label for='iagree'><strong>OK, I Agree with this terms. I will be a happy person, and do no evil.</strong></label>
117
+ </p>
118
+ <p>
119
+ <button id='icontinue' disabled='disabled'>Continue</button>
120
+ </p>
121
+ </div> <!--}}}-->
122
+
123
+ <div class='hidden' id='relaxngworker'></div>
124
+
125
+ <div id="areanew" class="hidden">
126
+ <table class='x-ui-layout'>
127
+ <tr>
128
+ <td>Resources:</td>
129
+ <td><input name="res-url" type="text" value=""/></td>
130
+ </tr>
131
+ <tr>
132
+ <td>Engine:</td>
133
+ <td><input name="base-url" type="text" value=""/></td>
134
+ </tr>
135
+ <tr>
136
+ <td>Instance:</td>
137
+ <td><input name="instance-url" type="text" value=""/></td>
138
+ </tr>
139
+ </table>
140
+ </div> <!--}}}-->
141
+
142
+ <div class='menu' id='templates'></div>
143
+ <div class='menu' id='modeltypes'></div>
144
+
145
+ <template id="label">
146
+ <svg width="20" height="20" xmlns="http://www.w3.org/2000/svg" style="position: absolute; top: 0; left: 0;" class="displaylabel">
147
+ <g transform="translate(1 %%1) rotate(-%%2)">
148
+ <rect class="displaylabel" width="200" height="14" x="8" y="0" rx="5" ry="5"/>
149
+ <path class="displaylabel" d="M10,13 0,13 8,8"/>
150
+ <path class="displaylabelinner" d="M10,11.5 8.5,11.5 8.5,9.5 10,9.5"/>
151
+ <text class="label" x="18" y="10">aaaa</text>
152
+ </g>
153
+ </svg>
154
+ </template>
155
+
156
+ <ui-tabbed id="instance">
157
+ <ui-tabbar>
158
+ <ui-tab class="switch" ></ui-tab>
159
+ <ui-tab class="inactive hidden" data-tab="instance" id="tabinstance" >Instance</ui-tab>
160
+ <ui-tab class="inactive hidden" data-tab="execution" id="tabexecution">Execution</ui-tab>
161
+ <ui-behind ><a style='display:none' target='_blank' id='current-instance'></a><a style='display:none' target='_blank' id='current-instance-properties'>P</a><a style='display:none' target='_blank' id='current-instance-subscriptions'>S</a><a style='display:none' target='_blank' id='current-instance-callbacks'>C</a></ui-behind>
162
+ <ui-last ><a class="logo" href=".."></a></ui-last>
163
+ </ui-tabbar>
164
+ <ui-content>
165
+ <ui-area data-belongs-to-tab="instance" id="areainstance" class="inactive"> <!--{{{-->
166
+ <div>
167
+ <div class='section'>
168
+ <div>
169
+ <form id='fuckchrome'>
170
+ <input type='file' name='testsetfile' id='testsetfile'/>
171
+ </form>
172
+ <button title='a template includes various settings, subscriptions or a (partial) model' name="loadtestset">load template</button><button title='a testset includes various settings, subscriptions or a model' name="loadtestsetfile">load testset</button>
173
+ </div>
174
+ <div>
175
+ <input type='file' name='modelfile' id='modelfile'/>
176
+ <button title='a standalone process model is only loadable if the currently loaded testset sucessfully prepared the current instance for the type of model' name="loadmodelfile">load model</button>
177
+ </div>
178
+ </div><div class='section'>
179
+ <div>
180
+ <a id="savetestsetfile" href="" download=""></a>
181
+ <a id="savesvgfile" href="" download=""></a>
182
+ <button title='a testset includes various settings, subscriptions and a model' name="savetestsetfile">save<br>testset</button>
183
+ <button title='the SVG contains the graphical repesentation of the CPEE tree as you see it on the screen' name="savesvgfile">save svg<br>graph</button>
184
+ </div>
185
+ <div>
186
+ <a id="savebpmnfile" href="" download=""></a>
187
+ <button title='the BPMN includes a graphical representation that can be loaded in Signavio and Camundal' name="savebpmnfile">save BPMN</button>
188
+ </div>
189
+ </div><div class='section' id='modifiers'>
190
+ <template id="item">
191
+ <div>
192
+ <div class='title'><strong></strong></div>
193
+ <div class='select'><select></select></div>
194
+ <div class='additional'></div>
195
+ </div>
196
+ </template>
197
+ </div>
198
+ </div>
199
+ </ui-area> <!--}}}-->
200
+ <ui-area data-belongs-to-tab="execution" id="areaexecution" class='inactive'> <!--{{{-->
201
+ <table class='x-ui-compact'>
202
+ <tbody class='debug'>
203
+ <tr>
204
+ <td>Debugging:</td>
205
+ <td><input type="checkbox" name="votecontinue"/></td>
206
+ </tr>
207
+ </tbody>
208
+ <tbody class='exe'>
209
+ <tr>
210
+ <td>State:</td>
211
+ <td id='state'>
212
+ <span id="state_text"></span>
213
+ <span id="state_any" style='display:none'>
214
+ <span> ⇒ </span>
215
+ <button name="state_start" title='start' style='display:none'>Start</button>
216
+ <button name="state_stop" title='stop' style='display:none'>Stop</button>
217
+ <span id="state_extended" style='display:none'>
218
+ <span> / </span>
219
+ <button name="state_abandon" title='abandon' style='display:none'>Abandon</button>
220
+ </span>
221
+ </span>
222
+ </td>
223
+ </tr>
224
+ <tr>
225
+ <td>Continue:</td>
226
+ <td id='votes'></td>
227
+ </tr>
228
+ </tbody>
229
+ </table>
230
+ </ui-area> <!--}}}-->
231
+ </ui-content>
232
+ </ui-tabbed>
233
+
234
+ <ui-tabbed class="hidden" id='parameters'>
235
+ <ui-tabbar>
236
+ <ui-tab class="switch" ></ui-tab>
237
+ <ui-tab class="" data-tab="dataelements" id="tabdataelements">Data Objects</ui-tab>
238
+ <ui-tab class="inactive" data-tab="endpoints" id="tabendpoints" >Endpoints</ui-tab>
239
+ <ui-tab class="inactive" data-tab="attributes" id="tabattributes" >Attributes</ui-tab>
240
+ <ui-tab class="inactive" data-tab="nlrequirements" id="tabnlrequirements">① NL-Requirements</ui-tab>
241
+ <ui-tab class="inactive" data-tab="requirements" id="tabrequirements">② AST-Requirements</ui-tab>
242
+ <ui-behind ></ui-behind>
243
+ </ui-tabbar>
244
+ <ui-content>
245
+ <ui-area data-belongs-to-tab="dataelements" id="areadataelements"> <!--{{{-->
246
+ <button title='add entry'><span>New</span></button>
247
+ <div id="dat_dataelements"></div>
248
+ </ui-area> <!--}}}-->
249
+ <ui-area data-belongs-to-tab="endpoints" id="areaendpoints" class="inactive"> <!--{{{-->
250
+ <button title='add entry'><span>New</span></button>
251
+ <div id="dat_endpoints"></div>
252
+ </ui-area> <!--}}}-->
253
+ <ui-area data-belongs-to-tab="attributes" id="areaattributes" class="inactive"> <!--{{{-->
254
+ <button title='add entry'><span>New</span></button>
255
+ <div id="dat_attributes"></div>
256
+ </ui-area> <!--}}}-->
257
+ <ui-area data-belongs-to-tab="requirements" id="arearequirements" class="inactive"> <!--{{{-->
258
+ <button title='add entry'><span>New</span></button>
259
+ <div id="dat_requirements"></div>
260
+ </ui-area> <!--}}}-->
261
+ <ui-area data-belongs-to-tab="nlrequirements" id="areanlrequirements" class="inactive"> <!--{{{-->
262
+ <button title='add entry' id="nlreq_add"><span>New</span></button>
263
+ <div id="dat_nlrequirements"></div>
264
+ </ui-area> <!--}}}-->
265
+ </ui-content>
266
+ </ui-tabbed>
267
+
268
+ <ui-resizehandle class="hidden">drag to resize</ui-resizehandle>
269
+
270
+ <ui-rest id="main" class="hidden">
271
+ <ui-tabbar>
272
+ <ui-before ></ui-before>
273
+ <ui-tab class="" data-tab="details" id="tabdetails">Graph</ui-tab>
274
+ <ui-tab class="inactive" data-tab="log" id="tablog" >Log</ui-tab>
275
+ <ui-tab class="inactive" data-tab="comp" id="tabcomp" >③ Compliance</ui-tab>
276
+ <ui-behind ><a style='display:none' target='_blank' id='current-track'>T</a><a style='display:none' target='_blank' id='current-graph'>G</a></ui-behind>
277
+ </ui-tabbar>
278
+ <ui-content>
279
+ <ui-area data-belongs-to-tab="details" id='graphcolumn' oncontextmenu='return false'>
280
+ <ui-part id='modelling'>
281
+ <div id='graphgrid'>
282
+ <div class="resource-label" style="display: none"></div>
283
+ <svg xmlns="http://www.w3.org/2000/svg" version="1.1" xmlns:x="http://www.w3.org/1999/xlink" id='graphcanvas' class='graphcolumn' width='1' height='1'></svg>
284
+ </div>
285
+ </ui-part>
286
+ </ui-area>
287
+ <ui-resizehandle data-belongs-to-tab="details" data-label="drag to resize"></ui-resizehandle>
288
+ <ui-area data-belongs-to-tab="details" id="detailcolumn">
289
+ <ui-part id='details'>
290
+ <div id="dat_details" class='x-ui-layout'></div>
291
+ </ui-part>
292
+ </ui-area>
293
+ <ui-area data-belongs-to-tab="log" id="arealog" class="inactive"> <!--{{{-->
294
+ <div>Persistent Log: <a style='display:none' target='_blank' id='current-log'></a> [<a style='display:none' target='_blank' id='xml-log'>X</a>,<a style='display:none' target='_blank' id='shifted-log'>S</a>]</div>
295
+ <table id="dat_log" class="x-ui-layout"></table>
296
+ </ui-area> <!--}}}-->
297
+ <ui-area data-belongs-to-tab="comp" id="areacomp" class="inactive"> <!--{{{-->
298
+ <div>
299
+ This tab groups all of your <strong>compliance verification and repair</strong> tools. You can perform the following operations:
300
+ <ul>
301
+ <li><strong>Strict Verification</strong> of the graph / your modelling decisions: <button id="verify">Strict Verify</button><span class='yourlog' style="display:none">. Your compliance log: <a style='display:none' target='_blank' id='comp-verify-current-log'></a> <span style="display:none">[</span><a style='display:none' target='_blank' id='comp-verify-all-log'>Full Verification History</a><span style="display:none">]</span></span></li>
302
+ <li><strong>Fuzzy Label Verification</strong> of the graph / your modelling decisions to identify minor label mismatches: <button id="semantic_verify">Fuzzy Verify (Slow)</button></li>
303
+ <li><strong>Violation Identification</strong> for the graph based on the compliance log (see above): <button id="identify-violations">Identify Violations</button></li>
304
+ <li><strong>Identify Repair Actions</strong> for the graph based on the identified violations (see above): <button id="repair-violations">Identify Repair Actions</button></li>
305
+ </ul>
306
+ </div>
307
+ <div id="comp_log" class="x-ui-layout"></div>
308
+ </ui-area> <!--}}}-->
309
+ </ui-content>
310
+ </ui-rest>
311
+
312
+ </body>
313
+ </html>
@@ -70,7 +70,7 @@
70
70
  <script type="text/javascript" src="js/compliance.js"></script>
71
71
  <link rel="stylesheet" href="css/compliance.css" type="text/css"/>
72
72
  </head>
73
- <body data-base-port="8298" data-res-port="9303" data-theme-base="themes" is="x-ui-">
73
+ <body data-base-port="8298" data-base-engine="engine/" data-base-themes="themes" data-singlerule-endpoint="https://power.bpm.cit.tum.de/compextract/singlerule" is="x-ui-">
74
74
  <div id='disclaimer' class='hidden'> <!--{{{-->
75
75
  <h1>Disclaimer</h1>
76
76
 
@@ -122,6 +122,23 @@
122
122
 
123
123
  <div class='hidden' id='relaxngworker'></div>
124
124
 
125
+ <div id="areanew" class="hidden">
126
+ <table class='x-ui-layout'>
127
+ <tr>
128
+ <td>Resources:</td>
129
+ <td><input name="res-url" type="text" value=""/></td>
130
+ </tr>
131
+ <tr>
132
+ <td>Engine:</td>
133
+ <td><input name="base-url" type="text" value=""/></td>
134
+ </tr>
135
+ <tr>
136
+ <td>Instance:</td>
137
+ <td><input name="instance-url" type="text" value=""/></td>
138
+ </tr>
139
+ </table>
140
+ </div> <!--}}}-->
141
+
125
142
  <div class='menu' id='templates'></div>
126
143
  <div class='menu' id='modeltypes'></div>
127
144
 
@@ -139,29 +156,12 @@
139
156
  <ui-tabbed id="instance">
140
157
  <ui-tabbar>
141
158
  <ui-tab class="switch" ></ui-tab>
142
- <ui-tab class="" data-tab="new" id="tabnew" >Config</ui-tab>
143
159
  <ui-tab class="inactive hidden" data-tab="instance" id="tabinstance" >Instance</ui-tab>
144
160
  <ui-tab class="inactive hidden" data-tab="execution" id="tabexecution">Execution</ui-tab>
145
161
  <ui-behind ><a style='display:none' target='_blank' id='current-instance'></a><a style='display:none' target='_blank' id='current-instance-properties'>P</a><a style='display:none' target='_blank' id='current-instance-subscriptions'>S</a><a style='display:none' target='_blank' id='current-instance-callbacks'>C</a></ui-behind>
146
162
  <ui-last ><a class="logo" href=".."></a></ui-last>
147
163
  </ui-tabbar>
148
164
  <ui-content>
149
- <ui-area data-belongs-to-tab="new" id="areanew"> <!--{{{-->
150
- <table class='x-ui-layout'>
151
- <tr>
152
- <td>Resources:</td>
153
- <td><input name="res-url" type="text" value=""/></td>
154
- </tr>
155
- <tr>
156
- <td>Engine:</td>
157
- <td><input name="base-url" type="text" value=""/></td>
158
- </tr>
159
- <tr>
160
- <td>Instance:</td>
161
- <td><input name="instance-url" type="text" value=""/></td>
162
- </tr>
163
- </table>
164
- </ui-area> <!--}}}-->
165
165
  <ui-area data-belongs-to-tab="instance" id="areainstance" class="inactive"> <!--{{{-->
166
166
  <div>
167
167
  <div class='section'>
@@ -238,7 +238,8 @@
238
238
  <ui-tab class="" data-tab="dataelements" id="tabdataelements">Data Objects</ui-tab>
239
239
  <ui-tab class="inactive" data-tab="endpoints" id="tabendpoints" >Endpoints</ui-tab>
240
240
  <ui-tab class="inactive" data-tab="attributes" id="tabattributes" >Attributes</ui-tab>
241
- <ui-tab class="inactive" data-tab="requirements" id="tabrequirements">Requirements</ui-tab>
241
+ <ui-tab class="inactive" data-tab="nlrequirements" id="tabnlrequirements">① NL-Requirements</ui-tab>
242
+ <ui-tab class="inactive" data-tab="requirements" id="tabrequirements">② AST-Requirements</ui-tab>
242
243
  <ui-behind ></ui-behind>
243
244
  </ui-tabbar>
244
245
  <ui-content>
@@ -258,6 +259,10 @@
258
259
  <button title='add entry'><span>New</span></button>
259
260
  <div id="dat_requirements"></div>
260
261
  </ui-area> <!--}}}-->
262
+ <ui-area data-belongs-to-tab="nlrequirements" id="areanlrequirements" class="inactive"> <!--{{{-->
263
+ <button title='add entry' id="nlreq_add"><span>New</span></button>
264
+ <div id="dat_nlrequirements"></div>
265
+ </ui-area> <!--}}}-->
261
266
  </ui-content>
262
267
  </ui-tabbed>
263
268
 
@@ -267,9 +272,8 @@
267
272
  <ui-tabbar>
268
273
  <ui-before ></ui-before>
269
274
  <ui-tab class="" data-tab="details" id="tabdetails">Graph</ui-tab>
270
- <ui-tab class="inactive" data-tab="dsl" id="tabdsl" >Description</ui-tab>
271
275
  <ui-tab class="inactive" data-tab="log" id="tablog" >Log</ui-tab>
272
- <ui-tab class="inactive" data-tab="comp" id="tabcomp">Compliance</ui-tab>
276
+ <ui-tab class="inactive" data-tab="comp" id="tabcomp" >③ Compliance</ui-tab>
273
277
  <ui-behind ><a style='display:none' target='_blank' id='current-track'>T</a><a style='display:none' target='_blank' id='current-graph'>G</a></ui-behind>
274
278
  </ui-tabbar>
275
279
  <ui-content>
@@ -287,13 +291,20 @@
287
291
  <div id="dat_details" class='x-ui-layout'></div>
288
292
  </ui-part>
289
293
  </ui-area>
290
- <ui-area data-belongs-to-tab="dsl" id="areadsl" class="inactive"></ui-area>
291
294
  <ui-area data-belongs-to-tab="log" id="arealog" class="inactive"> <!--{{{-->
292
295
  <div>Persistent Log: <a style='display:none' target='_blank' id='current-log'></a> [<a style='display:none' target='_blank' id='xml-log'>X</a>,<a style='display:none' target='_blank' id='shifted-log'>S</a>]</div>
293
296
  <table id="dat_log" class="x-ui-layout"></table>
294
297
  </ui-area> <!--}}}-->
295
298
  <ui-area data-belongs-to-tab="comp" id="areacomp" class="inactive"> <!--{{{-->
296
- <div>Compliance: <button id="verify">Verify</button> <a style='display:none' target='_blank' id='comp-current-log'></a> [<a style='display:none' target='_blank' id='comp-all-log'>all</a>]</div>
299
+ <div>
300
+ This tab groups all of your <strong>compliance verification and repair</strong> tools. You can perform the following operations:
301
+ <ul>
302
+ <li><strong>Strict Verification</strong> of the graph / your modelling decisions: <button id="verify">Strict Verify</button><span class='yourlog' style="display:none">. Your compliance log: <a style='display:none' target='_blank' id='comp-verify-current-log'></a> <span style="display:none">[</span><a style='display:none' target='_blank' id='comp-verify-all-log'>Full Verification History</a><span style="display:none">]</span></span></li>
303
+ <li><strong>Fuzzy Label Verification</strong> of the graph / your modelling decisions to identify minor label mismatches: <button id="semantic_verify">Fuzzy Verify (Slow)</button></li>
304
+ <li><strong>Violation Identification</strong> for the graph based on the compliance log (see above): <button id="identify-violations">Identify Violations</button></li>
305
+ <li><strong>Identify Repair Actions</strong> for the graph based on the identified violations (see above): <button id="repair-violations">Identify Repair Actions</button></li>
306
+ </ul>
307
+ </div>
297
308
  <div id="comp_log" class="x-ui-layout"></div>
298
309
  </ui-area> <!--}}}-->
299
310
  </ui-content>
@@ -1,8 +1,9 @@
1
1
  {
2
- "log-url": "https://cpee.org/logs/",
3
- "templates-url": "https://cpee.org/design/server/Templates.dir/?stage=developm
4
- "res-url": "https://cpee.org/flow/resources/",
5
- "base-url": "https://cpee.org/flow/engine/",
6
- "save-url": "https://cpee.org/design/server/",
7
- "llm-url": "https://cpee.org/llm/"
2
+ "logs-url": "https://%host/logs/",
3
+ "templates-url": "https://%host/hub/server/Templates.dir/?stage=development",
4
+ "resources-url": "https://%host/flow/resources/",
5
+ "base-url": "https://%host/flow/engine/",
6
+ "save-url": "https://%host/hub/server/",
7
+ "llm-service-url": "https://%host/llm/",
8
+ "document-store-url": "https://%host/document-store-url/"
8
9
  }
@@ -16,6 +16,23 @@
16
16
  #arearequirements.inactive { display: none; }
17
17
  #arearequirements button.relaxngui_control { display: none; }
18
18
 
19
+ #areanlrequirements {
20
+ display: flex;
21
+ flex-direction: row;
22
+ align-items: flex-start;
23
+ height: 100%;
24
+ }
25
+ #areanlrequirements > button {
26
+ height: 100%;
27
+ padding: 0;
28
+ margin-right: 0.5em;
29
+ }
30
+ #areanlrequirements > button span {
31
+ display: inline-block;
32
+ transform: rotate(-90deg);
33
+ }
34
+ #areanlrequirements.inactive { display: none; }
35
+
19
36
  #dat_requirements {
20
37
  border-collapse:collapse;
21
38
  border-spacing:0;
@@ -28,11 +45,62 @@
28
45
  overflow-y: scroll;
29
46
  }
30
47
 
48
+ #dat_nlrequirements {
49
+ border-collapse: collapse;
50
+ border-spacing: 0;
51
+ border: 0 none;
52
+ margin: 0;
53
+ padding: 0.5em;
54
+ width: 100%;
55
+ height: 100%;
56
+ overflow-x: hidden;
57
+ overflow-y: auto;
58
+ display: flex;
59
+ flex-direction: column;
60
+ gap: 0.5em;
61
+ }
62
+
63
+ #dat_nlrequirements .nlreq-row {
64
+ display: flex;
65
+ align-items: center;
66
+ gap: 0.5em;
67
+ }
68
+
69
+ #dat_nlrequirements .nlreq-id {
70
+ min-width: 2.6em;
71
+ color: #555;
72
+ }
73
+
74
+ #dat_nlrequirements .nlreq-text {
75
+ flex: 1;
76
+ }
77
+
78
+ #dat_nlrequirements .nlreq-status {
79
+ min-width: 5em;
80
+ color: #555;
81
+ font-size: 0.9em;
82
+ }
83
+
84
+ #dat_nlrequirements .nlreq-status.ok {
85
+ color: #2d7f2d;
86
+ }
87
+
88
+ #dat_nlrequirements .nlreq-status.error {
89
+ color: #b30000;
90
+ }
91
+
31
92
  #dat_log div:nth-child(odd) { background-color: #e8e8e8; color: #333; }
32
93
 
33
- #areacomp > div { padding-left: 1em; padding-top: 1em; }
94
+ #tabnlrequirements { color: #c01c28ff; }
95
+ #tabrequirements { color: #c01c28ff; }
96
+ #tabcomp { color: #c01c28ff; }
34
97
 
35
- #comp_log { overflow-y: scroll; overflow-x: hidden; user-select: text; -webkit-user-select: text; -moz-user-select: text; }
98
+ #areacomp > div:first-child { padding-left: 1em; padding-top: 1em; }
99
+
100
+ #comp_log { overflow-y: scroll; overflow-x: hidden; user-select: text; }
36
101
  #comp_log div { padding: 0.2em 0.5em; }
37
102
  #comp_log div.indent { padding-left: 2em; }
103
+ #comp_log div.indent-level-2 { padding-left: 3.5em; }
38
104
  #comp_log div:nth-child(odd) { background-color: #e8e8e8; color: #333; }
105
+ #comp_log div.error { color: #b30000; font-weight: 600; }
106
+
data/cockpit/css/llm.css CHANGED
@@ -68,7 +68,7 @@
68
68
  #prompt {
69
69
  flex: 1 1 auto;
70
70
  height: 100%;
71
- overflow: scroll;
71
+ overflow: auto;
72
72
  outline: none;
73
73
  }
74
74
  #prompt_submit_container {
@@ -106,6 +106,14 @@
106
106
  .llm_button {
107
107
  width: 100%;
108
108
  min-width: 2.5em;
109
+
110
+ display: flex;
111
+ justify-content: center; /* Horizontal zentrieren */
112
+ align-items: center; /* Vertikal zentrieren */
113
+
114
+ /* Wichtig bei Symbolen und Icons */
115
+ line-height: 0.9; /* Verhindert Störungen durch Standard-Zeilenabstände */
116
+
109
117
  height: 2em;
110
118
  }
111
119
  .llm_button.small:nth-child(n+2) {
@@ -0,0 +1,3 @@
1
+ #details {
2
+ height: 50%;
3
+ }