Labs

  1. Trainspotting
  2. Trainmonitoring
  3. CCHAT
  4. Workers

Lab 2: Trainmonitoring

Deadlines

Lab description

In this assignment, you will implement a variation of the program to control the two trains that uses monitors.

Programming language

This lab assignment must be developed in Java.

Assignment

Your assignment is to adapt the program that controls the trains from the Lab 1: Trainspotting to use monitors instead of semaphores.

Requirements

Getting started

Use the same project file organization as in lab 1. Copy Lab1.java to Lab2.java, rename the class, and change Main.java to use Lab2 instead of Lab1. You do not need to change the map file.

Tips and Tricks

To give you some hints, you should think that each track is represented by a monitor. The monitor will have, at least, the following interface:

public void enter();
public void leave();

where enter() is called by a train when it enters a single track, and leave() is called by a train when it leaves a single or double track.

Submission

In your submission, you should clearly explain the following items:

Menu