\PARA{Hello World.}
%\label{sec:declaration}
%\label{sec:interact}
\label{sec:helloworld}
We start the overview of {\scribble} with a customary
hello-world example as a protocol, illustrating its
basic structure.

% [caption={GreetWorld protocol.}, label={scrib:helloworld}]

\begin{lstlisting}
import Message;

protocol GreetWorld {
  role You, World;
  greet(Message) from You to World;
}
\end{lstlisting}
% \caption{GreetWorld Protocol.}
% \label{scrib:helloworld}
% \end{figure} 

\NI The above protocol definition intuitively says:

\begin{quote} 
  The protocol uses \name{Message} type defined using
  the \name{import} statement. Each conversation
  instance (a run) of the protocol involves two
  participants -- one taking the role \name{You} and
  the other taking the role \name{World}. In each
  conversation instance, \name{You} sends a single
  message to \name{World}, which consists of the
  operation name \name{greet} with a value of type
  \name{Message}.
\end{quote}

\NI %%% GreetWorld protocol
% This protocol consists of a single
% interaction. \name{You} and \name{World}, declared
% in line 4,
% %%  of the protocol, 
% %% are the ways of
% %% designating 
% designate two endpoints whose interaction is
% prescribed by the protocol.

%, analogous to names in the named objects in a sequence diagram (e.g. ``Alice'' part of \name{Alice:CEO}).
%%% Local Variables: 
%%% mode: latex
%%% TeX-master: "main"
%%% End: 
