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

Re: Occam-Tau - the natural successor to Occam-Pi

On Sep 27, 2012, at 12:02 PM, "P.H.Welch" <P.H.Welch@xxxxxxxxxx> wrote:
>  - we have found mobile channel-ends to be crucially important for the
>    modelling of complex systems - see the CoSMoS project:
>      http://www.cosmos-research.org/demos/
>    Without channel-end mobility, only pre-defined parallel networks can
>    be built. Complex systems demand the construction/growth of networks
>    as they run.  Passive data mobility is not enough.

I think most of this can be dealt with if you allow ONE process (per VM) to be "wild" and capable of creating new processes and channels on the fly (like an operating system). This permits non-fragmentation to be enforced and yet as much growth as the VM's resources can support, without much deviation from the occam model among "tame" programs.

The one case where sending a channel-end that was not declared outside the communicators seems to be highly useful is in "drivers" which operate by exposing a many-to-one channel over which referenced data containers can be sent. It is highly convenient that the driver's ack be sent back to the client along a client-local channel that the client provided for that purpose. If you don't do this, you have to provide the driver with an allocation of globally declared ack channels that are allocated to clients at open time. Perhaps the same effect could be arranged using some kind of many-to-one-channel-with-container-return construct that would not explicitly allow mobile channel ends.