CCR Simulator

Jack Ward


Project Description


2016 DC Pankratz


Computer Controlled Railroad Simulator


Project Developer: John Ward


The Computer Controlled Railroad (CCR) is an HO scale model railroad that is controlled by a PC using robotic techniques. It is currently used in computer science classes like Operating Systems and Machine Organization to help students visualize concepts like multi-tasking, racing conditions and interrupt processing. Several student projects have used the CCR to learn about robotics, client-server processing and real-time processing. Unfortunately, there are only two physical railroad layouts for students to test their designs and algorithms. Development is also slowed by issues like trains derailing, damaged track and power loss. A CCR simulator would allow several students to be working on the railroad at the same time and whenever and wherever they want. Project Description: Develop an application that simulates a CCR allowing applications to plug into the actual CCR without major modifications.


General Requirements:


1. Design a track definition protocol so that users can define their own layouts.


2. Develop a track editor that allows the user to design their own layouts.


3. Layout designs can be saved, loaded, and modified.


4. A layout supports turnout switches and train detection sensors.


5. Users can adjust a train’s speed, direction, lights, horn, etc.


6. Support multiple trains.


7. Detect collision.


8. Develop an API that allows application programs to send and receive information

to the simulator.


9. Develop a graphical interface that dynamically shows the current state of the



10. Simulate error conditions such as broken trains and hardware failure.


11. Develop a simple user interface that can run the simulator.




All folders are zipped


Application only runs on a 64 bit Windows Machine


Must have Microsoft Visual Studio 2015 to run Program






1) Click a link to download

2) Unzip the folder

3) Open the About.txt and follow instructions


Check Out My Presentation