State machines consume and process actions complementary to programs issuing actions. State machines maintain a state and reply with a boolean response to each action in their interface. As state machines offer a service to programs, their interface is also called a service interface. State machines can be combined with several natural operators, thus giving rise to a state machine calculus. State are used for abstract data type modeling.
Jan A. Bergstra, Alban Ponse