Automata-based programming
Programming paradigm centred around finite state machines
Automata-based programming is a programming paradigm in which the program or part of it is thought of as a model of a finite-state machine (FSM) or any other (often more complicated) formal automaton (see automata theory). Sometimes a potentially infinite set of possible states is introduced, and such a set can have a complicated structure, not just an enumeration.
Nº Q4056322 ★
Common · Knowledge
Automata-based programming
Programming paradigm centred around finite state machines
Automata-based programming is a programming paradigm in which the program or part of it is thought of as a model of a finite-state machine (FSM) or any other (often more complicated) formal automaton (see automata theory). Sometimes a potentially infinite set of possible states is introduced, and such a set can have a complicated structure, not just an enumeration.
Last price
—
Floor price
—
7-day median
—
30-day sales
0
30-day range
—
In circulation
0
Price history
median
low – high
sales
No sales in this period
Show table
| Date | median | Low | High | sales |
|---|
Sales history
- Last sale
- —
- 30-day average
- —
- 30-day low
- —
- 30-day high
- —
- Sales 7d
- 0
- Sales 30d
- 0
No sales yet.
Anonymous sales: no buyer or seller shown. Figures count player-to-player sales only.
From Wikipedia
Automata-based programming is a programming paradigm in which the program or part of it is thought of as a model of a finite-state machine (FSM) or any other (often more complicated) formal automaton (see automata theory). Sometimes a potentially infinite set of possible states is introduced, and such a set can have a complicated structure, not just an enumeration. Finite-state machine-based programming is generally the same, but, formally speaking, does not cover all possible variants, as FSM stands for finite-state machine, and automata-based programming does not necessarily employ FSMs in the strict sense. The following properties are key indicators for automata-based programming: The time period of the program's execution is clearly separated down to the automaton steps. Each step is effectively an execution of a code section (same for all the steps) which has a single entry point. That section might be divided down to subsections to be executed depending on different states, although this is not necessary. Any communication between the automaton steps is only possible via the explicitly noted set of variables named the automaton state. Between any two steps, the program cannot have implicit components of its state, such as local variables' values, return addresses, the current instruction pointer, etc. That is, the state of the whole program, taken at any two moments of entering an automaton step, can only differ in the values of the variables being considered as the automaton state. The whole execution of the automata-based code is a cycle of the automaton steps. Another reason for using the notion of automata-based programming is that the programmer's style of thinking about the program in this technique is very similar to the style of thinking used to solve mathematical tasks using Turing machines, Markov algorithms, etc.
Text: Wikipédia, CC BY-SA 4.0. ·
Related cards
-
Automata theory
Study of abstract machines and automata
Nº Q214526 ★★★
Not listed
-
S
State (computer science)
Set of instantaneous values of all variables to which a system or computer program has access
Nº Q599031 ★
Not listed
-
Imperative programming
Programming paradigm of directly specifying commands that affect program state
Nº Q275596 ★★★
Not listed
-
P
Purely functional programming
Programming paradigm that treats all computation as the evaluation of mathematical functions
Nº Q28453809 ★
Not listed
-
A
Aspect-oriented programming
Programming paradigm
Nº Q30267 ★★
Not listed
-
R
Return-oriented programming
Computer security exploit technique that manipulates the call stack to hijack control flow
Nº Q278937 ★
Not listed