CSCI 5828 |
Foundations of Software Engineering |
Course Location 1B 28 Course Time Tuesday and Thursday 11:00 AM - 12:15 PM Topics What's New (Home) Class Schedule Lectures Assignments Student Comments Contact Information Evaluation Criteria Status Reports What's New Archives January, 1999 February, 1999 March, 1999 |
CSCI 5828 Homework 2: Operational SpecificationsIn this homework you will specify the behavior of a cruise-control system using Finite State Machines and Petri Nets. Be careful to choose an "appropriate" level of detail. It is hard to be specific about what "appropriate" really means, but if you are modeling the movement of a human's foot on the accelerator pedal, for example, then you know you have gone too far! A more serious example is that you should only model the fact that acceleration is requested, not how much acceleration is requested; the quantity of acceleration is a data issue, not a control issue. You should turn in your FSM and Petri Net specifications of the system along with a brief discussion of your reactions to using the FSM and Petri Net formalisms to specify this system. Which of the two appears to be more appropriate and why? What problems did you encounter as a specifer. PROBLEM STATEMENTWhen turned on by the driver, a cruise-control system automatically maintains the speed of a car over varying terrain. When the brake is applied, the system must relinquish speed control until told to resume. The system must also steadily increase or decrease speed to reach a new maintenance speed when directed to do so by the driver. There are seven inputs:
There is one output from the system:
HINTThe role of the accelerator is a bit confusing. Think of it this way: The throttle is getting commands from two sources, the human and the cruise control system. The human adjusts the throttle by applying pressure to the accelerator pedal. Even if the cruise control is on, the human might attempt to increase speed (temporarily) by pressing on the accelerator pedal. On the other hand, the job of the cruise control is to maintain a certain speed. If it detects that the car is accelerating (e.g., because the car is going down hill), then it adjusts the throttle to slow it down. Now, what if the car is accelerating because the human is increasing the pressure on the accelerator pedal? In that case, the cruise control must not try to adjust the throttle. So, the fact that the human, through the accelerator pedal, is causing the increase in speed must be made known to the cruise control system as an input. HINT #2This assignment is easier than it looks. If your machine or net starts to get too complex, try to identify ways in which it can be simplified. |
© Ken Anderson, 1999.
Last Updated: 8/16/00; 2:45:55 PM