StateWORKS: Example

Microwave Oven control

A state machine to control a microwave oven.

The oven has a Run push button to start (apply the power) and a Timer that determines the cooking period. Cooking can be interrupted at any time by opening the oven Door. After closing the Door cooking continues. Cooking is terminated when the Timer elapses. When the Door is opened a Lamp inside the oven is switched on; when the Door is closed the Lamp goes off.

The control system has the following inputs:

  • Run push button - when activated starts cooking,
  • Timer - while this runs the cooking is enabled,
  • Door sensor - can be true (door closed) or false (door open).

And the following outputs:

  • Power - can be true (power on) or false (power off),
  • Lamp - can be true (lamp on) or false (lamp off).

The knobs to set the power level and timeout values are irrelevant for the control algorithm strtucture. The behavior of the microwave oven control is determined by the Run push button, Timer and Door sensor.


There is no one single solution for the control system. Depending on the  state machine model employed the system may have different numbers of states. We show two possible solutions for the Microwave Oven control system.

picture: moor vfsm
Moore Model
picture: mealy vfsm
Optimized Model (Mealy + Moore)

The details of the state transition diagrams, and especially the actions are included in the state transition tables of the MWOven projects. To display the state transition table you have to download StateWORKS Studio.