This assignment is due on Monday April 24, 2000.
- A flexible Java applet clock can be found at http://www.geocities.com/SiliconValley/Way/6645/javaclock.html.
Study the source code (this shouldn't be too hard even if you don't have
experience with Java).
- (30 points) In roughly a page of text, critique the design of this
applet with respect to its use of information hiding: for example, what
changes were anticipated and what secrets were hidden?
- (50 points) Identify the different aspects (in the aspect-oriented
programming sense) of the code (for instance, thread code is one
aspect). Using highlighters or some similar mechanism, actually mark up
a hardcopy of the source code that separates the code in these different
aspects.
- (10 points) Determine the rough percentages of code that comprise each
of these aspects.
- (50 points) Download AspectJ (http://aspectj.org);
see if you can use AspectJ to separate any of these aspects out for this
applet. If you cannot, describe with some care why you couldn't.
- (40 points) The paper by Walter Tichy that I handed out focused on issues
in evaluating research. In no more than a page, provide a clear
discussion of what are effective ways of evaluating the benefits and costs
of a software design technique (such as information hiding, open
implementation, design patterns, etc.).