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