================== === Blockscope === ================== x) Input Hook: =============== *) Collect port values from predecessors (can only be at the same level or immediate parents). x) Output Hook: ================ *) Collect port values from children only. =================== === Atomic Task === =================== x) Input Hook: =============== *) Collect port values from predecessors (can only be at the same level or immediate parents). x) Exec Hook: ============== 1) Provide input values (declare some pointers and let them point to the input). 2) Execute atomic task. 3) Store output values into output struct. ============================= === Parallel ForEach Task === ============================= x) Input Hook: =============== *) Collect port values from predecessors (can only be at the same level or immediate parents, no need to differentiate between input and loopelement ports here). x) Counter Hook: ================= *) Calculates the counters start/step/stop out of input values. x) Iteration Hook: =================== *) Is executed after each iteration (useless for parallel loops?) x) Output Hook: ================ *) Collect output values from children only (one value for each loop iteration) =============== === If Task === =============== x) Input Hook: =============== *) Collect port values from predecessors (can only be at the same level or immediate parents, no need to differentiate between input and loopelement ports here). x) Condition Hook: ================= *) Evaluates the condition (only needs to be done once before the conditional is executed) x) Output Hook: ================ *) Collect port values from children only (Multiple data-link with same to-port because of multiple branches).