[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Poison



"Beton, Richard" wrote:
> 
> "Campbell, John" wrote:
> 
> > Let's get back to basics, for a moment, rather than argue the
> > merits of exception syntax.  The central issue is how do you manage
> > a network of large numbers of processes. Kill -9 is untennable if
> > you need to kill 23 nodes of a 48 node network.  Let alone getting it
> > right if have hundreds of nodes.
> >
> > What is the default behavior you want?  ...<snipped>...
> > Now, if you dont want the default behavior, you explicitly specify
> > the behavior of the poison watchdog (commissar?).
> 
> I too had thoughts along these lines. For Java/JCSP it can be written, but
> with some quite significant code overhead.
> For occam the situation is possibly worse. One of occam's strengths is that
> it is purely WYSIWYG. We're talking about
> having a shutdown feature that is either
> 
> a) hand-coded, verbose, error-prone and hard to test. :-(   But doggedly
> WYSIWYG. :-)
> 
> b) added by the compiler or by some other clever tool, in which case it
> ceases being WYSIWYG.
> 
> In case (b), because we're only talking about shutdown behaviour, not the
> normal program flow, is losing the WYSIWYG
> property a serious problem? Perhaps not. Interestingly, it might form a
> basis for a generalised exception handling
> mechanism. I don't quite understand why it is felt that this is such a bad
> thing. Did I miss something?

Everyone.  Please, please no hacking. If this is to be any sort of
general mechanism, please formulate it precisely and simply in CSP or
CSPP or whatever. And discover its properties. Otherwise we are
grovelling in the mire with most other languages with nothing to hang on
to. And disaster will follow. 

Identify what is needed in the simplest and clearest way, a way which we
can reason about clearly without clutter. It appears to me that this is
clearly in the CSP area rather than state in the sense of the contents
of memory. And it is obviously related to the termination pseudo-event
\tick, if only because we want that to be the final outcome of spreading
poison.

Once we know what we are talking about, then we can worry about language
bindings. Don't destroy the thing that makes our work distinctive and
reliable!


Adrian
-- 
Dr A E Lawrence