Page 53 -
P. 53

40                                            N. Russell and A. ter Hofstede
                                     control-flow  control-flow
                                X:         X:        X:      data flow (value of X)  common data store  data flow (value of X)
                                     & data flow  & data flow
                                                                       X:
                                                               X:                    X:
                                                                    control-flow  control-flow
                                         data flow (value of X)
                                X:   control-flow  control-flow X:




                           Fig. 2.9 Data interaction between tasks


                               (a)          X:                    (c)     common data store
                                             A                           X:
                                            data flow               data flow  X:  data   flow
                                                                             A
                                       X:
                                        X          Y

                                                                      X:        X:
                                                                        X         Y
                               (b)          X:
                                             A
                                 data flow              data flow

                                       X:
                                        X          Y


                           Fig. 2.10 Data interaction between block task and subprocess decomposition


                              shows the situation where control-flow and data passing occurring between tasks
                              are integrated. Figure 2.9b denotes the situation where data-flow occurs sepa-
                              rately from control-flow, reducing the need to distribute data elements to tasks
                              other than those that require them. Figure 2.9c illustrates the scenario where data
                              passing occurs implicitly via a global data store common to all tasks in a process.
                             Data Interaction between Block Task and Subprocess Decomposition describes
                              the manner in which data elements are passed to and from a composite task,
                              which has an associated subprocess decomposition. This can be done in one of
                              the three ways. Figure 2.10a–c illustrate data interaction with a subprocess using
                              data channels, formal parameters, and implicit shared data stores, respectively.
                             Data Interaction with Multiple Instance Tasks describes the manner in which data
                              is passed to and from a multiple instance task. As there are multiple instances of
                              the same task, each of these instances replicates the same data elements. Two
                              possible scenarios arise. Either, as illustrated in Fig. 2.11a, the data element that
                              is passed to the instances is composite in form and each of them receives a dis-
                              tinct part of it or, as shown in Fig. 2.11b, each of them replicates the same input
   48   49   50   51   52   53   54   55   56   57   58