Definition

finite state machine

Part of the Computing fundamentals glossary:

In general, a state machine is any device that stores the status of something at a given time and can operate on input to change the status and/or cause an action or output to take place for any given change. A computer is basically a state machine and each machine instruction is input that changes one or more states and may cause other actions to take place. Each computer's data register stores a state. The read-only memory from which a boot program is loaded stores a state (the boot program itself is an initial state). The operating system is itself a state and each application that runs begins with some initial state that may change as it begins to handle input. Thus, at any moment in time, a computer system can be seen as a very complex set of states and each program in it as a state machine. In practice, however, state machines are used to develop and describe specific device or program interactions.

To summarize it, a state machine can be described as:

  • An initial state or record of something stored someplace
  • A set of possible input events
  • A set of new states that may result from the input
  • A set of possible actions or output events that result from a new state

In their book Real-time Object-oriented Modeling, Bran Selic & Garth Gullekson view a state machine as:

  • A set of input events
  • A set of output events
  • A set of states
  • A function that maps states and input to output
  • A function that maps states and inputs to states (which is called a state transition function)
  • A description of the initial state

A finite state machine is one that has a limited or finite number of possible states. (An infinite state machine can be conceived but is not practical.) A finite state machine can be used both as a development tool for approaching and solving problems and as a formal way of describing the solution for later developers and system maintainers. There are a number of ways to show state machines, from simple tables through graphically animated illustrations.

This was last updated in April 2005
Posted by: Margaret Rouse

Related Terms

Definitions

  • MIS (management information systems)

    - MIS represents the most critical -- and often, most proprietary and difficult to upgrade -- applications used internally by enterprises. (SearchDataCenter.com)

  • flash storage

    - Flash storage, based on flash memory, is used for data repositories, storage systems and consumer devices, such as USB drives, smartphones and solid-state drives. Flash-based storage is faster than... (WhatIs.com)

  • statistical mean, median, mode and range

    - Calculating the mean, median, mode and range of a set of numbers allows you to track changes over time and set acceptable ranges and variance. Here's how to find your data's mean, median, mode or r... (SearchDataCenter.com)

Glossaries

  • Computing fundamentals

    - Terms related to computer fundamentals, including computer hardware definitions and words and phrases about software, operating systems, peripherals and troubleshooting.

  • Internet applications

    - This WhatIs.com glossary contains terms related to Internet applications, including definitions about Software as a Service (SaaS) delivery models and words and phrases about web sites, e-commerce ...

Ask a Question About finite state machinePowered by ITKnowledgeExchange.com

Get answers from your peers on your most technical challenges

Tech TalkComment

Share
Comments

    Results

    Contribute to the conversation

    All fields are required. Comments will appear at the bottom of the article.