Diagram inspired by those in
Levy, Hanoch, and Moshe Sidi. "Polling systems: Applications, modeling, and optimization." Communications, IEEE Transactions on 38.10 (1990): 1750-1760.
https://dx.doi.org/10.1109/26.61446
\documentclass[a4paper]{article}
\usepackage{amsmath,amssymb,amsthm}
\usepackage{tikz}
\usetikzlibrary{arrows,automata,calc,positioning}
\newtheorem{theorem}{Theorem}
\newtheorem{corollary}{Corollary}
\newcommand*{\ArcAngle}{220}%
\newcommand*{\ArcRadius}{1}%
\makeatletter
\pgfdeclareshape{queueing box}{
\inheritsavedanchors[from=rectangle]
\inheritanchorborder[from=rectangle]
\inheritanchor[from=rectangle]{center}
\inheritanchor[from=rectangle]{north}
\inheritanchor[from=rectangle]{south}
\inheritanchor[from=rectangle]{west}
\inheritanchor[from=rectangle]{east}
\inheritanchor[from=rectangle]{north east}
\inheritanchor[from=rectangle]{south east}
\inheritanchor[from=rectangle]{north west}
\inheritanchor[from=rectangle]{south west}
\inheritanchor[from=rectangle]{base}
\backgroundpath{%
\southwest \pgf@xa=\pgf@x \pgf@ya=\pgf@y % south west is (xa,ya)
\northeast \pgf@xb=\pgf@x \pgf@yb=\pgf@y % north east is (xb,yb)
%\pgfpathmoveto{\pgfpoint{\pgf@xa}{\pgf@ya}}
\pgfpathmoveto{\pgfpoint{\pgf@xa}{\pgf@yb}}
\pgfpathlineto{\pgfpoint{\pgf@xb}{\pgf@yb}}
\pgfpathlineto{\pgfpoint{\pgf@xb}{\pgf@ya}}
\pgfpathlineto{\pgfpoint{\pgf@xa}{\pgf@ya}}
\pgfpathlineto{\pgfpoint{\pgf@xb}{\pgf@ya}}
\pgfpathlineto{\pgfpoint{\pgf@xb}{\pgf@yb}}
\pgfpathclose
}%
}
\makeatother
\tikzstyle{queueing area}=[queueing box,thick,draw=black,minimum size=1cm,left color=white]
\begin{document}
% Diagram inspired by those in
% Levy, Hanoch, and Moshe Sidi. "Polling systems: Applications, modeling, and optimization." Communications, IEEE Transactions on 38.10 (1990): 1750-1760.
% https://dx.doi.org/10.1109/26.61446
\begin{tikzpicture}[->,>=stealth',shorten >=1pt,auto,node distance=2.3cm,semithick]
\tikzstyle{every state}=[fill=white,draw=black,text=black,minimum size=1.1cm]
\coordinate (Origin) at (0,0);
% centre
\node (C) {};
% server
\node[state] (S) [below right of=C,node distance=1cm] {};
% server arc
\draw [->] ($(C)+(\ArcRadius,0)$) arc (0:\ArcAngle:\ArcRadius);
% queueing areas
\node[queueing area] (Q1) [left of=C] {};
\node[queueing area,rotate=315] (Q2) [left of=C] {};
\node[queueing area,rotate=270] (Q3) [left of=C] {};
\node[queueing area,rotate=225] (Q4) [left of=C] {};
\node[queueing area,rotate=180] (Q5) [left of=C] {};
\node[queueing area,rotate=135] (Q6) [left of=C] {};
\node[rotate=90] (Q7) [left of=C] {$\vdots$};
\node[queueing area,rotate=45] (Q8) [left of=C] {};
\node (A1) [below left of=C] {};
\node (A2) [left of=C] {};
\node (A3) [above left of=C] {};
\node (A4) [above of=C] {};
\node (A5) [above right of=C] {};
\node (A6) [right of=C] {};
\node (A7) [below right of=C] {};
\node (S1) [below left of=A1] {\Large $\lambda_6$};
\node (S2) [left of=A2] {\Large$\lambda_5$};
\node (S3) [above left of=A3] {\Large$\lambda_4$};
\node (S4) [above of=A4] {\Large$\lambda_3$};
\node (S5) [above right of=A5] {\Large$\lambda_2$};
\node (S6) [right of=A6] {\Large$\lambda_1$};
\node (S7) [below right of=A7] {\Large$\lambda_n$};
\path (S1) edge ($(A1)+(-0.5,-0.5)$);
\path (S2) edge ($(A2)+(-0.7,0)$);
\path (S3) edge ($(A3)+(-0.5,0.5)$);
\path (S4) edge ($(A4)+(0,0.7)$);
\path (S5) edge ($(A5)+(0.5,0.5)$);
\path (S6) edge ($(A6)+(0.7,0)$);
\path (S7) edge ($(A7)+(0.5,-0.5)$);
\end{tikzpicture}
\end{document}
Then converted using pdf2svg.
You must be logged in to post a comment.