| % ------------------------------------------------------------------------------ |
| % 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} |
| \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} |