% ------------------------------------------------------------------------------
% 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=3.8cm,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=},
  initial/.style={initial left},
  accepting/.style={accepting by arrow,accepting text=$\infty$},
  every edge/.style={draw=black!50}]

  \node[state, initial]   (s00) [            ] {push1,    0.0};
  \node[state]            (s01) [right of=s00] {push1,    1.5};
  \node[state]            (s02) [right of=s01] {release1, 1.5};
  \node[state]            (s03) [right of=s02] {release1, 2.3};
  \node[state]            (s04) [right of=s03] {push2,    2.3};
  \node[state]            (s05) [right of=s04] {push2,    2.4};
  \node[state]            (s06) [right of=s05] {release2, 2.4};
  \node[state]            (s07) [right of=s06] {release2, 7.6};
  \node[state, accepting] (s08) [right of=s07] {done,     7.6};

  \path[every node/.style={font=\sffamily\normalsize,outer sep=2pt}]
    (s00) edge[] node[] {1.5}     (s01)
    (s01) edge[] node[] {push}    (s02)
    (s02) edge[] node[] {0.8}     (s03)
    (s03) edge[] node[] {release} (s04)
    (s04) edge[] node[] {0.1}     (s05)
    (s05) edge[] node[] {push}    (s06)
    (s06) edge[] node[] {5.2}     (s07)
    (s07) edge[] node[] {release} (s08)
  ;

\end{tikzpicture}
\end{document}
