Как только я начал разбираться в том, как работает автоматное программирование, стали появляться различные приложения для этого подхода.

Статья Как не выстрелить себе в ногу из конечного автомата описывает применение автоматного программирования при разработке iOS приложений. Оказывается удобным в этой концепции описывать список статей с комментариями.

Автоматное программирование с разной степенью успешности применяют для разработки javascript виджетов. Эта область применения мне кажется очень перспективной. Состояния позволяют рассуждать о поведении виджета при различных событиях.

Лампорт пишет, что использовал автоматы для описания распределенных систем в Time, Clocks, and the Ordering of Events in a Distributed System Правда, он пишет что использование автоматов никто не заметил, и шутит, что он специально перечитал свою статью, чтобы убедиться в том, что он действительно написал. Состояния я встречал в другой статье Лампорта A Fast Mutual Exclusion Algorithm. Там они используются для доказательства корректности программы. После каждой строчки исполнения агенты, исполняющие алгоритм синхронизации попадают в определенное состояние, которое характеризуется набором условий. Таким образом мы можем рассматривать любую программу как конечный автомат. И вроде как не сам Лампорт это придумал, а есть отсылки к Susan Owicki and David Gries. An axiomatic proof technique for parallel programs. Таким образом автоматы могут быть очень удобны для доказательства различных алгоритмов синхронизации.

Также в распределенных системах хорошо себя зарекомендовал протокольный подход. И протоколы, кажется, неплохо верифицируются с помощью автоматов.

К тому же, автоматы неплохо соответствуют тому, как работает процессор.

Одной из основных областей применения автоматов является разработка компиляторов. Регулярные выражения на них основаны.

Они очень неплохо поддаются визуализации, что может быть и вредит им. Так как привело к большому количеству попыток создания визуальных средств программирования.

Существуют примеры использования автоматного программирования с помощью MPS от IDEA.

Я сам начал пытаться применять идею состояний и событий к разработке компонент на Angular и очень доволен получаемыми результатами.