CSE515 Distributed Computing Systems

Winter 2004

 

Homework 5: Implement a Shared Whiteboard

Problem Summary

For this Homework you are required to implement a shared whiteboard service, using the protocol that emerged from assignment 4. 

Please do your design in teams of four or five students. You will probably want to continue in the same teams that you formed for Homework 4, but, if you don't that's OK. Just send me an email saying that the composition of your team has changed.

The output of this step in the project is a runable software client. Two or more of these clients should together implement the shared whiteboard application.Your client should interoperate with a second copy of itself, or with the client built by either of the other groups.

Project Deliverables

There are three deliverables.
  1. The source code, in two forms: one that we can run and compile, and one that we can read easily. Code should be commented. Here are some worthwhile comments on commenting code.
  2. Design Document - written by the Team 
    This document should not exceed 5 pages. It should include the following:
    1. Overview of the design. Don't repeat what we can better see by looking at the code. Identify the major classes and their roles.
    2. A statement saying which code was written by the team, and which was "reused" from some source outside the team. (For example, you might choose to reuse a GUI from an existing drawing tool).
  3. Experience Report - by each team-member. 
    This should be a 1 or 2 page document describing your (personal) experience of developing the whiteboard application.
    • Include your comments on how suitable the standard protocol was and what you thought about your team's implementation.
    • Comment on the design produced by your team.
    • Describe your role in the team.
    • Describe the role of any other team members whom you though contributed especially to the success or failure of your project.
    • Was the project too difficult to implement in the time provided?
    • Was developing the protocol specifications a good learning experience?
    • What about the implementation phase? Was that valuable?

What to do with it all

Place your designs documents and code in the publicly writable directory /projects/class/cse515/www/projectFinal. Create a directory for your team, and copy your Design Documents and code as html (or pdf ) files in this directory before the due date. (Keep a copy, in case someone vandalizes this directory!) Try to limit the complexity of your document (for example, don't use a tree of 10 inter-linked html files); a single html file is much easier to print. Pictures are OK, in fact, they are encouraged. 

Send the Experience Reports to Andrew Black by email. Once again, there should be one experience report per person.