3

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.

Community
  • 1
  • 1
Phrogz
  • 296,393
  • 112
  • 651
  • 745
  • 2
    FWIW, my company has standardized on SCXML. The standard is quite good, and has been updated since this question was posted, even though it's not quite to Recommended Candidate status yet. – Phrogz Mar 12 '13 at 22:08

1 Answers1

1

There is an OMG standard for UML diagram interchange. But I don't thing it is widely accepted. You can also use the eclipse EMF UML2 format, for which you can develop yourself translators for other formats.

vainolo
  • 6,907
  • 4
  • 24
  • 47