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:
- a text file "kwic.doc" indicating the names of your team members
and the changes made to the original system.
- modified source to changed modules (following the above
restrictions), source for any new modules, and a running
system.
In addition, there will be a written commentary (due at the beginning
of class on March 12) answering the following questions:
- 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.
- 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.
- 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.
- Could the system specified be implemented using a dataflow
architecture? If so, how? If not, why not?
- 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?
- 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: Grading Criteria
Up: assign3.html
Previous: Discussion
TOM Conversion
Thu Mar 20 16:27:04 EST 1997