I drawed a picture like a process flow, However, I found the line between two tuples is too short as seen in the following image.
How to make the line longer? Here is the code:
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{trees}
\resizebox{.5\textwidth}{!}{
\tikzset{level 1/.style={level distance=0.7cm, sibling distance=3cm}}
\tikzset{level 2/.style={level distance=0.7cm, sibling distance=6cm}}
\tikzset{bag/.style={text width=20em, text centered,yshift=-0.2cm}}
\begin{tikzpicture}[grow=down, -stealth]
\node[bag]{$S_0){:}(B,true,0)$}
child{ edge from parent node[right]{}; \node[bag]{$S_1{:}(R_{good}\sq P,true,DS)$}
child{ edge from parent node[right]{}; \node[bag]{$S_2{:}(and)$}
child[missing]
child{ edge from parent node[right=0.1cm]{$[else]$}; \node[bag]{$S_3{:}(A_1,true,DS)$}
child{edge from parent node[right=0.1cm]{};\node[bag]{$S_5{:}(P_1,true,DS)$}
child{edge from parent node[right=0.1cm]{$ $};\node[bag]{$S_7{:}(or)$}
child[missing]
child{edge from parent node[right=0.1cm]{};\node[bag]{$S_8{:}(A_2, FS{>}1,1)$}
child{edge from parent node[right=0.1cm]{};\node[bag]{$S_{10}{:}(P_2,FS{>}1,DS{+}1)$}
child{edge from parent node[right=0.1cm]{$$};\node[bag]{$S_{12}{:}(or)$}
}
}
}
child{edge from parent node[right=0.15cm]{};\node[bag]{$S_9{:}(R_{good},0{<}FS{<}1,DS{+}FS)$}
child{edge from parent node[right=0.1cm]{};\node[bag]{$S_{11}{:}(Stop,0{<}FS{<}1,DS{+}FS)\tick$}
}
}
}
}
}
child{ edge from parent node[right=0.9cm]{$[if]$}; \node[bag]{$S_4{:}(R_{good}\sq P,true,DS)$}
child{edge from parent node[right=0.1cm]{$\lreply \_ User$};\node[bag]{$S_6{:}(Stop,K_{DS\land FS\land PS},DS)\tick$}
}
}
}
};
\end{tikzpicture}}
\end{document}


text width=20em. That tells TikZ to assume that the text in each node has a width of20em, regardless of the actual content of the node. This width is then used to determine where the connecting lines start. – Jake Aug 16 '12 at 5:24