Page 202 - Software and Systems Requirements Engineering in Practice
P. 202

168   S o f t w a r e   &   S y s t e m s   R e q u i r e m e n t s   E n g i n e e r i n g :   I n   P r a c t i c e



                                         CPU             Physical   Network
                       Processing Step   Instructions (K)  I/O      Messages
                       Collect Data      10,020          2000       1000
                       Store Data        570             4          1
                       Analyze Data      51,100          400        100
                       Total             61,690          2404       1101

                      TABLE 5.11  Total Computer Resource Requirements for Alarm Detection



                      requests and computer device usage. For example, a database access
                      requires 500K CPU instructions, two physical I/Os, and 0 network
                      messages. The last section specifies the service time for the devices.
                      For example, a CPU uses 10 microseconds to execute one thousand
                      instructions.
                         This processing overhead table can be used for calculating total
                      computer resource requirements for the execution graph for alarm
                      detection in Figure 5.10. We show this in Table 5.11.
                         The  best-case  elapsed  time  for  the  alarm  detection  execution
                         graph, therefore, is (61690 × 0.00001) + (2404 × 0.02) + (1101 ×
                         0.01) = 59.7 seconds
                         Thus 59.7 seconds is the best-case elapsed time and does not take
                      into account any network latency, unavailability, or queuing delays.
                      Any increase in the number of field devices and the arrival rate of
                      data  samples  could  also  affect  the  system  performance.  Given  the
                      best-case time is so close to the expected performance, certain other
                      design  decisions  may  need  to  be  made  to  achieve  further
                      improvements. These include but are not limited to

                          •  Concurrent  processing  at  each  processing  step  to  avoid
                             bottlenecks
                          •  Filtering and preprocessing of data that avoids transmitting
                             all raw data to the alarm subsystem

                 5.8  Practice and Experience
                      Our experience in applying these methods has shown benefits in a
                      number of areas.

                      Impact of Business Goals
                      Every system has a rationale for its creation. This rationale takes the
                      form  of  business  goals  set  forth  by  the  organization  creating  the
                      system and has a strong influence on the architecture of the system
                      under consideration [Sangwan et. al. 2007].
   197   198   199   200   201   202   203   204   205   206   207