A Finite State Automaton (also called Finite State Machine, FSA) is a theoretical model of computation which is characterised by some finite number of states, which the automaton can switch between (transition to) with some given conditions.
The keyword automaton means once the transitions are defined, the FSA can run without any extra intervention.
Examples
Example: Printer Manager
Suppose some software is required to run a printer management system, which is capable of taking in print requests by two users: User A & User B. It should be able to queue these requests, then print them accordingly. Provide a FSA for this specification, as well as any constraints
%%🖋 Edit in Excalidraw, and the dark exported image%% Constraints:
- Every succeeds , i.e. a print by a user is done only after the request has been queued by that user
- Every is eventually followed by a : Every request is eventually printed