Restaurant Ordering System

The purpose of this system is to automate the process of ordering food at a typical restaurant. Instead having to follow the traditional approach of ordering food (via a waiter), a customer can input an order into some ordering terminal. The basic idea is that there will be an ordering terminal at each table in the restaurant. When the customer submits an order it is then sent to a central processing server that processes the order and subsequently sends it to chef and waiter terminals. The chef terminals notify the chefs which orders to begin making and the waiter terminals notify the waiters when an order is ready to be served. Concurrency is a big issue in this system due to the fact that several customers can submit orders at the same time. The system will need to behave correctly so that food orders are processed appropriately.

Kenneth M. Anderson, 2008.