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

Re: Mobile variables



Lawrence Dickson wrote:

> What happens if the variable you are passing around
> is a part of a larger array, created by abbreviation?
> Then when the process block exits the scope of the
> abbreviation, isn't its parent array fragmented?
>    Larry
> I thought of something like this a couple years ago,
> but it seemed it would require an "Independent of
> Abbreviation" checking, which would complicate
> separately compiled procedures and the like.

I'm not quite sure I understand the question, so I'll probably reveal my
ignorance, but here goes...

One of the key features of occam abbreviations is that they allow a
process to alter the contents of a well-defined region of an array
without actually fragmenting the original array - the abbreviated part
is still a subset of the whole. Therefore, passing array abbreviations
as mobile variables would seem like an eminently sensible thing to be
doing. 'Mobile' variables are only mobile in the sense that their
'ownership' moves between processes, whilst the data itself remains in
the same memory locations, thus avoiding copying operations.

The challenge is to work out how to ensure that different processes
operate on disjoint (abbreviated) parts of shared arrays. This is much
easier with occam using abbreviations than with any other mechanism I
know of, but is still non trivial.

Rick
--
Richard Beton B.Sc. C.Phys. M.Inst.P.
Roke Manor Research Limited (http://www.roke.co.uk/)
--------- Standard Disclaimer about my own views etc etc --------
---------  My mail client accepts rich text (HTML) mail  --------
Welsh Highland Railway: http://www.whr.co.uk/WHR/WHR.html