Для представления конечного автомата диаграммы состояний могут быть закодированы в формате DOT: https://en.wikipedia.org/wiki/DOT_%28graph_description_language%29
Для реализации конечного автомата на аппаратном уровне подходящим инструментом является язык описания оборудования: https://www.microsemi.com/document-portal/doc_view/130043-state-machine-an
Для реализации конечного автомата в программном обеспечении машина может быть захвачена с помощью одной или двух справочных таблиц.
Одной LUT будет достаточно для машин Мили, где выходы определяются переходами состояний: каждая комбинация (состояние, вход) будет индексировать кортеж (состояние, выход).
Машины Мура - где выходы определяются по состоянию - потребуют второго поиска: Приведенная выше таблица даст только состояние, со второй таблицей, отображающей это состояние на его вывод.
После того, как эти таблицы будут представлены в выбранном вами формате, например JSON, сериализация должна быть простой.