<html>
  <head>
    <meta content="text/html; charset=ISO-8859-1"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <br>
    <div class="moz-cite-prefix">On 2/3/14, 5:15 PM, Vance Shipley
      wrote:<br>
    </div>
    <blockquote cite="mid:20140203151535.GB357@aluminium.local"
      type="cite">
      <pre wrap="">
I do a lot of work with communicating finite state machines.  I like
to see these as state diagrams.  Message sequence charts (MSC) are another
viewpoint we use a lot.  I have over the years developed some techniques
to generate these graphical representations from my own Erlang programs.
In 2001 I experimented with parsing my modules into Abstract Forms and
wrote a program which found the state transitions in gen_fsm behaviours.
It output Graphviz DOT files which could then be viewed and manipulated
in other tools.  OTP ships with the 'et' tool which can create MSCs from
executing programs.  The 'observer' presents supervision trees on a 
running system as a directed graph.  These are all actual graphical tools
which I find add to my understanding of my work in significant ways.

</pre>
    </blockquote>
    Well this does bring up a good point, if there are tools like this
    that would be helpful then lets<br>
    talk about what types of tools people might find useful and how to
    create them. <br>
    <br>
    I like the idea of a tool that can take a gen_fsm and generate a
    visual diagram of the states and the transforms. Maybe<br>
    even do something like the Webmachine debugger where you could have
    something that would plot how a FSM moves threw its <br>
    states to understand what is going on. <br>
    <br>
    Erlang has some great tools, but that is no reason why we can't have
    more <br>
    <br>
    <div class="moz-signature">-- <br>
      Zachary Kessin<br>
      <a href="http://mostlyerlang.com">Mostly Erlang Podcast</a><br>
      Skype: zachkessin<br>
      Twitter: <a href="http://twitter.com/zkessin">@zkessin</a>
    </div>
  </body>
</html>