\documentclass{minimal}
\pagestyle{empty}

\usepackage{pstricks}
\usepackage{pst-node}

\begin{document}

\begin{psmatrix}[mnode=oval, colsep=3cm, rowsep=2cm]
[mnode=R,name=res]{sys\_res\_n} &
[name=idle]{\shortstack{\textbf{idle}\\bs = 0\\take=0\\do\_it=0}} &
[name=take]{\shortstack{\textbf{\"ubernehmen}\\take = 1\\char = $b_0$}} \\
%%
[name=doit]{\shortstack{\textbf{enter}\\do\_it = 1}} &
[name=read]{\shortstack{\textbf{read}\\$b_0$ = data}} &
[name=bs]{\shortstack{\textbf{l\"oschen}\\backspace = 1}} \\
\end{psmatrix}

\psset{arrows=->, shortput=nab}

\ncline[linestyle=dotted]{res}{idle}

\ncarc[arcangle=35]{idle}{read}\ncput*[npos=.33]{new\_data$\uparrow$}
\ncarc[arcangle=35]{read}{idle}\ncput*[npos=.33]{ung\"ultiges byte}

\ncarc[arcangle=-25]{read}{bs}\ncput*[npos=.50]{$b_0 == 0x0e$}
\ncarc[arcangle=25]{read}{doit}\ncput*[npos=.50]{$b_0 == 0x1c$}
\ncarc[arcangle=-20]{read}{take}\ncput*[npos=.40]{g\"ultiges zeichen}

\ncarc[arcangle=-15]{bs}{idle}
\ncarc[arcangle=25]{doit}{idle}\ncput*[npos=.50]{finished\_result$\uparrow$}
\ncarc[arcangle=-25]{take}{idle}
\end{document}
