Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Designing state machine automatically

In these days I'm designing a pretty complex sofware, which can be designed decently only with a well-thought state machine. My problem is that, beyond a certain level of complexity, drawing the state machine on a piece of paper becomes a mess!

Is there a software which allows to do the layout automatically? I'm searching for something having the following features:

  • Language agnostic;
  • Based on some state definition language;
  • Somehow similar to Graphviz Dot (from the layout point of view), but supporting the state machines semantics, and not just generic graphs;
  • Possibly free as in speech, not as in beer;
  • Possibly allowing a vectorial output of the resulting diagram.

Thanks for your help :)

like image 221
Dacav Avatar asked Dec 04 '25 17:12

Dacav


1 Answers

Though not usually thought of as a state machine representation, Jackson Structured Programming diagrams can be used as such. I prefer them to state transition diagrams, when the application has a lot of data manipulation involved. They can show the overall picture, and provide substantial space for data operations affixed to the leaves of the diagrams.

I have found the following two tools in my searches:

Jackson Work Bench This is produced from the originators of the Jackson method. I am familiar with their older tools. These older tools supported syntatically all the constructs of state machines - loops; options; and sequences of states. They provide an internal language which is a state machine language They also supported the JSD concept of backtracking both from selections and from iterations. The older tools did not support some of the refinements of state machines - loops that complete at least once; prefixes, infixes, and suffixes; and nested state machines. I have no information whether these refinements are available in the current tools. This tool is likely to be costly, though again I have no costs to hand.

Make a Jackson Diagram. I have no information on this tool. It appears to be a diagrammer only and only Mac based. It is not clear whether it supports any aspect of the semantics of state diagrams, but it is free.

like image 137
Chris Walton Avatar answered Dec 06 '25 14:12

Chris Walton



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!