Communicating Sequential Processes + D = DCSP

Bill Baxter dnewsgroup at billbaxter.com
Sun Jan 28 23:38:26 PST 2007


Mikola Lysenko wrote:
> DCSP is a lightweight concurrency library that I wrote last summer. 
> While most threading libraries seek to avoid concurrency or eliminate it 
> entirely, DCSP takes a slightly different approach.  The idea grew from 
> the work I did on StackThreads and is inspired by C.A.R. Hoare's 
> Communicating Sequential Processes and Robin Milner's Pi-Calculus.  In 
> DCSP, concurrency is the essential feature of program design.  This is 
> not as absurd as it initially sounds, since many programs are innately 
> concurrent.
> 
> A DCSP program is composed of a network of communicating processes, each 
> connected by synchronous point-to-point channels.  This idea is easy to 
> visualize like a large digital circuit.
> 
> The syntax is closer to Occam, and is far simpler than JCSP. 
> Additionally, the performance of DCSP far surpasses JCSP, and unlike 
> C++CSP, DCSP is actually multi-threaded.
> 
> The current version supports two schedulers, one cooperative scheduler 
> based on stack threads, and another threaded scheduler using Phobos' 
> threads.  In the future, these may be supplemented with a hybrid 
> scheduler using a work-stealing algorithm similar to MIT's CiLK project. 
>  Additionally, the basic ideas in this project could be extended to 
> network communication.
> 
> Anyway, you can check out the library at: http://www.assertfalse.com
> 
> JCSP: http://www.cs.kent.ac.uk/projects/ofa/jcsp/
> C++CSP: http://www.twistedsquare.com/cppcsp/
> Occam: http://www.wotug.org/occam/
> Communicating Sequential Processes: http://www.usingcsp.com/cspbook.pdf
> 
> -Mik

Excellent.  I spent some time programming Inmos Transputers using Occam 
back in the day.

But I have to say the project of yours that I think really deserves more 
attention is *Professor Automaton's Cruel Legume Device*.
      http://www.assertfalse.com/puyo/www/
:-)
Burned many hours on puyo puyo back in the day too. :-)  *DAI DAGEKI!*

--bb



More information about the Digitalmars-d-announce mailing list