5

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.

Thomas Owens
  • 114,398
  • 98
  • 311
  • 431
  • 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 Answers6

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
1

Simulink Stateflow.

Massive overkill, of course.

XPav
  • 1,150
  • 1
  • 8
  • 16
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