views:

1113

answers:

7

When I go back to school after Thanksgiving, I'll be taking a course in CS Theory covering topics such as deterministic and nondeterministic finite state machines, turing machines, pushdown automata and a few other things. However, I haven't found a good application that can produce a visual representation of them as well as testing how they work (pass/fail, etc). The best that I've found so far is jFlap, and I'm finding it rather awkward.

+6  A: 

It was JFlap that I used in college. I didn't find it that awkward to use, but it looks like it may have changed since then. Sorry I don't have a better answer for you than that.

Aaron Smith
Well, jFlap (as awkward as I find it) might be the best thing out there and if I want an app, I'll have to just learn how to use it.
Thomas Owens
+2  A: 

A friend of mine used Latex to draw them. I always preferred pencil and paper.

Paul Nathan
A: 

IAR visualSTATE might be of interest.

JesperE
That looks cool, but it doesn't appear to support all the different types of automata clearly, and it costs money. I think some people might be interested in this, but it doesn't look like it's good for me.
Thomas Owens
+2  A: 

I'm in a class like this right now. I've found paper and pencil to be sufficient. I can't say for sure, but I don't think you'll be required to draw automata that are too complicated to understand on one sheet of paper.

Claudiu
That's true, but I've got messy writing style, which makes it very difficult to write for turning in and testing. Although I manage on tests, relying on that for everything would be a pain. It is something that I am considering, however.
Thomas Owens
Never underestimate the complexity of a real-world state diagram! We've got one here that _does_ need 8px font on an A3 sheet. (Though it should be modulized a bit...)
xtofl
+1  A: 

I drew them in UML and submitted StarUML jpeg exports for a while.

Then I wrote a PHP script to convert them to DOT format and used Graphviz to get nice-looking machines.

aib
I forgot about DOT and Graphviz. That's an option I should look into, but it doesn't allow for testing the machines - I would have to do that by hand.
Thomas Owens
Yes. Since it was sufficient for me to test by hand, I never got around to modifying the script to test the machine as well. Graphviz does produce pretty-looking pictures, though :)
aib
A: 

Turing Machine Simulator

Daniel Silveira
+1  A: 

Simulink Stateflow.

Massive overkill, of course.

XPav