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

Re: CSP/JCSP Tutorial at PDPTA 2001

Dr. Welch,

I just presented a brief trip report of the PDPTA conference, with emphasis
on your JCSP tutorial material (cut portions out of your slides) to the
software engineering research group at CMU.  They've raised some questions
which I, due to the lack of thorough understanding of the JCSP materials,
was not entirely sure or could not answer.  I direct them to you, and
perhaps you can provide answers or pointers to references that might answer
those questions.

1.  There does not appear to be support for internal choice?  Why not?  Was
it a decision to remove determinism?
2.  Are there internal mechanisms for ensuring that parallel processes are
indeed parallel, and remove processes that aren't?  Put another way,
something like MS Word may easily have 500 GUI objects, would they all be
separate parallel processes (hence threads)?
	My thoughts were that non-parallel processes wouldn't be in sync
	with any of the other processes, and would therefore terminate
	naturally, but this doesn't answer the rephrased question.
3.  How does the garbage collector, which runs in a separate thread,
interact with the objects in the processes and the objects themselves.
	My thoughts were that garbage collection worked the same way as
	in regular Java programs.  Or is there more to it?
4.  One of your concerns about Java Monitors is that the thread model is not
a thread-per-object model.  On the other hand, each process has its own
thread.  One collegue indicated that there is now a CORBA-supporting Java
that adheres to the thread-per-object model.  How would that affect JCSP?
Or how would JCSP be different then?

Thanks for your time.

Owen Cheng