Background:
Communicating with multiple robots that share common resources is rather common. Your Amazon order might trigger controls on a robot in the warehouse. It is instructed to ride rails to locate items on shelves and bring them to the shipping department. More complex is dealing with multiple robots filling orders for several customers while trying to share rails and avoid collisions.
Project Description:
Design a multiple user operating system for the Computer Controlled Railroad that allows multiple trains to operate in real time on a shared track layout controlled remotely by several users.
General REquirements:
- Each user becomes a CAB that controls one train at a time.
- Decide on a CAB platform.
- Each CAB shows the state of the layout system.
- Develop an API that communicates with the Digital Command Control (DCC) system.
- Use operating systems concepts to deal with racing conditions, resource allocations, scheduling, etc.
- Deal with starvation and deadlock issues.
- Identify error conditions and attempt to solve them.
- See Dr. Pankratz for CRR inputs and outputs.