State (computer science)
|
|
This article relies largely or entirely upon a single source. Please help improve this article by introducing citations to additional sources. Discussion about the problems with the sole source used may be found on the talk page. (February 2012) |
|
|
This article should be divided into sections by topic, to make it more accessible. Please help by adding section headings in accordance with Wikipedia's Manual of Style. (February 2012) |
|
|
It has been suggested that this article or section be merged with Program state. (Discuss) Proposed since March 2010. |
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 that 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
- the definition of the automaton,
- the input, and
- the current state.
Following states are distinguished:
- Compatible states are states in a state machine that 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.
- Distinguishable states are states in a state machine that have at least one input sequence causing different output sequences - no matter which state is the initial state.
- 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.
In information processing, a state is the complete set of properties (for example, its energy level, etc. see Classical mechanics) transmitted by an object to an observer via one or more channels. Any change in the nature or quantity of such properties in a state is detected by an observer and thus a transmission of information occurs.
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
- Finite state machine (FSM)
- Mode (computer interface)
- Program state
- State diagram
- State space (dynamical system)
[edit] References
- Fundamentals of Digital Logic by Brown and Vranesic[unreliable source?]