Plumbing - parallel programming for everyone
Thursday, 17 June 2010

Parallel programming on a tiny Arduino? You have to be joking? Especially when the langauge you use is called occam-pi and the toolkit is called Plumbing.

Banner

 

Parallel programming seems to be top of the interest list at the moment and Plumbing is a new set of tools built using occam-pi, a variant on occam. Occam is a  parallel processing language, little used today, but with a claim to have influenced many other languages. Occam was introduced as the main programming language for the Transputer, a failed attempt to introduce a processor designed for concurrency (late 1980s). Occam-pi adds elements of the Pi-Calculus, a formalism for describing concurrent computation. 

If you are thinking that Occam-pi doesn't sound like an easy way to work with parallelism this is where Plumbing comes into the picture. This is supposed to be so easy to use that non-specialists such as artists and designers can use it. It is also targeted at the open source Arduino via the Transterpreter VM.

As you might guess the Transterpreter VM is designed to mimic the original Transputer architecture on any machine that it runs on - so overall this is getting a little baroque from an architecture point of view. The Transterpreter runs on a range of machines including embedded development systems such as Lego Mindstorms and desktop machines such as Windows, Linux, OSX, DOS and so on.

The Plumbing toolkit builds on the Transterpreter and the occam-pi language but at the moment it only runs under the Mac OSX operating system - WIndows and Linux development environments will be released soon. Despite being designed for non-technical users Plumbing is used via a text editor and standard compiler and looks decidedly old-fashioned when compared to other "languages" aimed at non-specialists - such as users of the Mindstorms graphical programming system and  Scratch, the beginners' programming language. Howeve,r it does make parallel programming available on a low cost, but low power, Arduino device.

Parallel programming on embedded systems isn't that rare a phenomenon but anything that makes it easier and more reliable is a good idea. We will have to wait to see if Plumbing catches on.

 

arduino

 

You can read an interview with one of Plumbing's key proponents Matt Jadud at the O'Reilly site. There is also a session on Plumbing at this year's O'Reilly OSCON - Open Source Convention - called Plumbing: Parallel Programming for Artists and Makers. A  free-to-download PDF book is also available.

Relevant Articles

Practical Arduino

Programming Interactivity: A Designer's Guide to Processing, Arduino, and openFrameworks

Getting Started with Arduino

<ASIN:0596155514>

<ASIN:1430224770>

<ASIN:0596510519>

<ASIN:0596802471>

<ASIN:0596154143>

<ASIN:007174133X>

<ASIN:0976682222>

Banner


Is PHP in Trouble?
10/04/2024

The April 2024 headline for the TIOBE Index, which ranks programming languages in terms of their popularity, reads, "Is PHP losing its mojo" asking this question because this month PHP has dropped out [ ... ]



Rust Twice As Productive As C++
03/04/2024

Google director of engineering, Lars Bergstrom, gave a talk at the recent Rust Nation UK conference and claimed that Rust was twice as productive as C++. Given how good Google is at C++, this is quite [ ... ]


More News

Last Updated ( Thursday, 17 June 2010 )