%\begin{tikzpicture} 
%
%	\begin{umlseqdiag} 
%	 
%	\umlactor[no ddots]{Benutzer}
%	\umlobject[no ddots]{Podcatcher1}  
%	\umlobject[no ddots]{Podcatcher2} 
%	\umlobject[no ddots]{Webfrontend}
%	\umlobject[no ddots]{Server}
%	
%	\begin{umlcall}[dt=5, op=abonniere Podcast]{Benutzer}{Podcatcher1}
%		\begin{umlcallself}[dt=8, op=füge Podcast zu Abos hinzu, type=synchron]{Podcatcher1}
%		\end{umlcallself}
%		\begin{umlcall}[op=lade Änderungen hoch]{Podcatcher1}{Server}
%			\begin{umlcallself}[dt=8, op=speichere Änderungen]{Server}
%			\end{umlcallself}
%		\end{umlcall}
%	\end{umlcall}
%	
%	\begin{umlcall}[dt=10, op=Abos anzeigen]{Benutzer}{Webfrontend}
%		\begin{umlcall}[dt=5, op=hole Aboliste, return=Aboliste]{Webfrontend}{Server}
%		\end{umlcall}
%	\end{umlcall}
%	
%	\begin{umlcall}[dt=10, op=Abos anzeigen]{Benutzer}{Podcatcher2}
%		\begin{umlcall}[dt=5, op=hole Aboliste, return=Aboliste]{Podcatcher2}{Server}
%		\end{umlcall}
%	\end{umlcall}		
%	
%	\end{umlseqdiag} 
%	
%\end{tikzpicture}

\begin{sequencediagram}

	\newthread{b}{Benutzer}
	\newinst[2]{p1}{Podcatcher1}
	\newinst{p2}{Podcatcher2}
	\newinst[1]{w}{Webfrontend}
	\newinst[1]{s}{Server}
	
	\begin{call}{b}{abonniere Podcast}{p1}{}
		\begin{callself}{p1}{füge Podcasts zu Abos hinzu}{}
		\begin{call}{p1}{lade Änderungen hoch}{s}{}
			\begin{callself}{s}{\shortstack{speichere\\Änderungen\\persistent}}{}
			\end{callself}
		\end{call}		
		\end{callself}
	\end{call}
	
	\begin{call}{b}{Abos anzeigen}{w}{}
		\begin{call}{w}{hole Aboliste}{s}{Aboliste}
		\end{call}
	\end{call}
	
	\begin{call}{b}{Abos anzeigen}{p2}{}
		\begin{call}{p2}{hole Aboliste}{s}{Aboliste}
		\end{call}
	\end{call}	

\end{sequencediagram}


















