Finite State Machine(FSM):
an abstract model consisting of finite set of states, and the transitions between those states, along with the actions to be performed while in those state or during transitions
The state stores information about the past i.e. it reflects input changes from the time system started to present moment
State machines can be used for many other things beyond logic design and computer architecture