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

RE: Inheritance that can add/remove and new occam?



Oyvind and all,
   If you have a single dynamic thread, there is a clean, at least
partial solution to the dynamic expansion...

> From: Oyvind Teig <Oyvind.Teig@xxxxxxxxxxxx>
> To:
> Cc: "'occam-com@xxxxxxxxx'" <occam-com@xxxxxxxxx>, java-threads@xxxxxxxxx
> Subject: RE: Inheritance that can add/remove and new occam?
> Date: Tue, 24 Oct 2000 19:55:32 +0200
> Message-Id: <E13o7Qf-0002Tp-00@xxxxxxxxxxxxxxxxx>
>
> Brian writes:
> > I am not sure what you are requesting here.  In a truly parallel
> > system it is not possible to stop listening.  All input messages must
> > be processed or at least buffered and then over written.
> > In occam channels can be created and destroyed but this requires
> > the co-operation of both ends.  Also both the occam and C compilers
> > had library calls which allowed the user to guard a channel input
> > or output with a timeout.  If the call was not completed in
> > the timout period the channel was killed.
>
> I think I want something like this:
>
> PROC Test (CHAN OF XX chanIn.a, CHAN OF GHOST <chanIn.g><server>)
>   ALT
>     chan.a ? input.a
>       ... Process input.a
>     <chanIn.g> -- This code is attached dynamically and
>       -- exists in some other source file, and is sent by
>       -- some run-time system when another process installs it.
>       <server>

If chanIn.g is a static channel array, then the server instance can be
loaded and unloaded outside PROC Test's knowledge and when it is
unloaded the ALT never connects to (its member of) chanIn.g. Of course
this gives the n squared inefficiency of replicated ALTs, but I bet
there is some smart way to avoid that without violating the CSP
definition. Also, the problem can be finessed if the ALT is a "rare"
connection negotiating event and big transmissions avoid the ALT.

>
> I would like to remove the code as well, and I would like to
> control outputs the same way. Maybe this whole idea is stupid,
> because we might get into all sorts of inheritance problems
> and aliasing and you name it?

If there is only one dynamic heritage (OS thread) I think these
problems go away.

Larry Dickson

>
> --
> Oyvind
>
> @ Oyvind Teig (oyvind.teig@xxxxxxxxxxxx, oyvind.teig@xxxxxxxxxxxx)
> @   Navia Maritime AS, division Autronica, 7005 Trondheim Norway
> @   Tel: +47 73 58 12 68, Fax: +47 73 58 10 01
> @   http://www.autronica.no/
> @   Now part of world's largest company in maritime electronics:
> @   http://www.kongsberg.com/
> @ Publications at: http://www.autronica.no/pub/tech/rd/index.htm