Основной принцип:
конечные автоматы часто используются для решения определенных типов задач, ориентированных на управление, в которых поток управления может быть представлен как движение через набор различных состояний. Существует несколько различных определений и практических описаний конечного автомата; на теоретическом уровне это подобный автомату, который реагирует на определенный стимул, изменяя свое состояние. Для более общего выражения его можно рассматривать, например, как автомат, который реагирует на входную строку, проходя через набор состояний. Если достигается желаемое состояние, входная строка становится эквивалентной общему выражению.
В программном обеспечении для управления обычно в качестве основы вычислительной модели принимается конечная и детерминированная природа конечного автомата. Это принципиально означает, что число возможных состояний или комбинаций состояний конечно, и что конечный автомат может иметь только одно состояние в любой момент времени. Позже мы увидим, что правило «одно состояние за раз» может быть ослаблено, но важным аспектом является то, что состояние потока является детерминированным свойством.