Please disable Adblockers and enable JavaScript for domain CEWebS.cs.univie.ac.at! We have NO ADS, but they may interfere with some of our course material.

Name: Changelog 
1:
1.99.x
2:
-----
3:
 
4:
* Ruby >= 1.9.3 only, use Queue instead of Threads and Mutexes of Weel::Continue
5:
* LGPL-3 to achive Apache 2 compatibility
6:
* Raise Weel::Signal::Again in HandlerWrapper, to trigger Manipulation and then
7:
redo the activity. HandlerWrapper is not discarded inbetween, so it is possible
8:
to continue receiving multiple callbacks. Basically sequential multi instance
9:
task.
10:
 
11:
1.1.x
12:
-----
13:
Simulation support: #sim is like search mode but without search positions and
14:
emits events trough HandlerWrapper
15:
 
16:
def simulate(type,nesting,tid,parent,parameters={})
17:
 
18:
type      : activity, choose, alternative, otherwise, parallel, parallel_branch,
19:
            mutex, loop
20:
nesting   : :none (for activity), :start or :end (for all others)
21:
tid       : trace id (unique element for every element)
22:
parent    : for all nested element the tid of its parent
23:
parameters: additinal information; for loops the mode (:head or :foot), for
24:
            choose the mode (:inclusive or :exclusive)
25:
 
26:
It is important to note, that parallel_branches are special. Parallel might
27:
have loops and all kinds of stuff inside, that is always executed first - it
28:
is logic to decide how many parallel branches are to be openend. Thus parallel
29:
branches might have parents that are not the parent, but can be logically
30:
considered to be children of parallel for execution. The parent information
31:
delivered for the simulation can be taken to decide if branches are created
32:
in loops or decided upon in decisions (choose).
33:
 
34:
Similar to parallel, there can also be stuff inside the choose, that is not
35:
'alternative' or 'otherwise'. Yet there the code is always executed as is. If
36:
simulation is used to generated traces, this stuff has to be considered as fixed
37:
points (with the rest beeing variable). Special cases can again be, a variable number
38:
of alternatives (with their own dynamic conditions)[1].
39:
 
40:
[1] Just in case you wonder: this can not be easily translated to a case with the
41:
loop outside of the choose, when considering that the otherwise is executed
42:
only when one of the alternatives is executed. This would require at least
43:
additional script tasks in the alternatives that count the number of executed
44:
alternatives.
45:
 
46:
1.0.x
47:
-----
48:
Initial Release