CMU CS 15-675 Architectures for Software Systems Spring 1998

Modular Decomposition Issues

with answers

Garlan & Kazman Questions on Readings for Lecture 10 Due: Wed Feb 11, 1998

The papers:

[SG96]: Software Architecture: Chapter 3, Section 3.1.

[Par72]: David L. Parnas. On the Criteria To Be Used in Decomposing Systems Into Modules.

Hints:

When reading Section 3.1, you will note that some of the architectural styles have not been covered in detail in the class lectures. The important thing is to recognize the general character of each kind of solution. Think about why each style leads to the characteristics listed in Figure 3.5.

Questions:

1) Explain why the implicit invocation and pipe-and-filter solutions to the KWIC problem exhibit poor performance. What kind of performance does this refer to?

Space performance. These solutions use space inefficiently, since multiple copies of the data stream are maintained.

2) How do the interfaces between modules differ in Parnas two system decompositions?

In the first decomposition (Shared Memory) the interfaces are character formats and table organization. In the second decomposition (ADT) the interfaces are more abstract: the names and types of the interface parameters.


Back

Heather L. Marko

Modified: 5/20/98