-- T_MS2.tex
--
-- This is similar to T_MS, but with only one channel, a, and no value being
-- communicated.
--
--------------------------------------------------------------------------------

--LATEX ADAPTADO À NOVA VERSÃO DE CZT, 1.5.0

\begin{circus}
  \circchannel a
\end{circus}  

The process A reads from the channel.

\begin{circus}  
\circprocess MS2A \circdef \circbegin
\end{circus}

\begin{circusaction}  	
    \circspot a \then \Skip
\end{circusaction}

\begin{circus}
\circend
\end{circus}

Process B reads from the channel.
\begin{circus}  
\circprocess MS2B \circdef \circbegin
\end{circus}
	
\begin{circusaction}  	
    \circspot a \then \Skip
\end{circusaction}

\begin{circus}
\circend
\end{circus}

Process C writes on the channel.

\begin{circus}  
\circprocess MS2C \circdef \circbegin
\end{circus}
	
\begin{circusaction}  	
    \circspot a \then \Skip
\end{circusaction}

\begin{circus}
\circend
\end{circus}


:: Intchoice between A and B. There is no parallelism, and channel a will appear in the gui.

\begin{circus}  
\circprocess MS2IntAB \circdef MS2A \intchoice MS2B
\end{circus}


:: Intchoice between A and B, in parallel with C. Single-sync, channel not in gui.

\begin{circus}  
\circprocess MS2IntABParC \circdef MS2IntAB \lpar \lchanset a \rchanset \rpar MS2C
\end{circus}


:: Parallelism between A and B. Single-sync, channel not in gui.

\begin{circus}  
\circprocess MS2ParAB \circdef MS2A \lpar \lchanset a \rchanset \rpar MS2B
\end{circus}


:: Parallelism between A, B and C. Multi-sync, channel not in gui.

\begin{circus}  
\circprocess MS2ParABC \circdef MS2ParAB \lpar \lchanset a \rchanset \rpar MS2C
\end{circus}

:: Intchoice between A and B, in parallel with C, anonymous. Single-sync, channel not in gui.

\begin{circus}  
\circprocess MS2IntABParCano \circdef MS2A \intchoice MS2B \lpar \lchanset a \rchanset \rpar MS2C
\end{circus}

:: Parallelism between A, B and C, anonymous. Multi-sync, channel not in gui.

\begin{circus}
\circprocess MS2ParABCano \circdef MS2A \lpar \lchanset a \rchanset \rpar ( 
MS2B \lpar \lchanset a \rchanset \rpar MS2C )
\end{circus}

:: Parallelism between A and C. Single-sync, channel not in gui.

\begin{circus}  
\circprocess MS2ParAC \circdef MS2A \lpar \lchanset a \rchanset \rpar MS2C
\end{circus}

