From the principal window, choose File / Save as and save your ninth application under a new folder of yout tutorial folder (e.g. my_example9) with the name example9.
Create the main algorithm basicAlgorithm (cf. figure 9.1) using the library int for the operations input<1> (int/input) and output<1> (int/output). For the operation compute, create a function definition compute and create a reference to this definition. Create the dependences between the references. Set the periods to 4 for input, 8 for compute, and 8 for output by selecting each reference and filling the Period field.
Open the architecture monoProc from the library u. Define it as main. The durations for the U operator are by default:
int/input = 3 Implode_int = 1 compute = 1 int/output = 3
Implode_int is an internal operation automatically generated
by SynDEx to collect the different data produced by the different occurences
of the int/input operation.
In this case, the system is not schedulable.
Modify the durations for the U operator:
int/input = 1 Implode_int = 1 compute = 1 int/output = 1
Launch the adequation (Adequation / Launch Adequation). Display the schedule (Adequation / Display Schedule) (cf. figure 9.2).
Notice the new operation added by SynDEx (Wait) to respect the period of the input operations.
Notice that because of the periods, during a cycle two input operations are executed (input#1 and input#2) whereas only one compute and one output operations are executed.
Notice the new operation added by SynDEx (Implode_compute) to provide the data from the input operations to the compute one.
Modify the durations for the U operator:
int/input = 1 Implode_int = 1 compute = 2 int/output = 1
Launch the adequation (Adequation / Launch Adequation). Display the schedule (Adequation / Display Schedule). The computed schedule has two phases: a transitory phase (red) and a permanent phase (green) (cf. figure 9.3).
The transitory phase is executed only once. It contains the first occurrence of the input#1 operation, the first occurrence of the input#2 operation, the first occurrence of the Implode_compute operation, and the first occurrence of the compute operation. The compute operation provide data consumed by the output operation schedule at time 9 in the permanent phase.
The permanent phase is the one that is executed infinitely. It contains the second occurrence of the input#1 operation (and its following occurrences). It contains the first occurrence of the output operation (and its following occurrences).