cpee 1.3.196 → 1.3.197

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.
@@ -0,0 +1,550 @@
1
+ <properties xmlns="http://riddl.org/ns/common-patterns/properties/1.0">
2
+ <attributes>
3
+ <uuid>9fc06103-9922-498f-bba4-231738847696</uuid>
4
+ <theme>default</theme>
5
+ <info>ss</info>
6
+ <modeltype>CPEE</modeltype>
7
+ </attributes>
8
+ <state>ready</state>
9
+ <handlerwrapper>DefaultHandlerWrapper</handlerwrapper>
10
+ <positions/>
11
+ <dataelements/>
12
+ <endpoints>
13
+ <timeout>http://promise.wst.univie.ac.at:9301/timeout</timeout>
14
+ <timeout1>http://promise.wst.univie.ac.at:9301/timeout/1</timeout1>
15
+ <timeout2>http://promise.wst.univie.ac.at:9301/timeout/16</timeout2>
16
+ <timeout3>http://promise.wst.univie.ac.at:9301/timeout/41</timeout3>
17
+ <preminder1>http://promise.wst.univie.ac.at:9301/preminder/1</preminder1>
18
+ <preminder2>http://promise.wst.univie.ac.at:9301/preminder/2</preminder2>
19
+ <sreminder1>http://promise.wst.univie.ac.at:9301/sreminder/1</sreminder1>
20
+ <sreminder2>http://promise.wst.univie.ac.at:9301/sreminder/2</sreminder2>
21
+ <inkasso>http://promise.wst.univie.ac.at:9301/inkasso</inkasso>
22
+ <customer>http://promise.wst.univie.ac.at:9301/customer</customer>
23
+ <credit>http://promise.wst.univie.ac.at:9301/credit</credit>
24
+ <credit_worthy>http://promise.wst.univie.ac.at:9301/credit/worthy</credit_worthy>
25
+ <activation>http://promise.wst.univie.ac.at:9301/activation</activation>
26
+ <zaehler>http://promise.wst.univie.ac.at:9301/zaehler</zaehler>
27
+ <update>http://promise.wst.univie.ac.at:9301/update</update>
28
+ <consume>http://promise.wst.univie.ac.at:9301/consume</consume>
29
+ <decide>http://promise.wst.univie.ac.at:9301/decide</decide>
30
+ <credit_consume>http://promise.wst.univie.ac.at:9301/credit/consume</credit_consume>
31
+ <credit_activate>http://promise.wst.univie.ac.at:9301/credit/activate</credit_activate>
32
+ </endpoints>
33
+ <dsl>call :a20, :customer, parameters: { :label =&gt; "\"Generate Customer\"", :method =&gt; :post, :arguments =&gt; nil }, finalize: &lt;&lt;-END
34
+ data.knr=result[0].value;data.status="normal";data.zaehlerid=result[1].value
35
+ END
36
+ call :a10, :sreminder1, parameters: { :label =&gt; "\"Sendung erste Mahnung\"", :method =&gt; :post, :arguments =&gt; {:knr =&gt; data.knr}, :type =&gt; :task, :mid =&gt; 'sid-5CD9191C-7233-414F-8EF4-A4E1A8D39E07' }
37
+ parallel :wait =&gt; 1 do
38
+ parallel_branch do
39
+ call :a14, :timeout1, parameters: { :label =&gt; "\"2-woechige Frist\"", :method =&gt; :post, :arguments =&gt; {:timeout =&gt; 2} }
40
+ call :a11, :sreminder2, parameters: { :label =&gt; "\"Senden zweite Mahnung\"", :method =&gt; :post, :arguments =&gt; {:knr =&gt; data.knr}, :type =&gt; :task, :mid =&gt; 'sid-8417E18E-016C-4F87-86FC-216475C1C029' }
41
+ parallel :wait =&gt; 1 do
42
+ parallel_branch do
43
+ call :a7, :timeout2, parameters: { :label =&gt; "\"2-woechige Frist\"", :method =&gt; :post, :arguments =&gt; {:timeout =&gt; 2} }
44
+ call :a1, :inkasso, parameters: { :label =&gt; "\"Registrierung als Inkassokunde\"", :method =&gt; :put, :arguments =&gt; {:status =&gt; data.status} }, finalize: &lt;&lt;-END
45
+ data.status=result[0].value;data.zaehler_status='normal'
46
+ END
47
+ parallel :wait =&gt; -1 do
48
+ parallel_branch do
49
+ call :a4, :activation, parameters: { :label =&gt; "\"Aktivierung Register fuer Guthaben und Anzeige am Display (Prepayment)\"", :method =&gt; :post, :type =&gt; :task, :mid =&gt; 'sid-032C8450-4DF9-435B-8105-F0C13734A7A8', :arguments =&gt; {:knr =&gt; data.knr} }
50
+ end
51
+ parallel_branch do
52
+ call :a2, :inkasso, parameters: { :label =&gt; "\"Umparametrierung des Zaehlers von Normal- auf Inkassobetrieb\"", :method =&gt; :put, :arguments =&gt; {:zaehlerid =&gt; data.zaehlerid, :status =&gt; data.zaehler_status} }, finalize: &lt;&lt;-END
53
+ data.zaehler_status=result[0].value
54
+ END
55
+ end
56
+ end
57
+ call :a6, :update, parameters: { :label =&gt; "\"Aktualisierung Guthaben\"", :method =&gt; :post, :arguments =&gt; nil }, finalize: &lt;&lt;-END
58
+ data.wartefrist="ok";data.guthaben=result[0].value.to_i
59
+ END
60
+ call :a3, :timeout3, parameters: { :label =&gt; "\"Aufladen\"", :method =&gt; :post, :arguments =&gt; nil }, finalize: &lt;&lt;-END
61
+ p data.guthaben
62
+ END
63
+ loop pre_test{data.wartefrist!='verstrichen'} do
64
+ loop pre_test{data.guthaben&gt;0} do
65
+ call :a5, :consume, parameters: { :label =&gt; "\"Verbrauchen\"", :method =&gt; :post, :arguments =&gt; {:knr =&gt; data.knr} }, finalize: &lt;&lt;-END
66
+ data.guthaben=data.guthaben-result[0].value.to_i
67
+ END
68
+ end
69
+ call :a13, :decide, parameters: { :label =&gt; "\"Gesetzl. Frist\"", :method =&gt; :post, :arguments =&gt; {:knr =&gt; data.knr} }, finalize: &lt;&lt;-END
70
+ data.wartefrist="verstrichen" if result[0].name == 'wartefrist';data.guthaben=result[0].value.to_i if result[0].name == "balance"
71
+ END
72
+ end
73
+ call :a17, :timeout, parameters: { :label =&gt; "\"Abschaltung\"", :method =&gt; :post, :arguments =&gt; {:knr =&gt; data.knr} }, finalize: &lt;&lt;-END
74
+ data.zaehler_status='off'
75
+ END
76
+ call :a8, :credit_worthy, parameters: { :label =&gt; "\"Kreditwuerdig\"", :method =&gt; :post, :arguments =&gt; {:knr =&gt; data.knr} }, finalize: &lt;&lt;-END
77
+ data.kreditf=result[0].value;data.kredit_wanted="true"
78
+ END
79
+ choose :exclusive do
80
+ alternative "data.kreditf=='true'" do
81
+ call :a12, :timeout, parameters: { :label =&gt; "\"activate parametrizable credit function and credit offer\"", :method =&gt; :post, :arguments =&gt; {:knr =&gt; data.knr} }
82
+ choose :exclusive do
83
+ alternative "data.kredit_wanted=='true'" do
84
+ call :a18, :credit_activate, parameters: { :label =&gt; "\"activate meter\"", :method =&gt; :post, :arguments =&gt; {:knr =&gt; knr=data.knr} }, finalize: &lt;&lt;-END
85
+ data.kredit=result[0].value.to_i
86
+ END
87
+ loop pre_test{data.kredit&gt;0} do
88
+ call :a19, :credit_consume, parameters: { :label =&gt; "\"Consume credit\"", :method =&gt; :post, :arguments =&gt; {:knr =&gt; knr=data.knr} }, finalize: &lt;&lt;-END
89
+ data.kredit=data.kredit-result[0].value.to_i
90
+ END
91
+ end
92
+ end
93
+ end
94
+ end
95
+ end
96
+ end
97
+ parallel_branch do
98
+ call :a9, :preminder2, parameters: { :label =&gt; "\"Kunde zahlt\"", :method =&gt; :post, :arguments =&gt; nil }
99
+ end
100
+ end
101
+ end
102
+ parallel_branch do
103
+ call :a15, :preminder1, parameters: { :label =&gt; "\"Kunde zahlt\"", :method =&gt; :post, :arguments =&gt; nil }
104
+ end
105
+ end
106
+ </dsl>
107
+ <dslx>
108
+ <description xmlns="http://cpee.org/ns/description/1.0">
109
+ <call id="a20" endpoint="customer" svg-label="Generate Customer">
110
+ <parameters>
111
+ <label>"Generate Customer"</label>
112
+ <method>:post</method>
113
+ <arguments/>
114
+ </parameters>
115
+ <finalize>data.knr=result[0].value;data.status="normal";data.zaehlerid=result[1].value</finalize>
116
+ </call>
117
+ <call id="a10" endpoint="sreminder1" svg-label="Sendung erste Mahnung">
118
+ <parameters>
119
+ <label>"Sendung erste Mahnung"</label>
120
+ <method>:post</method>
121
+ <arguments>
122
+ <knr>data.knr</knr>
123
+ </arguments>
124
+ <type>:task</type>
125
+ <mid>'sid-5CD9191C-7233-414F-8EF4-A4E1A8D39E07'</mid>
126
+ </parameters>
127
+ </call>
128
+ <parallel wait="1" svg-label="">
129
+ <parallel_branch svg-label="">
130
+ <call id="a14" endpoint="timeout1" svg-label="2-woechige Frist">
131
+ <parameters>
132
+ <label>"2-woechige Frist"</label>
133
+ <method>:post</method>
134
+ <arguments>
135
+ <timeout>2</timeout>
136
+ </arguments>
137
+ </parameters>
138
+ </call>
139
+ <call id="a11" endpoint="sreminder2" svg-label="Senden zweite Mahnung">
140
+ <parameters>
141
+ <label>"Senden zweite Mahnung"</label>
142
+ <method>:post</method>
143
+ <arguments>
144
+ <knr>data.knr</knr>
145
+ </arguments>
146
+ <type>:task</type>
147
+ <mid>'sid-8417E18E-016C-4F87-86FC-216475C1C029'</mid>
148
+ </parameters>
149
+ </call>
150
+ <parallel wait="1" svg-label="">
151
+ <parallel_branch svg-label="">
152
+ <call id="a7" endpoint="timeout2" svg-label="2-woechige Frist">
153
+ <parameters>
154
+ <label>"2-woechige Frist"</label>
155
+ <method>:post</method>
156
+ <arguments>
157
+ <timeout>2</timeout>
158
+ </arguments>
159
+ </parameters>
160
+ </call>
161
+ <call id="a1" endpoint="inkasso" svg-label="Registrierung als Inkassokunde">
162
+ <parameters>
163
+ <label>"Registrierung als Inkassokunde"</label>
164
+ <method>:put</method>
165
+ <arguments>
166
+ <status>data.status</status>
167
+ </arguments>
168
+ </parameters>
169
+ <finalize>data.status=result[0].value;data.zaehler_status='normal'</finalize>
170
+ </call>
171
+ <parallel wait="-1" svg-label="">
172
+ <parallel_branch svg-label="">
173
+ <call id="a4" endpoint="activation" svg-label="Aktivierung Register fuer Guthaben und Anzeige am Display (Prepayment)">
174
+ <parameters>
175
+ <label>"Aktivierung Register fuer Guthaben und Anzeige am Display (Prepayment)"</label>
176
+ <method>:post</method>
177
+ <type>:task</type>
178
+ <mid>'sid-032C8450-4DF9-435B-8105-F0C13734A7A8'</mid>
179
+ <arguments>
180
+ <knr>data.knr</knr>
181
+ </arguments>
182
+ </parameters>
183
+ </call>
184
+ </parallel_branch>
185
+ <parallel_branch svg-label="">
186
+ <call id="a2" endpoint="inkasso" svg-label="Umparametrierung des Zaehlers von Normal- auf Inkassobetrieb">
187
+ <parameters>
188
+ <label>"Umparametrierung des Zaehlers von Normal- auf Inkassobetrieb"</label>
189
+ <method>:put</method>
190
+ <arguments>
191
+ <zaehlerid>data.zaehlerid</zaehlerid>
192
+ <status>data.zaehler_status</status>
193
+ </arguments>
194
+ </parameters>
195
+ <finalize>data.zaehler_status=result[0].value</finalize>
196
+ </call>
197
+ </parallel_branch>
198
+ </parallel>
199
+ <call id="a6" endpoint="update" svg-label="Aktualisierung Guthaben">
200
+ <parameters>
201
+ <label>"Aktualisierung Guthaben"</label>
202
+ <method>:post</method>
203
+ <arguments/>
204
+ </parameters>
205
+ <finalize>data.wartefrist="ok";data.guthaben=result[0].value.to_i</finalize>
206
+ </call>
207
+ <call id="a3" endpoint="timeout3" svg-label="Aufladen">
208
+ <parameters>
209
+ <label>"Aufladen"</label>
210
+ <method>:post</method>
211
+ <arguments/>
212
+ </parameters>
213
+ <finalize>p data.guthaben</finalize>
214
+ </call>
215
+ <loop mode="pre_test" condition="data.wartefrist!='verstrichen'" svg-label="">
216
+ <loop mode="pre_test" condition="data.guthaben&gt;0" svg-label="">
217
+ <call id="a5" endpoint="consume" svg-label="Verbrauchen">
218
+ <parameters>
219
+ <label>"Verbrauchen"</label>
220
+ <method>:post</method>
221
+ <arguments>
222
+ <knr>data.knr</knr>
223
+ </arguments>
224
+ </parameters>
225
+ <finalize>data.guthaben=data.guthaben-result[0].value.to_i</finalize>
226
+ </call>
227
+ </loop>
228
+ <call id="a13" endpoint="decide" svg-label="Gesetzl. Frist">
229
+ <parameters>
230
+ <label>"Gesetzl. Frist"</label>
231
+ <method>:post</method>
232
+ <arguments>
233
+ <knr>data.knr</knr>
234
+ </arguments>
235
+ </parameters>
236
+ <finalize>data.wartefrist="verstrichen" if result[0].name == 'wartefrist';data.guthaben=result[0].value.to_i if result[0].name == "balance"</finalize>
237
+ </call>
238
+ </loop>
239
+ <call id="a17" endpoint="timeout" svg-label="Abschaltung">
240
+ <parameters>
241
+ <label>"Abschaltung"</label>
242
+ <method>:post</method>
243
+ <arguments>
244
+ <knr>data.knr</knr>
245
+ </arguments>
246
+ </parameters>
247
+ <finalize>data.zaehler_status='off'</finalize>
248
+ </call>
249
+ <call id="a8" endpoint="credit_worthy" svg-label="Kreditwuerdig">
250
+ <parameters>
251
+ <label>"Kreditwuerdig"</label>
252
+ <method>:post</method>
253
+ <arguments>
254
+ <knr>data.knr</knr>
255
+ </arguments>
256
+ </parameters>
257
+ <finalize>data.kreditf=result[0].value;data.kredit_wanted="true"</finalize>
258
+ </call>
259
+ <choose mode="exclusive" svg-label="">
260
+ <alternative condition="data.kreditf=='true'" svg-label="">
261
+ <call id="a12" endpoint="timeout" svg-label="activate parametrizable credit function and credit offer">
262
+ <parameters>
263
+ <label>"activate parametrizable credit function and credit offer"</label>
264
+ <method>:post</method>
265
+ <arguments>
266
+ <knr>data.knr</knr>
267
+ </arguments>
268
+ </parameters>
269
+ </call>
270
+ <choose mode="exclusive" svg-label="">
271
+ <alternative condition="data.kredit_wanted=='true'" svg-label="">
272
+ <call id="a18" endpoint="credit_activate" svg-label="activate meter">
273
+ <parameters>
274
+ <label>"activate meter"</label>
275
+ <method>:post</method>
276
+ <arguments>
277
+ <knr>knr=data.knr</knr>
278
+ </arguments>
279
+ </parameters>
280
+ <finalize>data.kredit=result[0].value.to_i</finalize>
281
+ </call>
282
+ <loop mode="pre_test" condition="data.kredit&gt;0" svg-label="">
283
+ <call id="a19" endpoint="credit_consume" svg-label="Consume credit">
284
+ <parameters>
285
+ <label>"Consume credit"</label>
286
+ <method>:post</method>
287
+ <arguments>
288
+ <knr>knr=data.knr</knr>
289
+ </arguments>
290
+ </parameters>
291
+ <finalize>data.kredit=data.kredit-result[0].value.to_i</finalize>
292
+ </call>
293
+ </loop>
294
+ </alternative>
295
+ <otherwise svg-label=""/>
296
+ </choose>
297
+ </alternative>
298
+ <otherwise svg-label=""/>
299
+ </choose>
300
+ </parallel_branch>
301
+ <parallel_branch svg-label="">
302
+ <call id="a9" endpoint="preminder2" svg-label="Kunde zahlt">
303
+ <parameters>
304
+ <label>"Kunde zahlt"</label>
305
+ <method>:post</method>
306
+ <arguments/>
307
+ </parameters>
308
+ </call>
309
+ </parallel_branch>
310
+ </parallel>
311
+ </parallel_branch>
312
+ <parallel_branch svg-label="">
313
+ <call id="a15" endpoint="preminder1" svg-label="Kunde zahlt">
314
+ <parameters>
315
+ <label>"Kunde zahlt"</label>
316
+ <method>:post</method>
317
+ <arguments/>
318
+ </parameters>
319
+ </call>
320
+ </parallel_branch>
321
+ </parallel>
322
+ </description>
323
+ </dslx>
324
+ <status>
325
+ <id>0</id>
326
+ <message>undefined</message>
327
+ </status>
328
+ <description>
329
+ <description xmlns="http://cpee.org/ns/description/1.0">
330
+ <call id="a20" endpoint="customer" svg-label="Generate Customer">
331
+ <parameters>
332
+ <label>"Generate Customer"</label>
333
+ <method>:post</method>
334
+ <arguments/>
335
+ </parameters>
336
+ <finalize>data.knr=result[0].value;data.status="normal";data.zaehlerid=result[1].value</finalize>
337
+ </call>
338
+ <call id="a10" endpoint="sreminder1" svg-label="Sendung erste Mahnung">
339
+ <parameters>
340
+ <label>"Sendung erste Mahnung"</label>
341
+ <method>:post</method>
342
+ <arguments>
343
+ <knr>data.knr</knr>
344
+ </arguments>
345
+ <type>:task</type>
346
+ <mid>'sid-5CD9191C-7233-414F-8EF4-A4E1A8D39E07'</mid>
347
+ </parameters>
348
+ </call>
349
+ <parallel wait="1" svg-label="">
350
+ <parallel_branch svg-label="">
351
+ <call id="a14" endpoint="timeout1" svg-label="2-woechige Frist">
352
+ <parameters>
353
+ <label>"2-woechige Frist"</label>
354
+ <method>:post</method>
355
+ <arguments>
356
+ <timeout>2</timeout>
357
+ </arguments>
358
+ </parameters>
359
+ </call>
360
+ <call id="a11" endpoint="sreminder2" svg-label="Senden zweite Mahnung">
361
+ <parameters>
362
+ <label>"Senden zweite Mahnung"</label>
363
+ <method>:post</method>
364
+ <arguments>
365
+ <knr>data.knr</knr>
366
+ </arguments>
367
+ <type>:task</type>
368
+ <mid>'sid-8417E18E-016C-4F87-86FC-216475C1C029'</mid>
369
+ </parameters>
370
+ </call>
371
+ <parallel wait="1" svg-label="">
372
+ <parallel_branch svg-label="">
373
+ <call id="a7" endpoint="timeout2" svg-label="2-woechige Frist">
374
+ <parameters>
375
+ <label>"2-woechige Frist"</label>
376
+ <method>:post</method>
377
+ <arguments>
378
+ <timeout>2</timeout>
379
+ </arguments>
380
+ </parameters>
381
+ </call>
382
+ <call id="a1" endpoint="inkasso" svg-label="Registrierung als Inkassokunde">
383
+ <parameters>
384
+ <label>"Registrierung als Inkassokunde"</label>
385
+ <method>:put</method>
386
+ <arguments>
387
+ <status>data.status</status>
388
+ </arguments>
389
+ </parameters>
390
+ <finalize>data.status=result[0].value;data.zaehler_status='normal'</finalize>
391
+ </call>
392
+ <parallel wait="-1" svg-label="">
393
+ <parallel_branch svg-label="">
394
+ <call id="a4" endpoint="activation" svg-label="Aktivierung Register fuer Guthaben und Anzeige am Display (Prepayment)">
395
+ <parameters>
396
+ <label>"Aktivierung Register fuer Guthaben und Anzeige am Display (Prepayment)"</label>
397
+ <method>:post</method>
398
+ <type>:task</type>
399
+ <mid>'sid-032C8450-4DF9-435B-8105-F0C13734A7A8'</mid>
400
+ <arguments>
401
+ <knr>data.knr</knr>
402
+ </arguments>
403
+ </parameters>
404
+ </call>
405
+ </parallel_branch>
406
+ <parallel_branch svg-label="">
407
+ <call id="a2" endpoint="inkasso" svg-label="Umparametrierung des Zaehlers von Normal- auf Inkassobetrieb">
408
+ <parameters>
409
+ <label>"Umparametrierung des Zaehlers von Normal- auf Inkassobetrieb"</label>
410
+ <method>:put</method>
411
+ <arguments>
412
+ <zaehlerid>data.zaehlerid</zaehlerid>
413
+ <status>data.zaehler_status</status>
414
+ </arguments>
415
+ </parameters>
416
+ <finalize>data.zaehler_status=result[0].value</finalize>
417
+ </call>
418
+ </parallel_branch>
419
+ </parallel>
420
+ <call id="a6" endpoint="update" svg-label="Aktualisierung Guthaben">
421
+ <parameters>
422
+ <label>"Aktualisierung Guthaben"</label>
423
+ <method>:post</method>
424
+ <arguments/>
425
+ </parameters>
426
+ <finalize>data.wartefrist="ok";data.guthaben=result[0].value.to_i</finalize>
427
+ </call>
428
+ <call id="a3" endpoint="timeout3" svg-label="Aufladen">
429
+ <parameters>
430
+ <label>"Aufladen"</label>
431
+ <method>:post</method>
432
+ <arguments/>
433
+ </parameters>
434
+ <finalize>p data.guthaben</finalize>
435
+ </call>
436
+ <loop mode="pre_test" condition="data.wartefrist!='verstrichen'" svg-label="">
437
+ <loop mode="pre_test" condition="data.guthaben&gt;0" svg-label="">
438
+ <call id="a5" endpoint="consume" svg-label="Verbrauchen">
439
+ <parameters>
440
+ <label>"Verbrauchen"</label>
441
+ <method>:post</method>
442
+ <arguments>
443
+ <knr>data.knr</knr>
444
+ </arguments>
445
+ </parameters>
446
+ <finalize>data.guthaben=data.guthaben-result[0].value.to_i</finalize>
447
+ </call>
448
+ </loop>
449
+ <call id="a13" endpoint="decide" svg-label="Gesetzl. Frist">
450
+ <parameters>
451
+ <label>"Gesetzl. Frist"</label>
452
+ <method>:post</method>
453
+ <arguments>
454
+ <knr>data.knr</knr>
455
+ </arguments>
456
+ </parameters>
457
+ <finalize>data.wartefrist="verstrichen" if result[0].name == 'wartefrist';data.guthaben=result[0].value.to_i if result[0].name == "balance"</finalize>
458
+ </call>
459
+ </loop>
460
+ <call id="a17" endpoint="timeout" svg-label="Abschaltung">
461
+ <parameters>
462
+ <label>"Abschaltung"</label>
463
+ <method>:post</method>
464
+ <arguments>
465
+ <knr>data.knr</knr>
466
+ </arguments>
467
+ </parameters>
468
+ <finalize>data.zaehler_status='off'</finalize>
469
+ </call>
470
+ <call id="a8" endpoint="credit_worthy" svg-label="Kreditwuerdig">
471
+ <parameters>
472
+ <label>"Kreditwuerdig"</label>
473
+ <method>:post</method>
474
+ <arguments>
475
+ <knr>data.knr</knr>
476
+ </arguments>
477
+ </parameters>
478
+ <finalize>data.kreditf=result[0].value;data.kredit_wanted="true"</finalize>
479
+ </call>
480
+ <choose mode="exclusive" svg-label="">
481
+ <alternative condition="data.kreditf=='true'" svg-label="">
482
+ <call id="a12" endpoint="timeout" svg-label="activate parametrizable credit function and credit offer">
483
+ <parameters>
484
+ <label>"activate parametrizable credit function and credit offer"</label>
485
+ <method>:post</method>
486
+ <arguments>
487
+ <knr>data.knr</knr>
488
+ </arguments>
489
+ </parameters>
490
+ </call>
491
+ <choose mode="exclusive" svg-label="">
492
+ <alternative condition="data.kredit_wanted=='true'" svg-label="">
493
+ <call id="a18" endpoint="credit_activate" svg-label="activate meter">
494
+ <parameters>
495
+ <label>"activate meter"</label>
496
+ <method>:post</method>
497
+ <arguments>
498
+ <knr>knr=data.knr</knr>
499
+ </arguments>
500
+ </parameters>
501
+ <finalize>data.kredit=result[0].value.to_i</finalize>
502
+ </call>
503
+ <loop mode="pre_test" condition="data.kredit&gt;0" svg-label="">
504
+ <call id="a19" endpoint="credit_consume" svg-label="Consume credit">
505
+ <parameters>
506
+ <label>"Consume credit"</label>
507
+ <method>:post</method>
508
+ <arguments>
509
+ <knr>knr=data.knr</knr>
510
+ </arguments>
511
+ </parameters>
512
+ <finalize>data.kredit=data.kredit-result[0].value.to_i</finalize>
513
+ </call>
514
+ </loop>
515
+ </alternative>
516
+ <otherwise svg-label=""/>
517
+ </choose>
518
+ </alternative>
519
+ <otherwise svg-label=""/>
520
+ </choose>
521
+ </parallel_branch>
522
+ <parallel_branch svg-label="">
523
+ <call id="a9" endpoint="preminder2" svg-label="Kunde zahlt">
524
+ <parameters>
525
+ <label>"Kunde zahlt"</label>
526
+ <method>:post</method>
527
+ <arguments/>
528
+ </parameters>
529
+ </call>
530
+ </parallel_branch>
531
+ </parallel>
532
+ </parallel_branch>
533
+ <parallel_branch svg-label="">
534
+ <call id="a15" endpoint="preminder1" svg-label="Kunde zahlt">
535
+ <parameters>
536
+ <label>"Kunde zahlt"</label>
537
+ <method>:post</method>
538
+ <arguments/>
539
+ </parameters>
540
+ </call>
541
+ </parallel_branch>
542
+ </parallel>
543
+ </description>
544
+ </description>
545
+ <transformation>
546
+ <description type="copy"/>
547
+ <dataelements type="none"/>
548
+ <endpoints type="none"/>
549
+ </transformation>
550
+ </properties>