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].