Home
Project
Code
Presentation
Journal
Resume
Philosophy

Senior Capstone
Project

Train Operating System For CCR

Name: William Dwyer

Project Description: Design and implement an operating system for the Computer Controlled Railroad that manages trains as a processes and track and turnouts as resources. The system allocates/deals resources to trains and blocks/activates trains based on availability of resources.

General Requirements:

  1. The operating system must be leveled, with level 0 driving the hardware. Each level is uncoupled and has a distinct communication protocol.
  2. Pay attention to error detection, especially with hardware drivers.
  3. Use a client server model where lower levels server the upper most general levels.
  4. Application programmers can access each level but cannot access the hardware directly.
  5. Application or user modules (e.g. deadlock detection, light signaling, user cabs) easily plug into the Train Operating System (TOS) and remain decoupled from the primary TOS.
  6. TOS is independent of track layout, and number/type of input sensors.
  7. Provide a feedback for TOS states after each event.
  8. Design and develop a visual TOS system state.
  9. Design and develop a command shell as an application.
  10. Develop a package containing software versions of the hardware drivers that can be used for testing utilities and applications without actually using the CCR.
  11. Create a system log of events.

Detailed Requirements:

  1. Existed implementations of CCR
  2. Professor Pankratz and alumni
  3. Visual C++