CMPSCI 377: Operating Systems
Lab 3: Interprocess Communication

Due Dates: October 30, 2002 23:59 (User Guide draft)
November 19, 2002 23:59 (complete program)


November 17: Having trouble starting your server (strange exceptions being thrown when you try to bind the object). Try the following:

If you see: 'port already in use' when you try to start the rmiregistry, this means that one is already running. You may or may not have to restart this process, depending upon the conditions. NOTE: make sure to kill your rmiregistry process when you are done for the day.

November 13: The lab 3 deadline has been changed to Friday, November 22nd @ 23:30.

October 31: Here are some hints.

Your user guide draft must be turned in on time in order to receive the documentation component of your grade.

The required number of required simultaneous players has been reduced from 5 to 4.

Purpose of Assignment

This assignment will give you experience with communication between processes that are executing on different machines (and hence located within different JVMs).


This lab project will count for 30% of your lab grade (so 11.7% of your final grade).

You may work with one other person in the class. If you choose to do so, please send email to the professor and the TAs in order to indicate who your partner will be and which of the two of you will be handing in the program. Do not share/accept code with/from anyone else or the net.

Where to do your work

For this lab, place your final submission in the following directory:


If your files are not located in the right place or our robot cannot read your homework at the time of submission, then we will not be able to grade it. In order to make sure that our robot can pick up your program, please check things by executing the ~fagg/bin/checkhw script with the lab3 parameter.

You need only hand-in one copy of your program.

The Problem

For this lab, you are required to implement a multi-player game. The requirements are as follows:

What to Hand In

Place in your Hand-In directory the following:

Important Dates

October 30, 2002 23:59: turn in a draft of your User Guide.

November 19, 2002 23:59: turn in your complete program

November 21, 2002 17:00: by this date, demonstrate your program to one of the TAs or the Instructor. You may do this during their office hours or by appointment (don't try to make appointments at the last minute).

Testing Your Program

Before handing in your program, make sure to test it carefully with at least 5 users (recruit your classmates, friends, etc.).

We will check the correctness of your program during your demonstration.

Possible Projects

Java Hints

This page is online at
Andrew H. Fagg