CS 2390 Design Assignment #1

CS 2390 Fall 1995

Design Assignment #1

Design the Classes of an Automated Kitchen (AutoKitchen)

DUE IN CLASS JANUARY 19

You have been asked to help in designing the world's first commercially available, totally automated kitchen, AutoKitch (to be built into a new series of prefabricated homes, soon to be clogging a highway near you.)

The homeowner of AutoKitch has a number of devices at his disposal: Refrigerator, Oven, CoffeeMaker, Microwave, Radio, TV, and Lights. Some of these devices (Lights, Radio, TV) can still be controlled by switch, but they turn off when the Kitchen Senses that no one is in the room. Other devices (CoffeeMaker, Oven, Microwave) turn on at specific times. The Refrigerator turns on whenever it Senses that its temperature has left a pre-set range.

The user may also program Orders for her Kitchen (by Phone, by Network Connection from their office computer, or from the Kitchen Computer). An order tells a specific device to turn on or off at specific times (including lights, radio, TV), and may include specialty instructions (e.g., what temperature for the oven, what channel for the TV).

Assignment: Design a set of classes for AutoKitchen that can support the functionality described above. Be sure to think about both the mentioned objects in the above discussion, but also the unmentioned but necessary ones (e.g., if some devices turn on and off at specific times, there must be a Clock somewhere).

You are expected to provide the first three components of the required design documentation:

Extra Credit (5 points): Include a Robot device which can open a device and find a specific food item in it (e.g., Refrigerator, Microwave, Oven), then can pick up and move the food to another device. Such a robot would be a great help to the AutoKitchen owner by allowing him to defrost food in the microwave then place it in the oven for cooking. (Assume that items in the refrigerator are in a ready-to-cook state and don't need to be opened.)