4 ms·
> I want a good notation for state machines that is similar to EBNF. If this isn't a firm requirement, perhaps you can dig into the venerable state machine not
by discarded1023 3y ago
> I want a good notation for state machines that is similar to EBNF.
If this isn't a firm requirement, perhaps you can dig into the venerable state machine notations of yesteryear. For instance ARGOS [1] and StateCharts [2]. The latter got incorporated into UML somehow [3] IIRC. Esterel [4] is a bit mind blowing.
Other people prefer dataflow, in which case Lustre [5] might be worth a look.
These make a strong synchrony hypothesis which may or may not apply to your situation. But if it does you're in clover. And if you're not you can still try to use this stuff in a GALS [6] architecture.
[1] https://dl.acm.org/doi/10.1016/S0096-0551%2801%2900016-9 https://dl.acm.org/doi/10.1016/S0096-0551%2801%2900016-9 (and google some more)
[2] https://statecharts.dev/ https://statecharts.dev/
[3] https://en.wikipedia.org/wiki/UML_state_machine https://en.wikipedia.org/wiki/UML_state_machine
[4] https://en.wikipedia.org/wiki/Esterel https://en.wikipedia.org/wiki/Esterel
[5] https://en.wikipedia.org/wiki/Lustre_(programming_language) https://en.wikipedia.org/wiki/Lustre_(programming_language)
[6] https://en.wikipedia.org/wiki/Globally_asynchronous_locally_synchronous https://en.wikipedia.org/wiki/Globally_asynchronous_locally_...