Finomaton lets you comfortably draw and typeset finite state machines (automata). It outputs plain MetaPost-code which can be transformed to PostScript and subsequently included in your TeX and LaTeX documents for excellent typesetting quality.
Available at:
http://www.logic.at/prolog/finomaton/finomaton.html

See:
Swap