Prof Ric Holt, Department of Computer Science, Waterloo University

Marking: Q1 [25] _______ Q2 [10] _______ Q3 [ 5] _______ Q4A[10] _______ Q4B[10] _______ Q4C[10] _______ Q4D[10] _______ Q5A[10] _______ Q5B[10] _______ TOTAL[100] _______Answers should be clear and brief. Please use good grammar and spelling.

1. [25 points] Compare and contrast the architectural styles that Garlan & Shaw call "Pipe and Filter" and "Layered". Contrast, their kinds of components and connectivity, classical diagrams of them, standard examples of them and their relative (dis)advantages.

2. [10 points] Using examples, explain the difference between a software architectural style and a standard (or reference) architecture.

3. [5 points] What is Conway's Law? In term's of the presentation of the architecture of the disk drive system given in class, explain how this law was or was not obeyed.

4. Part A. [10 points] The following tuples signify static dependency relations between 4 modules: M1 D M2, M1 D M3, M2 D M3, M3 D M4 The following tuples are containment (modules by subsystems): SS1 C M1, SS1 C M2, SS2 C M3, SS2 C M4 There is also the entire system S, S C SS1 and S C SS2. (C is tree). Give a diagram for this system that makes clear all its relations. Give a legend (explaining your diagrammatic conventions).

4. Part B. [10 points] Give a schema (TA scheme presented as a diagram, or E/R diagram), that characterizes the type of system described in part A of this question.

4. Part C. [10 points] In the diagram for part A, let F be D backwards. Let G = F+ (non-reflexive transitive closure of F). Draw G (not F) on your diagram. (You may want to make a separate copy of the diagram here to avoid confusion). 4. Part D. [10 points] There are these permission edges to be applied to system S:

I (import): SS1 I SS2, SS1 I M3 B (export to buy): M2 B SS1These are the rules, R1, R2 and R3, defining the permision given by I and B:

R1: B <= P (<= means subset, P is C backwards, ie Parent) R2: I <= S union I . C (I is a subset of the union of S and the composition of I with C) R3: D <= B . I (D is a subset of the composition of B with I)Question: Draw the I and B edges on the diagram for Part A. (You may want to make a separate copy of the diagram here to avoid confusion). Let D' be the set of all possible (allowed) D tuples (not just the ones given by the tuples in Part A). Give the list of the tuples in D'. Does the system satisfy permission rule R3? Explain why or why not.

5. Part A. [10 points] Parnas says of his KWIC index "Modularization 2": "Line storage is on level 1 ... Input and Circular Shifter require line storage for their functions. Output and Alphabetizer will require Circular Shifter ... " Draw this architecture (modularization) as a box and arrow diagram (with a nice presentation), with a legend clearly stating the meaning of lines, edges and nodes.

5. Part B. [10 points] Parnas lists "design decisions ... likely to change" for his KWIC index system:

- C1: Format of input
- C2: All lines stored in core?
- C3: How many chars in each word
- C4: Index (make index or store shifted form?)
- C5: When alphabetize?