next up previous
Next: Grading criteria Up: base.html Previous: Discussion  

Due date and electronic hand-in

The assignment is due by 10:30 am on Monday, February 24. You will have a directory created for your group. It will be located in ``/afs/cs/academic/class/15675/studentdir". You should create a subdirectory called ``a1". In ``a1" prepare a file called ``kwic.doc". This file should contain:

The directory should also contain the system (source files, especially of all modules modified/added, and an executable file, named ``session").

Before class on the due date, permissions to the directories will be disabled and you will not be able to modify the files. In addition there will be a written commentary (due at the beginning of class on Monday, February 24) answering the following questions:

  1. What problem frame(s) does this problem fit? Does it differ from the problem frame(s) of the Pipe and Filter KWIC? Why? Draw the frames(s) if different from the Pipe and Filter assignment. Briefly describe (designate) the domains in your frames. Note that your answer should contain enough information so that the reader will not have to refer to your write up for Assignment 1.
  2. How does an architectural diagram differ from an object model? (Answer in terms of some object model notations such as Universal Modeling Language Object Model or Object Modeling Technique object diagram.) What do architectural diagrams convey that accounts for the difference? What kinds of reasoning can you do about this problem with your architectural diagram? Does an object model support the types of reasoning you've identified? Do each of the diagrams scale to very large systems? (Justify your answers.) What sorts of things do both models omit?
  3. Describe the architecture of your system (both the provided part and the parts you added), explaining how it is an example of an object-oriented architecture, and in what ways (if any) it deviates from the basic object-oriented style. Describe how your system implements each of the new functionalities required. Justify your design decisions. Be certain to use architectural concepts and vocabulary (not programming language constructs), and provide architectural diagrams for provided and modified architectures.
  4. For each of the changes you made, explain if the change was of the internals of one of the system components (e.g., data structures or algorithms) or of the system architecture (e.g., adding modules, deleting modules, adding connections between modules, augmenting interfaces).
  5. What changes would you have to make to your system to change the representation of line storage? What other components would be affected?
  6. Describe changes you would have to make to your system to add the functionality of only showing lines that start with a particular word.
  7. Does the system lend itself to a distributed implementation (i.e., different modules running on different processors or machines)? If so what changes would have to be implemented to make it function this way? Consider things such as how this will effect module interfaces and how well the architecture will support concurrency.

The commentary should be your own work: i.e., individuals, not teams for commentary.


next up previous
Next: Grading criteria Up: base.html Previous: Discussion

TOM Conversion
Wed Feb 5 18:33:12 EST 1997