| % ------------------------------------------------------------------------------ |
| % 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=3cm,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] (s01) [ ] {p/s}; |
| \node[state] (s02) [ right of=s01] {i/s}; |
| \node[state] (s03) [ right of=s02] {i/a}; |
| \node[state] (s05) [above =1cm of s03, right of=s03] {p/a}; |
| \node[state] (s06) [below =1cm of s03, right of=s03] {p/b}; |
| \node[state] (s04) [below =1cm of s05, right of=s05] {i/b}; |
| |
| \path[every node/.style={font=\sffamily\normalsize,outer sep=-1pt}] |
| (s01) edge[ ] node[ ] {produce } (s02) |
| (s02) edge[bend left =20] node[sloped,anchor=south] {provide\_a} (s05) |
| (s02) edge[bend right=20] node[sloped,anchor=north] {provide\_b} (s06) |
| (s03) edge[ ] node[sloped,anchor=north] {provide\_b} (s06) |
| (s04) edge[ ] node[sloped,anchor=south] {provide\_a} (s05) |
| (s05) edge[ ] node[sloped,anchor=south] {produce } (s03) |
| (s06) edge[ ] node[sloped,anchor=north] {produce } (s04) |
| ; |
| |
| \end{tikzpicture} |
| \end{document} |