In order to enable multiple executions of Task2 during the execution
of Task1 (duringB), it is necessary to make a few modifications
in the model of Figure 24. The first one is to add
a return arc from task2 to P2, enabling future firings of
task2. In addition, transition t2 must have P2 as
input place instead of P4, which is removed from the model. The
reason for this is that, at the end of Task1 (firing of t2) the
token must be removed from P2 to avoid future occurrences of Task2.
It is also necessary to include an inhibitor arc from start_task2
to t2, avoiding that Task1 finishes while Task2 is ready to be executed.
The resulting model is presented in Figure 25.
In both cases (duringA and duringB) there is an internal timeout to avoid that Task2 waits indefinitely for Task1.
The models using high level PN are shown in Figures 26
and 27.