% ------------------------------------------------------------------------------
% Copyright (c) 2010, 2021 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}
