Software Architecture Design 237
9.3.2 Evaluation and analysis of performance
To evaluate the performance of an architectural design in a particular scenario, the
information about the performances of each component and connector must be
For example, consider the Keyword Frequency Vector extraction system
discussed in Chapter 8. To evaluate the performance of the architectural design in
the pipe-and-filter style on the following scenario, we must know the time required
by each processing component (i.e. the filters) to process each data element and the
time delay by the connectors (i.e. the pipes).
– Scenario 8: On average, a text file to be processed by the Keyword
Frequency Vector extraction system consists of N characters. The average
length of the words is about 6 characters. Among the words, there are about
40% small words that should be removed from the frequency calculation,
and the number of different keywords is only about 1% or less of the total
number of words.
Assume that the components and connector have the following performance
• The Input filter processes each character in 5 units of time.
• The Delete Small Words filter takes 20 units of time to decide whether the
word should be deleted from the stream or output to the stream.
• The Reduce Word to Original Form filter takes about 30 units of time to
process each word.
• The Sort Words Alphabetically component uses an insert sorting
algorithm to sort the words into alphabetical order. For each word it takes
about 3 log(n) units of time to insert it into the list, where n is the length
of the list of words.
• The Statistics of Frequency filter processes each word in 10 units of time.
• The Sort According to Frequency also uses an insert sorting algorithm and
takes 3log(n) time units to insert a keyword-frequency pair into the
keyword frequency vector of n elements.
• The Output component processes each element in 1 unit of time.
Notice that the parameters given in this example are for illustration of the
analysis and evaluation process only. It does not reflect the real performance of