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

Re: a few questions

Hi Peter; thanks for adding me to the java-threads list!

I thought I'd start off with a quick OO apologia :-)

> In designing large occam/JCSP/CCSP systems, I've never used UML.  

In designing large concurrent, parallel and/or distributed OO systems,
I've rarely found UML diagrams particularly useful either.
Practically no one else I know who does this uses them much either.
At least not the UML surrounding dynamics. The statics (class diagrams
etc) are very handy though.

OO is very far from a unified methodology.  Probably the majority of
people working in concurrent/parallel/distributed OO started off in
the 80s as either Liskov-style "abstractionists" or as Hewitt-style
"active-objectists", both of which are about as far from the kind of
OO you see in commercial application development as is CSP. But the
more central OO notions of encapsulation, messaging, etc., still
somehow keep these different OO communities loosely communicating and
evolving, which is all for the good. For example I've learned to
appreciate the value of some cool OO GUI etc tricks (for which UML
diagrams are more helpful), and sometimes even use them.

> I want to understand an object in isolation
> and I can't.

Open systems (those with dynamic loading, estensible classes,
dynamically created threads etc) are challenging because you don't
always know the nature and number of all the participants.  You could
refuse to build such things, but if you did, someone not as smart as
you would try instead, and screw it up even worse! 

Doug Lea, Computer Science Department, SUNY Oswego, Oswego, NY 13126 USA
dl@xxxxxxxxxxxxx 315-341-2688 FAX:315-341-5424 http://gee.cs.oswego.edu/