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

RE: OO vs. CSP - Papers, Arguments?



Kai

All I can offer is some observations from a long time ago, when I was
supporting occam. A lot of the people I dealt with (and I am talking
mostly about 1986-1990) were engineers and for them it was natural to
think in the CSP way - after all, that is exactly how circuits are
designed - blocks with signals flowing between them. They are also
familiar with race conditions and a wide range of side effects, not all
of which translate into software.

Finally, at the time, occam was a simple language that had the
constructs of time and parallelism, and for engineers, it was a nice
level between assembly language and complex programming languages. 

I still use flow charts in designing database driven web sites - they
give me the visual flow and you can see what should happen, and what in
theory should not be able to happen. CSP style programming always seemed
to me a practical implementation of that. The old saying "a picture
paints a thousand words" comes to mind.

When you look at grid computing, both data and control have to flow
around the grid. Once you think of things flowing around, CSP seems
natural.

I am not a computer scientist, but an engineer. This may lead you to
another point - who are going to be the main users of grid computing? In
my view, engineers and scientists - all of whom look at the world in
terms of processes and flows. CSP is sort of like what they know and can
relate to, and most people look at things by comparing them to what they
already know (does this go back to primitive survival instincts - is
that shape similar to a sabre-tooth tiger and if so, we assume that it
must be a threat). 

Tony Gore

email  tony@xxxxxxxxxxxx (alternative if problems
tonygore@xxxxxxxxxxxxxx)
tel +44-1278-761001  FAX +44-1278-760006  GSM +44-7768-598570
URL: www.aspen.uk.com
Aspen Enterprises Limited
Registered in England and Wales no. 3055963 Reg.Office Aspen House,
Burton Row, Brent Knoll, Somerset TA9 4BW.  UK


-----Original Message-----
From: owner-occam-com@xxxxxxxxxx [mailto:owner-occam-com@xxxxxxxxxx] On
Behalf Of Koehne Kai
Sent: 21 September 2005 09:47
To: occam-com@xxxxxxxxxx
Subject: OO vs. CSP - Papers, Arguments?

Hi,

I am just starting to work on my master thesis that aims to extend Occam
to become a useful coordination language for Grid Computing. I already
read a lot about CSP, Occam and diverse extensions of it. However, I
think that I am still missing answers to an important question: What are
the main advantages/disadvantages of the CSP approach in contrast to
concurrent object oriented aproaches?

My perception is that CSP just feels more "natural" when it comes to
concurrent programming, but I am sure that there are a lot more sound
and sophisticated opinions on this topic 'out there'. The only reasoning
I am aware of is in a presentation of Peter Welch called "Communicating
Processes, Components and Scaleable Systems" where he states that OO is
not providing "real" data encapsulation. I would be very grateful if you
could provide me hints on further comparisons ...

Regards and thanks in advance,

Kai Koehne
Hasso-Plattner-Institute
University of Potsdam, Germany