%\documentstyle{csart}

%\begin{document}

%\newenvironment{linear}{\\ \begin{minipage}[t]{\textwidth}}{\end{minipage}}

\section{\label{discuss}Discussion}

     The algorithms for spawning networks described here depend on
certain extensions to the standard occam model.  The most practical
algorithms seem to demand passing pointers down channels, and, most
especially, passing pointers to {\em channel ends} down channels.
The basic scheme outlined in section \ref{spawn} got by with a
restricted operation of {\em channel copying}.  However, it's difficult
to see how even this operation could be very practically expressed
in a language which didn't provide pointers to channels.

     The discipline of non-aliasing pointers outlined in section \ref{dynamic}
(which is based on \cite{welch})
might be worth considering as a pragmatic language compromise between
the completely undisciplined use of pointers in languages like C,
and the total abolition of pointers in {\em occam}.  This approach isn't without
problems\ldots for example, sending a pointer to a tree structure down a
channel to a different processor involves a notional compiler
generating code to traverse the tree.  Also, there are clear formal
problems with allowing pointers in {\em occam}.  The semantics of
standard {\em occam} can be understood in terms of CSP, but allowing pointers
would probably require some sort of extended CSP model in which processes had
mutable alphabets.  These sorts of problems are discussed briefly, in the
context of CCS rather than CSP, in \cite{ccs} (and, doubtless, elsewhere).

     Such problems aside, the notation of section \ref{dynamic} was
invaluable in implementing the algorithms described in this article.
(The procedures were implemented in the extended notation, then the
code was manually transcribed to a very murky, low-level, style of
{\em occam II}).

      Finally, the manner in which VCR was exploited in this paper
may well conflict with the intentions of the authors of that system.
Apologies to them.

%\end{document}


