Assignment
3 – Protocol Definition For Room Reservation
Due
Oct 31, 2002
Department Room Reservation
The
department has a number of rooms that faculty can use for special purposes.
There are three computer labs and two conference rooms. Currently the
scheduling is done by hand. The department would like to automate the process.
Over a number of assignments we will build a system for room reservation. As
the department is moving into a different building the number of rooms of each
type may change. The actual location of the rooms will change. Two of the
computer rooms contain PCs the other contains Macintosh computers. All three
computer rooms contain a computer-projector system so an instructor can project
a computer screen on a wall. One PC room, BA-120, contains 20 PCs. The other PC
room, BA-121, contains 40 PCs. The Macintosh computer room, BA-119, contains 30
Macintosh computers. One conference room, BA 207, holds 10 people. The other
conference room, BA-339, holds 15 people.
Students
can view the schedule of a room.
Instructors
can view schedules and reserve rooms. An instructor can also change a
reservation that they made earlier. They can cancel a reservation or change the
time of a reservation. An instructor cannot change a reservation they did not
make. A room cannot have two or more reservations at the same time. A
reservation can be for one time only, or for given time each week for the rest
of the semester. When making a reservation an instructor can specifies the
room, date, start time, end time, number of students and whether the
reservation is either one time or repeating. When scheduling a room the
smallest room that meets the needs should be used. If an instructor requests a
large room, but their request can fit into a smaller room, they are to be given
the smaller room. Reservations are in 1/2-hour blocks. That is one can reserve
a room for 1/2 hour, one hour, 1 1/2 hours, 2 hours, etc. A reservation starts
on the hour or half hour.
The
administrator can perform the same actions as an instructor plus the following.
The administrator indicates the hours a room is available. A room is available
at the same time for a given day of the week each week of the semester. So if a
room is available from 10:00-22:00 on Mondays, it is available at that time
each Monday of the semester. The administrator can change or cancel any
reservation. When this is done, the instructor is to be notified by email. The
administrator can block out time in a room, making it unavailable for use at
that time.
In
this assignment you are design a protocol for a client-server system to meet
the above requirements.
You
can work in teams of two people. Larger teams are not allowed. Working in teams
means both people work together. If you work in teams both people need to email
me separately of the team. When you turn in you assignment turn in one copy
with both names on it.
What
to Turn in
A
written description of the your protocol. Please note that while you will be
implementing a client-server system based on this protocol you may end up
implementing someone else’ protocol.