Concurrent programming with Occam
I've been thinking about concurrent programming for some time, especially as it applies to software agents, but it has just been brought to my attention that the Occam programming language is in fact still around.
Occam is a (concurrent) parallel processing language designed by a team at INMOS in conjunction with the design of the Transputer parallel computing microprocessor, and based on T. Hoare's ideas of Communicating Sequential Processes (CSP).
The Transterpreter project started as an effort to get the Occam runtime (which includes a Transputer bytecode interpreter) running on the LEGO Mindstorms, but has now taken on a life of its own and is now available (or at least could become available) on a number of other computing platforms, including robots.
The whole point of a concurrent programming language is to be able to have a single computer program in which multiple tasks can be simultaneously running and interacting to pursue common goals.