Log in / create account | Login with OpenID
DocForge
Programmer's Wiki

State

From DocForge

In computer science and automata theory, a state is a unique configuration of information in a program or machine. It is a concept that occasionally extends into some forms of systems programming such as lexers and parsers.

Whether the automaton in question is a finite state machine, a pushdown automaton or a full-fledged Turing machine, a state is a particular set of instructions which will be executed in response to the machine's input. The state can be thought of as analogous to a practical computer's main memory. The behavior of the system is a function of (a) the definition of the automaton, (b) the input and (c) the current state.

  • Compatible states are states in a state machine which do not conflict for any input values. Thus for every input, both states must have the same output, and both states must have the same successor (or unspecified successors) or both must not change. Compatible states are redundant if occurring in the same state machine.
  • Equivalent states are states in a state machine which, for every possible input sequence, the same output sequence will be produced - no matter which state is the initial state.
  • Distinguishable states are states in a state machine which have at least one input sequence which causes different output sequences - no matter which state is the initial state.

An information system or protocol that relies upon state is said to be stateful. One that does not is said to be stateless. For example, there are stateless firewalls and stateless servers, and HTTP is considered a stateless protocol. A character encoding such as ISO 2022 is said to be stateful if the interpretation of a particular code value depends on the code values that came before it.

[edit] See also

Additional copyright notice: Some content of this page is a derivative work of a Wikipedia article under the GNU FDL. The original article and author information can be found at http://en.wikipedia.org/wiki/State_%28computer_science%29.