|
Boost : |
From: Greg Colvin (greg_at_[hidden])
Date: 2000-08-24 23:26:43
From: William Kempf <sirwillard_at_[hidden]>
> ...
> The site piqued my interest in CSP. This is a concurrent programming
> technique/mathematical model that I've not heard of until today. I'd
> be very interested in learning more about it, and it sounds like it's
> something that should be discussed here...
Marc's description of Occam, reposted below, is a good summary
of the fundamental approach.
If you have access to the ACM digital library then just do some
searches for Hansen, Hoare, and Dikstra. You'll find good
stuff going back a few decades. If you don't have access it
might be time to join the ACM. As Hunter S. Thompson always
says, "When the going gets weird, the weird turn pro."
I believe that under the ACM copyright notice below I could put
some of the foundation papers in our vault. If whoever might
be sued if I am wrong agrees then I will do so. Beman?
"Permission to copy without fee all or part of this material is granted
provided that the copies are not made or distributed for direct commer-
cial advantage, the ACM copyright notice and the title of the publication
and its date appear, and notice is given that copying is by permission of
the Association for Computing Machinery. To copy otherwise, or to
republish, requires a fee and/or specific permission."
----- Original Message -----
From: Marc Girod <girod_at_[hidden]>
To: <boost_at_[hidden]>
Sent: Wednesday, August 23, 2000 11:27 PM
Subject: Re: [boost] Re: Threads
> >>>>> "GC" == Greg Colvin <greg_at_[hidden]> writes:
>
> GC> By the way, I am currently looking at an interesting alternative
> GC> to the "monitor" approach being worked on for Java
> GC> http://www.cs.ukc.ac.uk/projects/ofa/jcsp/
> GC> This amounts to a Java library modelled on the Occam programming
> GC> language, which itself is modeled on Hoare's Communicating
> GC> Sequential Processes.
>
> I am quite sure you know it well, but it is something I have had in
> mind for long (it is more than 10 years I stopped programing in
> Occam2...).
>
> In Occam, there is no shared memory. "Process" is a language concept,
> and can be used hierarchically. There is always one and only one
> process which owns every piece of data, and the binding is static
> (guaranteed by the compiler), so that it needs not be enforced
> dynamically (no locks).
>
> If a process is interested in another process data, they have to
> communicate through a channel. The synchronisation happens through the
> communication.
>
> My idea to use these concepts in a statically typed OO language, was
> to have "Operation" classes (i.e. the processes), which would be
> chained by knowing their "Initiator". Both would have been templates,
> to ensure strong typing of the "processes".
>
> --
> Marc Girod P.O. Box 320 Voice: +358-9-511 23746
> Nokia Networks 00045 NOKIA Group Mobile: +358-40-569 7954
> Hiomo 5/1 Finland Fax: +358-9-511 23580
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk