next up previous
Next: Grading Criteria Up: assign3.html Previous: Discussion  

Due Date and Electronic Hand-In

The assignment is due by 10:30am on Wednesday, March 12. Your solution should be placed in a directory named "a3" in your team's class directory. Contents of this directory should include:

In addition, there will be a written commentary (due at the beginning of class on March 12) answering the following questions:

  1. What problem frame(s) does this problem fit? Does it differ from the problem frame(s) of Pipe and Filter KWIC and Object-Oriented KWIC? Why? Draw the frame(s). 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 any other assignment write ups.
  2. Describe the architecture of your system (both the provided part and the parts you added), explaining how it is an example of an implicit invocation architecture. In what ways (if any) do the architectures deviate from the basic implicit invocation style? Describe how your system implements each of the new functionalities required. What were your design decisions? Justify your design decisions. What was the make-or-break issue for your team's solution? Be sure to use architectural concepts and vocabulary (not programming language constructs), and provide architectural diagrams for provided and modified architectures.
  3. Are implicit systems easier or harder to modify than object-oriented architectures? Why? Describe specific modifications (other than the one which you performed) which would be easier in an implicit invocation system, and other modifications which would be harder.
  4. Could the system specified be implemented using a dataflow architecture? If so, how? If not, why not?
  5. Explain how your implementation differs from the one proposed in the paper by Garlan, Kaiser, and Notkin for handling trivial line removal. Would that have been a better approach? If so, why? If not, why not?
  6. The implicit invocation system provided by EventManager assures that all events which are caused by a single announce, whether directly or indirectly, are all complete and that all methods are called before the announce call returns. Identify any differences in your solution which would have been caused if the system delivered the events in arbitrary order, and did not guarantee their delivery prior to returning from an announcement.

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


next up previous
Next: Grading Criteria Up: assign3.html Previous: Discussion

TOM Conversion
Thu Mar 20 16:27:04 EST 1997