Это просто для того, чтобы напрягать ваши навыки программирования или для реального проекта и т. Д.? В любом случае это зависит от того, для чего вы хотите конечный автомат:
- это для управления задачами в какой-то рабочий процесс
- определить состояние потока приложения
- это для двигателя бизнес-правил и т. д.
В случае проекта, я бы предложил, чтобы, в зависимости от того, что вы используете, вы ищете библиотеки в этом домене. Например, в Java есть МНОГИЕ МНОГИЕ библиотеки для потоков рабочих процессов / бизнес-процессов, а также тонны механизмов правил (Drools приходит на ум сразу, хотя это сложный бегемот)