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.
Asked
Active
Viewed 8,853 times
5
-
Not a duplicate of that question. – Aaron Smith Oct 13 '08 at 18:17
-
I used a java finite state machine program when I was in college, but I can't remember what it was called. I'm trying to find it for you. – Aaron Smith Oct 13 '08 at 18:18
-
I know it's not a duplicate, but rather a direct result of that question. That is why I made the smiley. – Tomalak Oct 13 '08 at 18:20
-
Aaron Smith: It's probably jFlap. It is Java, and very meh. But if that's what you come up with, post it as an answer. – Thomas Owens Oct 13 '08 at 18:20
-
What exactly is wrong with JFLAP? It was specifically designed as a didactic instrument: you can do conversion algorithms or matchings step-by-step, etc. (OK, the online help is in the form of Haiku poems, which is a little weird.) But it is a great tool. – Bruno De Fraine Oct 13 '08 at 19:09
-
I just find jFlap awkward to use. I usually fumble around for a little while before getting the job done. I don't feel it's intuitive. – Thomas Owens Oct 13 '08 at 19:10
6 Answers
8
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
- 3,332
- 4
- 29
- 25
-
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 Oct 13 '08 at 18:23
3
A friend of mine used Latex to draw them. I always preferred pencil and paper.

Paul Nathan
- 39,638
- 28
- 112
- 212
2
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
- 224,032
- 165
- 485
- 680
-
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 Oct 13 '08 at 18:56
-
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 Nov 21 '08 at 09:22
1
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
- 45,516
- 10
- 73
- 79
-
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 Oct 13 '08 at 19:05
-
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 Oct 14 '08 at 13:14
0
IAR visualSTATE might be of interest.

JesperE
- 63,317
- 21
- 138
- 197
-
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 Oct 13 '08 at 18:39