alexafsm, A Finite-State Machine Python Library for Building Complex Alexa Skills
Vu Ha

Hi Vu
me too I developed in past naif, a Ruby framework to implement a dialog AS-A state machine, literally. See slides I presented last 15 December in the Milano chatbot meetup:

In that case,

A dialog IS-A state machine!

where dialog states are implemented as dialog-objects (sort of instances of Ruby language dialog classes).

Modeling a dialog AS-A FSM, is still a possible area of scientific research, especially in machine-to-machine (bot-to-bot) knowledge sharing/acknowledge.

Nevertheless my side, I abandoned that approach for some reasons, but eventually my point of view, regarding practical (in nowadays business) man-machine chatbots applications, is to rise up the “level” for chatbot developers (== authors):

Dialog Authoring through scripting is the way

I experimenting scripting metalanguages as ChatScript (I actively support this open source project), because I feel that smart conversational user experiences have to be built by human authors (scriptors) with an “high-level” language that hide “low-level” stuff (as the state maintenance, data storage, etc.). BTW, you can find a bunch of my thoughts about that in my medium pages.