Anybody who knows how to add multiple objects to edge of automaton? I tried label, but I can add only one label. I need to draw streett automaton, like in this picture:

Anybody who knows how to add multiple objects to edge of automaton? I tried label, but I can add only one label. I need to draw streett automaton, like in this picture:

Here's one possibility using decorations:
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{positioning,decorations.markings}
\begin{document}
\begin{tikzpicture}[mysta/.style={circle,draw,minimum size=25pt},
shorten >=1pt,node distance=3cm,on grid,auto]
\node[mysta] (q0) {};
\node[mysta,right=of q0] (q1) {};
\node[mysta,below=of q0] (q2) {};
\node[mysta,right=of q2] (q3) {};
\draw[<-] (q0) -- +(-30pt,0);
\begin{scope}[decoration={
markings,
mark=at position 0.38
with {\node[circle,draw,fill,inner sep=2pt] {};},
mark=at position 0.62
with {\node[circle,draw,fill=white,inner sep=2pt] {};}
}
]
\draw[postaction=decorate,->] (q0) -- node[right] {$\neg en$} (q3);
\draw[postaction=decorate,->] (q0) to[bend left] node[left] {$oc$} (q2);
\draw[postaction=decorate,->] (q1) -- node[right] {$\neg en$} (q3);
\draw[postaction=decorate,->] (q3) to[out=20,in=-20,looseness=8] node[right] {$\neg en$} (q3);
\draw[postaction=decorate,->] (q2) to[out=20,in=-20,looseness=8] node[right] {$oc$} (q2);
\end{scope}
\begin{scope}[decoration={
markings,
mark=at position 0.5
with {\node[circle,draw,fill,inner sep=2pt] {};}
}
]
\draw[postaction=decorate,->] (q0) -- node[above=1pt] {$\top$} (q1);
\draw[postaction=decorate,->] (q1) to[out=20,in=-20,looseness=8] node[right=1pt] {$\top$} (q1);
\end{scope}
\begin{scope}[decoration={
markings,
mark=at position 0.5
with {\node[circle,draw,fill=white,inner sep=2pt] {};}
}
]
\draw[postaction=decorate,->] (q0) to[bend right] node[left=1.5pt] {$\neg co$} (q2);
\draw[postaction=decorate,->] (q2) to[out=200,in=160,looseness=8] node[left=1.5pt] {$\neg co$} (q2);
\end{scope}
\end{tikzpicture}
\end{document}

In the solution above, for the paths having two decorations (the black filled circle and the white filled one) the distance between the two decorations was not constant (compare, for example, the distance between the two circles in the diagonal path with the one in the straight downwards path). To correct this, in the following example I use the solution using \pgfdecoratedpathlength proposed by Piotr Wydrych in his answer to How to position multiple decorations on a path while keeping their separation constant? :
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{positioning,decorations.markings}
\begin{document}
\begin{tikzpicture}[mysta/.style={circle,draw,minimum size=25pt},
shorten >=1pt,node distance=3cm,on grid,auto]
\node[mysta] (q0) {};
\node[mysta,right=of q0] (q1) {};
\node[mysta,below=of q0] (q2) {};
\node[mysta,right=of q2] (q3) {};
\draw[<-] (q0) -- +(-30pt,0);
\begin{scope}[decoration={
markings,
mark=at position 0.5*\pgfdecoratedpathlength-6pt
with {\node[circle,draw,fill,inner sep=2pt] {};},
mark=at position 0.5*\pgfdecoratedpathlength+6pt
with {\node[circle,draw,fill=white,inner sep=2pt] {};}
}
]
\draw[postaction=decorate,->] (q0) -- node[right] {$\neg en$} (q3);
\draw[postaction=decorate,->] (q0) to[bend left] node[left] {$oc$} (q2);
\draw[postaction=decorate,->] (q1) -- node[right] {$\neg en$} (q3);
\draw[postaction=decorate,->] (q3) to[out=20,in=-20,looseness=8] node[right] {$\neg en$} (q3);
\draw[postaction=decorate,->] (q2) to[out=20,in=-20,looseness=8] node[right] {$oc$} (q2);
\end{scope}
\begin{scope}[decoration={
markings,
mark=at position 0.5
with {\node[circle,draw,fill,inner sep=2pt] {};}
}
]
\draw[postaction=decorate,->] (q0) -- node[above=1pt] {$\top$} (q1);
\draw[postaction=decorate,->] (q1) to[out=20,in=-20,looseness=8] node[right=1pt] {$\top$} (q1);
\end{scope}
\begin{scope}[decoration={
markings,
mark=at position 0.5
with {\node[circle,draw,fill=white,inner sep=2pt] {};}
}
]
\draw[postaction=decorate,->] (q0) to[bend right] node[left=1.5pt] {$\neg co$} (q2);
\draw[postaction=decorate,->] (q2) to[out=200,in=160,looseness=8] node[left=1.5pt] {$\neg co$} (q2);
\end{scope}
\end{tikzpicture}
\end{document}
