I have a need to describe a hierarchical finite state machine in a standard and portable format. Is there a widely-accepted and supported file format that I should use?
I see that the Graphviz DOT language supports sub-graphs that may be referenced by directed edges. (Although rendering connected clusters using Graphviz is a bit of a problem.) Interpreting the text label on a generic directed edge as a transition event/criterion seems like a slight semantic stretch, but not unusable.
I see that a UML Statechart has support for hierarchically nested states. However, the accepted answer to this question implies that describing a statechart in XMI myself may not actually be properly interoperable with tools that nominally support UML.
I see the W3C SCXML Standard. However, this is still a working draft (and has been for almost 7 years), and I'm not certain if any tool supports this format (other than through conversion).
Is there a more widely-acceptable alternative than one of the above? Should I use one or the other of the above?
One of the examples of portability is that I would like for the graph to be able to be read and used by an HSM simulator like Matlab Stateflow.