% ------------------------------------------------------------------------------
% 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}
\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=2.5cm,thick,
  every node/.style={font=\sffamily\small},
  every state/.style={draw=se-blue,thick,top color=white,
                      bottom color=se-blue!75,initial text=},
  accepting/.style={accepting by arrow,accepting text=\ldots},
  every edge/.style={draw=black!50}]

  \node[state, initial]   (s00)                      {p/i};
  \node[state]            (s01) [      right of=s00] {i/i};
  \node[state]            (s02) [      right of=s01] {p/c};
  \node[state]            (s03) [above right of=s02] {i/c};
  \node[state]            (s04) [below right of=s02] {p/i};
  \node[state]            (s05) [below right of=s03] {i/i};
  \node[state]            (s06) [      right of=s05] {p/c};
  \node[state]            (s07) [above right of=s06] {i/c};
  \node[state]            (s08) [below right of=s06] {p/i};
  \node[state]            (s09) [below right of=s07] {i/i};
  \node[state, accepting] (s10) [      right of=s09] {p/c};

  \path[every node/.style={font=\sffamily\normalsize,outer sep=0pt}]
    (s00) edge[] node[]                    {produce} (s01)
    (s01) edge[] node[]                    {provide} (s02)
    (s02) edge[] node[sloped,anchor=south] {produce} (s03)
    (s02) edge[] node[sloped,anchor=north] {consume} (s04)
    (s03) edge[] node[sloped,anchor=south] {consume} (s05)
    (s04) edge[] node[sloped,anchor=north] {produce} (s05)
    (s05) edge[] node[]                    {provide} (s06)
    (s06) edge[] node[sloped,anchor=south] {produce} (s07)
    (s06) edge[] node[sloped,anchor=north] {consume} (s08)
    (s07) edge[] node[sloped,anchor=south] {consume} (s09)
    (s08) edge[] node[sloped,anchor=north] {produce} (s09)
    (s09) edge[] node[]                    {provide} (s10)
  ;

\end{tikzpicture}
\end{document}
