Skip to content

Instantly share code, notes, and snippets.

@pkazmierczak
Created November 25, 2012 17:15
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save pkazmierczak/4144378 to your computer and use it in GitHub Desktop.
Save pkazmierczak/4144378 to your computer and use it in GitHub Desktop.
Example ATL model
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{shapes,arrows}
\begin{document}
\begin{center}
\begin{tikzpicture}[->,>=stealth',shorten >=1pt,auto,
state/.style={circle,draw,node distance=3cm},
big state/.style={ellipse,draw,node distance=3cm},
label/.style={font=\scriptsize,node distance=.5cm}]
\node[state] (q0) {$p$};
\node[label] [above right of=q0] {$q_{0}$};
\node[state] (q1) [below left of=q0] {$p$};
\node[label] [above left of=q1] {$q_{1}$};
\node[state] (q2) [below of=q0] {$p$};
\node[label] [below right of=q2] {$q_{2}$};
\node[state] (q3) [below right of=q0] {$q$};
\node[label] [below right of=q3] {$q_{3}$};
\node[state] (q4) [below left of=q1] {$p$};
\node[label] [above left of=q4] {$q_{4}$};
\node[state] (q5) [below of=q1] {$q$};
\node[label] [below right of=q5] {$q_{5}$};
\node[state] (q6) [below of=q2] {$q$};
\node[label] [below right of=q6] {$q_{6}$};
\node[big state] (q7) [below left of=q4] {$p \land q$};
\node[label] [below of=q7] {$q_{7}$};
\node[big state] (q8) [below of=q4] {$p \land q$};
\node[label] [below of=q8] {$q_{8}$};
\node[state] (q9) [below of=q5] {$q$};
\node[label] [below right of=q9] {$q_{9}$};
\node[big state] (qc) [below right of=q6] {$null$};
\node[label] [below of=qc] {$q_{conflict}$};
\path[every node/.style={font=\small}]
(q0) edge node [above,rotate=45] {$\langle (x,x),(x,i) \rangle$} (q1)
edge node [above,rotate=-90] {$\langle (i,y),(y,y) \rangle$} (q2)
edge node [above,rotate=-40] {$\langle (i,z),(z,z) \rangle$} (q3)
(q1) edge node [above,rotate=45] {$\langle (i,x),(x,x) \rangle$} (q4)
edge node [below,rotate=-93] {$\langle (y,y),(y,i) \rangle$} (q5)
edge node [above,rotate=-60] {$\langle (z,i),(i,i) \rangle$} (q6)
(q4) edge node [above,rotate=45] {$\langle (i,x),(x,x) \rangle$} (q7)
edge node [below,rotate=-93] {$\langle (i,y),(y,y) \rangle$} (q8)
edge node [above,rotate=-60] {$\langle (z,i),(i,i) \rangle$} (q9);
\tikzset{mystyle/.style={->,dashed}};
\path (q0) edge[mystyle,out=0,in=0] (qc);
\path (q1) edge[mystyle,out=-20,in=140] (qc);
\path (q4) edge[mystyle,out=-25,in=200] (qc);
\end{tikzpicture}
\end{center}
\end{document}
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{shapes,arrows}
\begin{document}
\begin{tikzpicture}[->,>=stealth',shorten >=1pt,auto,
state/.style={circle,draw,node distance=2cm},
big state/.style={ellipse,draw,node distance=2cm},
label/.style={font=\scriptsize,node distance=.5cm}]
\node[state] (q0) {$p$};
\node[label] [above right of=q0] {$q_{0}$};
\node[state] (q1) [below left of=q0] {$p$};
\node[label] [above left of=q1] {$q_{1}$};
\node[state] (q2) [below of=q0] {$p$};
\node[label] [below right of=q2] {$q_{2}$};
\node[state] (q3) [below right of=q0] {$q$};
\node[label] [below right of=q3] {$q_{3}$};
\node[state] (q4) [below left of=q1] {$p$};
\node[label] [above left of=q4] {$q_{4}$};
\node[state] (q5) [below of=q1] {$q$};
\node[label] [below right of=q5] {$q_{5}$};
\node[state] (q6) [below of=q2] {$q$};
\node[label] [below right of=q6] {$q_{6}$};
\node[big state] (q7) [below left of=q4] {$p \land q$};
\node[label] [below of=q7] {$q_{7}$};
\node[big state] (q8) [below of=q4] {$p \land q$};
\node[label] [below of=q8] {$q_{8}$};
\node[state] (q9) [below of=q5] {$q$};
\node[label] [below right of=q9] {$q_{9}$};
\path[every node/.style={font=\small}]
(q0) edge node [above,rotate=45] {$\langle x,x,i \rangle$} (q1)
edge node [above,rotate=-90] {$\langle i,y,y \rangle$} (q2)
edge node [above,rotate=-40] {$\langle i,z,z \rangle$} (q3)
(q1) edge node [above,rotate=45] {$\langle i,x,x \rangle$} (q4)
edge node [below,rotate=-93] {$\langle y,y,i \rangle$} (q5)
edge node [above,rotate=-60] {$\langle z,i,i \rangle$} (q6)
(q4) edge node [above,rotate=45] {$\langle i,x,x \rangle$} (q7)
edge node [below,rotate=-93] {$\langle i,y,y \rangle$} (q8)
edge node [above,rotate=-60] {$\langle z,i,i \rangle$} (q9);
\end{tikzpicture}
\end{document}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment