blob: b8413bfb028859e188fa48c3dfc76d3c9dd2d7b7 [file] [log] [blame]
% ------------------------------------------------------------------------------
% Copyright (c) 2010, 2020 Contributors to the Eclipse Foundation
%
% See the NOTICE file(s) distributed with this work for additional
% information regarding copyright ownership.
%
% This program and the accompanying materials are made available under the terms
% of the MIT License which is available at https://opensource.org/licenses/MIT
%
% SPDX-License-Identifier: MIT
% ------------------------------------------------------------------------------
\documentclass{article}
\usepackage{tikz}
\usepackage{verbatim}
\usepackage[paperwidth=40in, paperheight=20in]{geometry}
\usetikzlibrary{arrows, automata, positioning, shapes.geometric}
\begin{document}
\pagestyle{empty}
\definecolor{se-blue}{HTML}{D0D5FF}
\newcommand{\state}[2]{\begin{tabular}{@{}c@{}}#1\\#2\end{tabular}}
\begin{tikzpicture}[
->,>=stealth',auto,node distance=5cm,thick,
every node/.style={font=\sffamily\small},
every state/.style={draw=se-blue,thick,top color=white,ellipse,
bottom color=se-blue!75,initial text=},
accepting/.style={accepting by arrow,accepting text=\ldots},
every edge/.style={draw=black!50}]
\node[state, initial] (s1) [ ] {i/i};
\node[state] (s2) [above =1.1cm of s1, right of=s1] {p/i};
\node[state] (s3) [below =1.1cm of s1, right of=s1] {i/p};
\node[state] (s4) [ right of=s2] {c/i};
\node[state] (s5) [ right of=s3] {i/c};
\node[state] (s6) [ right of=s4] {c/p};
\node[state] (s7) [ right of=s5] {p/c};
\node[state] (s8) [below =1.1cm of s6, right of=s6] {c/c};
\path[every node/.style={font=\sffamily\normalsize,outer sep=0pt}]
(s1) edge[ ] node[sloped,anchor=south] {start1} (s2)
(s1) edge[ ] node[sloped,anchor=north] {start2} (s3)
(s2) edge[ ] node[sloped,anchor=south] {done1 } (s4)
(s3) edge[ ] node[sloped,anchor=north] {done2 } (s5)
(s4) edge[ ] node[sloped,anchor=south] {start2} (s6)
(s5) edge[ ] node[sloped,anchor=north] {start1} (s7)
(s6) edge[ ] node[sloped,anchor=south] {done2 } (s8)
(s7) edge[ ] node[sloped,anchor=north] {done1 } (s8)
(s4) edge[bend right=22] node[sloped,anchor=south] {reset1} (s1)
(s5) edge[bend left =22] node[sloped,anchor=north] {reset2} (s1)
(s8) edge[bend right=22] node[sloped,anchor=south] {reset2} (s4)
(s8) edge[bend left =22] node[sloped,anchor=north] {reset1} (s5)
(s6) edge[bend right= 9] node[sloped,anchor=north] {reset1} (s3)
(s7) edge[bend left = 9] node[sloped,anchor=south] {reset2} (s2)
;
\end{tikzpicture}
\end{document}