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

Re: The world needs process-orientation

Hi Andrew,
A mature occam compiler for an infrastructure like Java and .NET would definitely help to "spread the word". In fact I took part in a lecture series at my university that had exactly the same goals, the grid-occam project (http://www.dcl.hpi.uni-potsdam.de/teaching/occam/Rotor2-GridOccam-short.pdf). If I will find the time, I will prepare a short paper for the upcoming WoTUG conference that describes the latest achievement of this project, an occam2Java compiler that supports a subset of occam 2.1. 
However, there are a few obstacles that you have too keep in mind. First, the language constructs of occam are difficult to map efficiently to constructs of the Java or .NET intermediate language. Second the creation of concurrency (threads) is in both platforms pretty expensive (at least in comparison to KRoC). Finally, if you really want to use occam as a kind of coordination language, you have to find a convenient method to deal with things like object creation within occam.
The bottom line is maybe that an optimal POP language for these platforms would take the process model from occam, and integrate it somehow with the world of object orientation ... oh, and to be acceptable for the masses, the syntax should resemble C ;-) Maybe something like Honeysuckle?
I myself have just finished my master thesis, and will deal with something completely different in my PhD project. However, I would really love to see a mature POP language for Java or .NET, and would happily volunteer to spend some spare time for this :-)
Kai Koehne

PS: I currently plan to publish the sources of my Occam2Java compiler at sourceforge, and would be very pleased to see if anybody would take advantage of it ;-) Have to ask the university first, though.

Von: owner-occam-com@xxxxxxxxxx im Auftrag von Andrew Delin
Gesendet: Di 13.06.2006 04:01
An: Allan McInnes; tjoccam@xxxxxxxxxxx
Cc: occam-com@xxxxxxxxxx; java-threads@xxxxxxxxxx
Betreff: RE: The world needs process-orientation

This has been a fantastic discussion - I'm very glad there's such
interest and belief in POP.

I agree with the view that we need more languages that express
process-oriented ideas naturally; I've found libraries that extend C++
and Java to be rather clumsy.

I would be interested to collaborate in creating a small, experimental,
Occam for .Net -- if anyone would like to collaborate, please get in

This would be a small subset of Occam/KROC constructs, for demonstration
purposes of the power of POP. If we could compile Occam DLLs to include
in mixed language .Net projects, this could be a powerful demonstration.
The idea is that we can achieve a separation of concerns and Occam-style
code can deal with the parallel aspects. We might achieve some mindshare
if the language interoperates with convention blobs of code.

Any takers?


-----Original Message-----
From: owner-occam-com@xxxxxxxxxx [mailto:owner-occam-com@xxxxxxxxxx] On
Behalf Of Allan McInnes
Sent: Tuesday, 13 June 2006 2:20 AM
To: tjoccam@xxxxxxxxxxx
Cc: occam-com@xxxxxxxxxx; java-threads@xxxxxxxxxx
Subject: RE: The world needs process-orientation

Quoting tjoccam@xxxxxxxxxxx:
> > So apart from making good business using COP
> Is there a good reason for using this acronym? Everyone else seems to
> have settled on "process-oriented programming". Unanimity, if
> possible, helps in being heard.

The term "concurrency-oriented programming" (or COP) has been widely
used in the Erlang community for a number of years. The term has since
gained currency outside of the Erlang community, and I have seen it used
in several different forums to refer to lightweight process-based
approaches in general.

Allan McInnes <amcinnes@xxxxxxxxxx>
PhD Candidate
Dept. of Electrical and Computer Engineering Utah State University