CMU CS 15-675 Architectures for Software Systems Spring 1997

Assignment 5: Comparison of Assignment Styles

Due: Wednesday, April 16, 1997

Now that we have produced architectural designs in three different styles, it is useful to think about comparison between those designs from an architectural point of view. To help you make this comparison fill out the missing entries in the table below:

 

Object-Oriented KWIC

Pipe-filter KWIC

Implicit-invocation KWIC

Driving design issues

Data redundancy and speed tradeoffs

Location of knowledge (e.g., trivial words)

Selection of processing order to reduce computational complexity

Use of existing events

Minimize changes to components

Handle ordering issues

Nature of extensions to base

Computing shifts, trivial word removal, different print styles, deletion of lines

Computing shifts, remove duplicate lines, line splitting

Computing shifts, trivial word removal, word histogram

 

 

Global rationale

Support for interaction

Transformation of data; independence of processing steps

Interaction with loose coupling

 

 

Component types

Objects

Control module (main loop with subprogram calls)

Incremental filters

Nonincremental filters

Control module

Active objects

Passive objects

Connector types

Procedure call

Pipes

Events

Procedure calls

 

Topological form

Mostly hierarchical

Mostly linear

At top level, everything can interact with everything else

Below, some hierarchy

Under the Hood

(implementation issues that don't belong in architec–ture discussion)

Class hierarchy

OMT diagrams

Templates, pointers, and other language issues

Unix stdio library

Event Manager

 


© 1997 Carnegie Mellon Computer Science

Email the Current Maintainer

Modified: 04/29/97